Sql-Server-2008
計劃備份錯誤
我正在嘗試執行以下操作。我有大約 50 個數據庫和一個充當備份機器的網路 NAS。我製作了一個包含 50 行的 sql 腳本(比如說 backup.sql),每行都寫著“BACKUP DATABASE ABC TO DISK=‘Y:\ABC.bak’”。另外,我有一個帶有單個命令“sqlcmd -i backup.sql -o logs.txt”的 .bat 文件。當我執行它時,我會在日誌中顯示一條消息:
HResult 0x2,級別 16,狀態 1 命名管道提供程序:無法打開與 SQL Server 的連接
$$ 2 $$. Sqlcmd:錯誤:Microsoft SQL Native Client:建立與伺服器的連接時發生錯誤。連接到 SQL Server 2005 時,此故障可能是由於在預設設置下 SQL Server 不允許遠端連接。 Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired。
我不得不提到我想從 sql server 2008 進行備份。有什麼想法嗎?提前致謝。
為什麼要使用批處理文件來備份數據庫?為什麼不將程式碼放在 SQL 代理作業中並啟動備份呢?
預設情況下,sqlcmd 使用集成身份驗證連接到本地電腦。您需要指定伺服器選項並登錄到您的 sqlcmd 呼叫。所以你需要類似的東西:
sqlcmd -i backup.sql -o logs.txt -S ComputerA
或者將 backup.sql 腳本更改為使用 sqlcmd 模式並使用 :connect 命令更改伺服器。
請參閱 MSDN 上的詳細資訊: