Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Fatal error 605: при выборке во временную таблицу  [new]
dred_d
Member

Откуда:
Сообщений: 25
Здравствуйте!

Ошибка (см. по ссылке):

https://docs.google.com/file/d/0B7DNyI89NaNpZlViX0JOVUpDYUk/edit?usp=sharing

возникает через раз фактически в буквальном смысле: первый раз при запуске хранимки ошибка возникает, второй раз тоже иногда может возникнуть, а третий раз, как правило, уже ошибка не повторяется и хранимка отрабатывает полностью (иногда хранимка отрабатывает полностью сразу). Перед ошибкой предпринимаются такие действия:
1. Запуск из Delphi хранимой процедуры, которая через временные таблицы наполняет данными постоянные таблицы.
2. Выборка из главной книги во временную таблицу #GK_tmp ( 600 000 строчек ).
3. Если ошибка возникает, то именно на дополнительной вставке от 0 до где-то 100 записей в эту же временную таблицу #GK_tmp (текст вставки привел ниже).
4. Какие соображения о возможных причинах:
4.1. Вставка текста на украинском языке. Вряд ли, поскольку ошибка тогда проявлялась бы на одних и тех же выборках постоянно, а не через раз.
4.2. Запрос на вставку во временную таблицу #GK_tmp содержит в условии Where подзапрос с этой же временной таблицы #GK_tmp. Возможно, где-то здесь и клинит через раз, но тоже, скорее всего, вряд ли.
4.3. Непорядок с самим временным пространством на сервере, его выделением под текущие задачи и распределением. К п. 4.3. наиболее склоняюсь.
Прошу подсобить с проблемой.

часть хранимки, на которой возникает ошибка (установлено через логгирование выполнения хранимки):

insert into #GK_tmp
select 0 as GLDOC, -- not Null c F0911
'' as GLDCT, -- not Null c F0911
0 as Kredit,
0 as Debet,
null as DOC_ORIG,
null as DCT_ORIG,
DC.jul as DGJ_JUL_ORIG, -- дату подставим начала периода, поскольку по первой записи заполняется шапка отчета в Delphi
null as DGJ_ORIG,
null as DGJ_GK,
null as D_DGJ_ORIG,
null as M_DGJ_ORIG,
null as Y_DGJ_ORIG,
0 as STAM_ORIG,
null as RMK_ORIG,
null as DCT_DRDL_ORIG,
'НЕМАЄ ОБОРОТІВ ЗА ПЕРІОД' as R018_DRDL_ORIG, -- название категории: в отчете используем это поле для отображения информации, если по периоду нет оборотов
null as CO_ABALPH,
null as GLICU,
null as GLICUT,
null as GMR018,
null as GMOBJ,
null as GLAA,
0 as GLDGJ, -- not Null c F0911
Saldo.GLAN8 as GLAN8,
AB.ABALPH,
null as GLCRCD,
'' as GLLT, -- not Null c F0911 + !важный момент, поскольку именно по этому признаку Delphi понимает, что по периоду нет оборотов
Saldo.Saldo_begin as Saldo_begin,
cast(null as numeric(18,2)) as Saldo_end,
cast(1 as integer) as ShowRecord,
null as Debet_AN8,
null as Kredit_AN8,
null as RMK_AN8
from #AN8_tmp AN8
inner join #Saldo_tmp Saldo on Saldo.GLAN8 = AN8.number
inner join PRODDTA.F0101 AB (nolock) on AB.ABAN8 = AN8.number
inner join DatConv DC on DC.Dat = @dateFrom
where AN8.number not in (select GLAN8 from #GK_tmp group by GLAN8)

--
MS SQL SERVER 2008R2 + Delphi 7
14 мар 13, 11:13    [14046343]     Ответить | Цитировать Сообщить модератору
 Re: Fatal error 605: при выборке во временную таблицу  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
На картинке совсем ничего не видно. Приведите результат SELECT @@version.
14 мар 13, 11:16    [14046372]     Ответить | Цитировать Сообщить модератору
 Re: Fatal error 605: при выборке во временную таблицу  [new]
dred_d
Member

Откуда:
Сообщений: 25
ошибка пользователя:
http://s49.radikal.ru/i125/1303/12/20cd7298a7ac.jpg

ошибка с логов сервера:
http://s019.radikal.ru/i623/1303/46/72c8f278e04b.jpg

SELECT @@version:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
14 мар 13, 11:55    [14046631]     Ответить | Цитировать Сообщить модератору
 Re: Fatal error 605: при выборке во временную таблицу  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
dred_d,

Пачить сервер надо. А так же http://support.microsoft.com/kb/960770/en
14 мар 13, 13:31    [14047368]     Ответить | Цитировать Сообщить модератору
 Re: Fatal error 605: при выборке во временную таблицу  [new]
dred_d
Member

Откуда:
Сообщений: 25
pkarklin
Пачить сервер надо. А так же http://support.microsoft.com/kb/960770/en


то, что надо, спасибо. Поправим для начала в хранимке.
14 мар 13, 14:48    [14047882]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить