2011-11-08 43 views
0

我有一個服務器上的數據庫,我需要複製到另一臺服務器。我可以使用導出數據任務手動執行此操作,這對於一次性導出來說是很好的,但是我希望加快這一過程,因爲它將會重複。自動導出數據任務

該數據庫將始終包含相同的表,我只需要得到這個數據庫的副本與它的表及其數據從一臺服務器到另一個。

我想建立某種形式的可重複使用的工具,它允許您指定的源和目標數據庫服務器,然後複製從一個到另一個這個特定的數據庫。這可能嗎?

回答

0

SQL 2005中的數據導出任務和更高版本使用SQL Server集成服務(SSIS)的引擎蓋下。您可以保存您已經使用的軟件包,並按計劃或按需運行它。您還可以使用商業智能開發工作室(BIDS)編輯它(保存後)。

在導出嚮導(位於「保存並運行包」屏幕)末尾,可以勾選「保存SSIS包」複選框以將包存儲在SQL服務器中或文件系統上。文件系統可能更簡單。

一旦擁有了該軟件包,就可以使用dtexec工具從命令行執行它,或者使用Execute SSIS任務從SQL代理作業執行它。

SSIS太大主題在這裏充分覆蓋 - 有像樣的教程SQL服務器書內網上,如果你需要更多的細節 - 或者,作爲另一SO問題,如果你會被卡住。

+0

我試圖做到這一點,保存SSIS包托特他的文件系統。無論什麼安全設置,保存此文件時,我選擇,當我把它添加到SQL代理工作,開始這份工作,我得到一個錯誤: –

+0

說明:無法裝入包中,因爲包裝的XML沒有一個有效的XML格式。將發佈特定的XML解析器錯誤。結束錯誤錯誤:代碼:0xC0011002源:說明:由於錯誤0x80070005「訪問被拒絕」而無法打開程序包文件「thefile.dtsx」。加載包時會發生這種情況,並且無法將文件正確打開或加載到XML文檔中。這可能是因爲在調用LoadPackage時指定了錯誤的文件名,或者指定了XML文件並且格式不正確。結束錯誤步驟失敗。 –

+0

@ shaun.breach - 聽起來SQL代理服務帳戶沒有權限訪問您保存文件的位置。 - 檢查SQL代理正在運行的帳戶,然後嘗試將文件移動到代理可絕對訪問的位置 - 可能創建一個新文件夾並授予其特定權限 –