У меня есть клиентское приложение, которое создает временную таблицу, выполняет массовую вставку в временную таблицу, а затем выполняет некоторый SQL с использованием этой таблицы перед ее удалением.
Псевдо-код:
open connection
begin transaction
CREATE TABLE #Temp ([Id] int NOT NULL)
bulk insert 500 rows into #Temp
UPDATE [OtherTable] SET [Status]=0 WHERE [Id] IN (SELECT [Id] FROM #Temp) AND [Group]=1
DELETE FROM #Temp WHERE [Id] IN (SELECT [Id] FROM [OtherTable] WHERE [Group]=1)
INSERT INTO [OtherTable] ([Group], [Id]) SELECT 1 as [Group], [DocIden] FROM #Temp
DROP TABLE #Temp
COMMIT TRANSACTION
CLOSE CONNECTION
Это происходит с ошибкой в операторе DROP:
Невозможно удалить таблицу '#Temp', поскольку она не существует или у вас нет разрешения.
Я не могу себе представить, как этот сбой мог произойти, если раньше ничего не происходило, но я не вижу других сбоев, происходящих до этого.
Есть ли что-то, что я пропускаю, что может быть причиной этого?