我有一個SSIS包運行存儲過程導出到excel文件。一切都像冠軍一樣工作,直到我需要對存儲過程重寫一下。 proc現在需要大約1分鐘的時間運行,並且導出的列是不同的,所以我的問題如下:SQL超時和SSIS
1)SSIS抱怨時,我打的預覽按鈕
2「命令返回沒有列信息」),它的時間約30秒後出來。
我做了什麼。
試圖清理/優化查詢。這有點幫助,但它仍然在做一些主要的計算,並且它在SSMS中運行得很好。
將超時值更改爲90秒。似乎沒有幫助。也許這裏有人可以嗎?
感謝,
我有一個SSIS包運行存儲過程導出到excel文件。一切都像冠軍一樣工作,直到我需要對存儲過程重寫一下。 proc現在需要大約1分鐘的時間運行,並且導出的列是不同的,所以我的問題如下:SQL超時和SSIS
1)SSIS抱怨時,我打的預覽按鈕
2「命令返回沒有列信息」),它的時間約30秒後出來。
我做了什麼。
試圖清理/優化查詢。這有點幫助,但它仍然在做一些主要的計算,並且它在SSMS中運行得很好。
將超時值更改爲90秒。似乎沒有幫助。也許這裏有人可以嗎?
感謝,
發現了這個幫助巨大的小珍聞。 No Column Names
基本上所有您需要做的就是將以下內容添加到SSIS中的SQL查詢文本中。
SET FMTONLY OFF
SET NOCOUNT ON
只有現在的問題是它運行慢如糖蜜:-(
編輯:它的運行只是太他媽慢
從使用變更。 #tempTable to tempTable。在適當的drop語句中添加... arr ...
在黑暗中拍攝根據晦澀的東西,我打幾年前:當你修改的過程中,你添加第二過程的調用?這可能會擾亂SSIS確定返回數據集的能力。
至於(2),程序需要30+或90+秒才能在SSMS中運行?如果不是,你知道查詢實際上是從SSIS進入SQL嗎?可能值得啓動SQL Profiler來查看實際發送到SQL Server的內容。 [這是我發現我那隱約的事實的方式。]
雖然看起來你可能已經回答了你自己的一部分您可能會收到「由命令返回的列信息不存在」錯誤,因爲該表在嘗試驗證元數據時不存在。將表創建爲非臨時表可以解決此問題。
如果您堅持使用臨時表,則可以在數據流之前的步驟中創建臨時表。您需要將其創建爲##表並關閉連接的連接共享才能生效,但它是創建永久表的替代方法。