SQL透過UNC的方式備份

最近碰到有一台SQL 2000要透過UNC的方式備份,不過發生錯誤,從作業歷程記錄裡看到這個訊息「以下列使用者的身分執行: Dotblogs\Jeff-Yeh。sqlmaint.exe 失敗。[SQLSTATE 42000] (錯誤22029). 步驟失敗」,未來不知道會不會再遇到,寫下這次的解決方式,有助加深自己的映像。

最近碰到有一台SQL 2000要透過UNC的方式備份,不過發生錯誤,從作業歷程記錄裡看到這個訊息「以下列使用者的身分執行: Dotblogs\Jeff-Yeh。sqlmaint.exe 失敗。[SQLSTATE 42000] (錯誤22029).  步驟失敗」,未來不知道會不會再遇到,寫下這次的解決方式,有助加深自己的映像。

從作業歷程記錄是看到這個訊息,但似乎只能抓個大概,再看一下SQL Server的記錄檔,就可以更清楚的知道發生什麼事了,訊息如下:

 

BackupDiskFile::CreateMedia: 備份裝置'\\Dotblogs\BackupSQL\Comm.BAK' 無法執行create。作業系統錯誤= 5(error not found)。

 

測試了一下路徑是沒有問題的,看來似乎是帳號跟目錄的關係,檢查了一下目錄共享設定,Modify / Read & Execute / List Folder Contents / Read / Write是打勾的,看來不是目錄的權限問題(沒必要開到Full Control吧).

 

原本SQL Agent服務的登入身份是用本機系統,所以失敗,改用Domain的帳號,沒想到還是失敗.看來不是SQL Agent的問題,所以又把它改回本機系統.

 

這樣目標就很明確了,MSSQLSERVER這個服務開始對我招手,把它的登入身份改為Domain\Account,問題就解決了.

 

*當然這個Domain\Account跟那個目錄權限是同一個.

 

之後搜尋到一些資訊,供參考:

HowTo: 備份到UNC 名稱使用資料庫維護精靈

PRB:無法將資料庫備份至沒有權限的網路磁碟機