2016-03-01 69 views
0

我寫了這樣的代碼執行SQL任務如何表變量數據傳遞到數據流中的SSIS

Declare @tmpHistoricDriveSpace Table 
(Servername varchar(255), MachineName varchar(255), Drive char(2), FreeSpace_MB int) 
insert into @tmpHistoricDriveSpace (Drive, FreeSpace_MB) exec xp_fixeddrives 

update @tmpHistoricDriveSpace 
set Servername = convert(varchar(225), 
SERVERPROPERTY('servername')), 
MachineName = convert(varchar(225), SERVERPROPERTY('MachineName')) 

Select MachineName, Servername, Drive, Freespace_MB 
from @tmpHistoricDriveSpace 

這看起來不錯,但我無法攜帶這種結果到SSIS數據流任務,我正在使用填充到表中。

我不喜歡在master數據庫上創建臨時表或僅爲此任務創建新數據庫的想法。

任何幫助,非常感謝。

感謝

Please refer this link for previous discussion

+0

是您的目標是收集SQL Server的硬盤空間,並把它保存到中央臺?有很多方法可以做到這一點,而且你發現SISS是更加複雜的方法之一。你**有**使用'xp_fixeddrives'或者這只是你迄今爲止的工作方式?你有沒有考慮過使用WMI任務呢?試試這個例子,但寫入一個表格,而不是CSV:https://www.mssqltips.com/sqlservertip/2932/using-the-ssis-wmi-task-to-gather-system-information/ –

+0

謝謝尼克..我真的不能使用WMI出於某種原因,這並不能真正幫助我解決問題。我試圖在同一個軟件包中運行不同的流程,以便獲得的結果是同步的。就像我爲文件大小,可用空間等做的一樣。 – Prav54

+0

但臨時表是爲這個...這是他們的目的,你爲什麼不創建正常的臨時表,刪除索引,做你的東西,然後放下它 – Veljko89

回答

0

代替編寫代碼在OLE DB源直接爲什麼你不能把它寫在執行SQL任務。

感謝, Santhosh