Sql-Server-2008

計劃備份錯誤

  • September 12, 2011

我正在嘗試執行以下操作。我有大約 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 上的詳細資訊:

引用自:https://dba.stackexchange.com/questions/5626