元ネタ http://support.microsoft.com/kb/960770/ja

SQLSERVER2008 SP1でこの問題が起きました。
ただ再現しにくい現象で、あやうくサーバを交換するとこでした。


●問題が起きたパターン
SELECT * INTO #TEMP_A FROM ...
SELECT * INTO #TEMP_B FROM ...

INSERT INTO ... SELECT ... FROM #TEMP_A, #TEMP_B WHERE ... <-- errorになり、DBとの接続が切れる

                                                                                                                                                        • -

●回避法を参考にして修正

CREATE TABLE #TEMP_A
(
...,

ID INT IDENTITY(1,1),
PRIMARY KEY(ID)
)
CREATE TABLE #TEMP_B
(
...,

ID INT IDENTITY(1,1),
PRIMARY KEY(ID)
)

INSERT INTO #TEMP_A SELECT ... FROM ...
INSERT INTO #TEMP_B SELECT ... FROM ...

INSERT INTO ... SELECT ... FROM #TEMP_A, #TEMP_B WHERE ... <-- no error