① sqlserver怎麼備份到網路
最近在看聯機從書,在看到sp_admpdevice時無意間看到如下內容:
"
[@physicalname =] 'physical_name'
備份設備的物理名稱。物理名稱必須遵照操作系統文件名稱的規則或者網路設備的通用命名規則,並且必須包括完整的路徑。physical_name 的數據類型為 nvarchar(260),沒有默認值,並且不能為 NULL。
當創建遠程網路位置上的備份設備時,請確保在其下啟動 SQL Server 的名稱對遠程的計算機有適當的寫入能力。
B. 添加網路磁碟備份設備
下面的示例顯示一個遠程磁碟備份設備。在其下啟動 SQL Server 的名稱必須對該遠程文件擁有許可權。
USE master
EXEC sp_admpdevice 'disk', 'networkdevice', '\\servername\sharename\path\filename.ext'
以前曾看到過有人問,怎麼樣才能將數據備份到網路上,一直沒有答案,然後我就試驗了一把.
在伺服器上建了一個目錄,然後確保共享並有許可權,如果需要建在共享目錄下的目錄下,那還得保證用戶有許可權
當然,SQLSERVER系統啟動早於登錄,一般用戶會在登錄中使用本地系統賬戶,我想在登錄到系統之前一直是
administrator用戶模擬,因此,我將登錄的賬戶改為了網路用戶,因為我公司有域,因此我將域用戶設置為本機
的系統管理員,以確保該服務能啟動.
接下來更簡單了:
sp_admpdevice 'DISK','NetWork','\\server\d$\databak\xuzh.bak'
go
backup database xuzh to network
得到的結果如下:
已處理 96 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhP01'(位於文件 2 上)。
已處理 16 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhP02'(位於文件 2 上)。
已處理 16 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhS01'(位於文件 2 上)。
已處理 8 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzhS02'(位於文件 2 上)。
已處理 1 頁,這些頁屬於資料庫 'xuzh' 的文件 'xuzh_Log'(位於文件 2 上)。
BACKUP DATABASE 操作成功地處理了 137 頁,花費了 0.516 秒(2.161 MB/秒)。
成功完成網路備份
另外,----------------------
實例說明:
環境:win2k+sqlserver 2K+查詢分析器
SQLSERVER服務實例名稱:mainserver
需要備份的資料庫名稱: msdb
本地機器名稱(Client端):david
本地用戶:zf 密碼:123
本地域名:domain
本地提供備份需求的文件夾:e:\test
第一步: 建立共享文件夾
在程序代碼中調用(或者CMD窗口) net share test=e:\test
或者用NetShareAdd這個API
簡要說明:
net share : 是WINDOWS內部的網路命令。
作用:建立本地的共享資源,顯示當前計算機的共享資源信息。
語法:參見 net share /?
第二步: 建立共享信用關系
master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴展存儲過程。
作用,以操作系統命令行解釋器的方式執行給定的命令字元串,
並以文本行方式返回任何輸出。
語法:參見SQLSERVER聯機幫助
2:net use : 是WINDOWS內部的網路命令。
作用,將計算機與共享資源連接或斷開,或者顯示關於計算機
連接的信息。該命令還控制持久網路連接。
語法:參見 net use /?
第三步:備份資料庫
backup database msdb to disk='\\david\test\msdb.bak'
這個不需要說明吧,語法參見SQLSERVER聯機幫助
第四步: 刪除共享文件夾
在程序代碼中調用(或者CMD窗口) net share test /delete
或者用NetShareDel這個API
結果:
已處理 1376 頁,這些頁屬於資料庫 'msdb' 的文件 'MSDBData'(位於文件 1 上)。
已處理 1 頁,這些頁屬於資料庫 'msdb' 的文件 'MSDBLog'(位於文件 1 上)。
BACKUP DATABASE 操作成功地處理了 1377 頁,花費了 3.653 秒(3.086 MB/秒)。
這樣mainserver伺服器上的msdb就備份到了david機器的E:\test\msdb.bak文件了,使用起來很簡單吧?恢復資料庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='\\david\test\msdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)
備註:xp_cmdshell 這個擴展存儲過程只能SA級別的用戶調用,而且是SQLSERVER的安全隱患之一,許多DBA都喜歡將其刪除或者禁用,所以開發人員使用時要倍加小心哦。
文章中的例子只是簡要的說明了應如何利用擴展存儲過程實現遠程備份與恢復,沒有涉及安全以及其他方面的考慮,希望讀者在代碼中自行完善。
② sql server 2008 備份資料庫至網路磁碟的sql語句怎麼寫
網路磁碟是什麼概念?是以雙反斜杠形式開頭的共享嗎?比如\\servername\bakcup
如果是的話跟本地磁碟沒什麼兩樣
簡單的備份語句是
backup database [資料庫名] to disk='\\servername\backup\databasebackup.bak'
注意SQL Server的啟動賬號一定要具有訪問這個共享目錄的許可權。
③ SQL server 2005 備份網路路徑方式
這是SQL Server的啟動賬號沒有訪問網路路徑的許可權,很有可能SQL Server的啟動賬號是本地系統或者網路服務。建議在SQL Server伺服器和備份機上創建相同名稱和密碼的Windows用戶,並且都給管理員許可權,之後設置SQL Server的啟動賬號為這個新創建的賬號。雖然你在SQL Server伺服器上可以訪問網路路徑,但是那是你登錄的Windows賬號的許可權訪問的,並不表示SQL Server啟動賬號也有許可權訪問。
④ sql server2008數據備份無法用區域網內的網路路徑,也就是說不能備份到其他電腦上
進入「管理工具-->服務-->MSSQLSERVER-->登錄」將啟動服務的本地系統帳戶修改為本機管理員,重新啟動服務
⑤ 如何將sql2000的資料庫備份到區域網其他的機子上
SQLSERVER服務實例名稱:mainserver 需要備份的資料庫名稱: msdb 本地機器名稱(Client端):david 本地用戶:zf 密碼:123 本地域名:domain 本地提供備份需求的文件夾:e:\test 第一步: 建立共享文件夾 在程序代碼中調用(或者CMD窗口) net share test=e:\test 或者用NetShareAdd這個API簡要說明:net share : 是WINDOWS內部的網路命令。 作用:建立本地的共享資源,顯示當前計算機的共享資源信息。 第二步: 建立共享信用關系 master..xp_cmdshell 'net use \\david\test 123 /user:domain\zf'簡要說明:1:xp_cmdshell :是SQLSERVER的擴展存儲過程。 作用,以操作系統命令行解釋器的方式執行給定的命令字元串, 並以文本行方式返回任何輸出。 語法:參見SQLSERVER聯機幫助 2:net use : 是WINDOWS內部的網路命令。 作用,將計算機與共享資源連接或斷開,或者顯示關於計算機 連接的信息。該命令還控制持久網路連接。 第三步:備份資料庫 backup database msdb to disk='\\david\test\msdb.bak' 這個不需要說明吧,語法參見SQLSERVER聯機幫助 第四步: 刪除共享文件夾 在程序代碼中調用(或者CMD窗口) net share test /delete 或者用NetShareDel這個API結果:已處理 1376 頁,這些頁屬於資料庫 'msdb' 的文件 'MSDBData'(位於文件 1 上)。 已處理 1 頁,這些頁屬於資料庫 'msdb' 的文件 'MSDBLog'(位於文件 1 上)。 BACKUP DATABASE 操作成功地處理了 1377 頁,花費了 3.653 秒(3.086 MB/秒)。 這樣mainserver伺服器上的msdb就備份到了david機器的E:\test\msdb.bak文件了,使用起來很簡單吧?恢復資料庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='\\david\test\msdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)
⑥ 如何把sql2000上的資料庫自動定期備份到局網的另一台電腦上
你可以用第三方的軟體來備份MDB文件也可以用SQL自帶的備份功能,具體的可以查看SQL裡面的幫助
⑦ SQL備份到網路路徑
先在資源管理器地址欄中輸入\\172.168.1.X\backup\g2sXql\XXXX
如果有用戶名,密碼,則需輸入。
然後再執行備份。
⑧ 請教SQL2005備份到網路硬碟怎麼弄
【轉發】 --SQL如何備份到異機 寫成存儲過程,建立作業定時備份~~~ --在sql中映射一下就可以了 exec master..xp_cmdshell 'net use z: \\yi\D$ "密碼" /user:yi\administrator' /*--說明: exec master..xp_cmdshell 'net use z: \\xz\c$ "...
⑨ 如何將SQL資料庫備份到網路共享
定期備份SQL資料庫是必須的。我們已經覆蓋的方式就可以輕松備份您的所有SQL Server資料庫到本地硬碟中,但這並不能防止驅動器和/或系統故障。作為針對此類災難的額外保護層,您可以在網路共享上復制或直接創建備份。
在本地備份,然後復制到網路共享
完成此任務的首選和最直接的方法是簡單地創建資料庫的本地備份,然後將相應的備份文件復制到網路共享。您可以通過創建如下所示的批處理腳本來完成此操作:
SET LocalFolder = C:Program Files Microsoft SQL ServerMSSQL.1MSSQLBackup
SqlCmd -E -Q「備份資料庫MyDB到磁碟=%LocalFolder%MyDB.bak」
XCopy「%LocalFolder%MyDB.bak」「 192.168.16.55BackupDatabases」/ Z / V
DEL「%LocalFolder%MyDB.bak」
此腳本執行以下操作(逐行):
將變數設置為本地SQL備份目錄。
創建MyDB的SQL備份(使用Windows身份驗證)到本地SQL備份目錄。
將本地備份文件復制到網路共享。
刪除本地備份文件。
- 如果您使用備用帳戶運行SQL Server實例,請務必記住這些要點。如果採取適當的預防措施,則這些不顯示阻止程序,則應考慮添加額外的硬碟驅動器空間,然後實施本地備份和復制,以便可以使用本地帳戶運行SQL服務。
同樣,這是首選方法,因為它的工作原理和備份失敗的可能性是最小的,因為備份是在本地磁碟上創建。但是,如果沒有足夠的磁碟空間來存儲備份文件的本地副本,則此操作將失敗。在這種情況下,您需要添加額外的磁碟空間或直接備份到網路共享。
直接備份到網路共享
通常,當您嘗試使用以下命令直接創建備份到網路共享時:
SqlCmd -E -Q「備份資料庫MyDB到磁碟= 192.168.16.55BackupDatabasesMyDB.bak」
你很可能會得到一個錯誤的行:
消息3201,級別16,狀態1,伺服器JF,行1
無法打開備份設備 192.168.16.55BackupDatabasesMyDB.bak。操作系統錯誤5(訪問被拒絕。)。
消息3013,級別16,狀態1,伺服器JF,第1行
BACKUP DATABASE異常終止。
盡管使用Windows身份驗證(-E開關)和Windows帳戶作為通過Windows資源管理器訪問和復制文件到共享的能力運行SQL備份命令,仍會出現此錯誤。
此操作失敗的原因是SQL命令在SQL Server服務運行的帳戶的邊界內執行。當您在計算機上查看服務列表時,很可能您將看到運行為(登錄為)列的SQL Server服務本地系統或網路服務,它們是沒有網路訪問許可權的系統帳戶。
在我們的系統上,網路共享命令的備份失敗,因為我們有SQL Server服務作為本地系統運行,再也無法獲得任何網路資源。
為了允許SQL直接備份到網路共享,我們必須將SQL Server服務作為可訪問網路資源的本地帳戶運行。
編輯SQL Server服務的屬性,並在「登錄」選項卡上將服務配置為作為具有網路訪問許可權的備用帳戶運行。
單擊「確定」後,您將收到一條提示,指示在重新啟動服務之後,設置才會生效。
重新啟動服務。
服務列表現在應顯示SQL Server服務正在作為您配置的帳戶運行。
現在當您運行命令直接備份到網路共享:
SqlCmd -E -Q「備份資料庫MyDB到磁碟= 192.168.16.55BackupDatabasesMyDB.bak」
您應該會看到一個成功消息:
處理資料庫MyDB的152頁,文件1上的文件MyDB。
為資料庫MyDB處理2頁,文件1上的文件MyDB_log。
BACKUP DATABASE在0.503秒(2.493 MB /秒)中成功處理了154頁。
使用備份文件現在在網路共享目錄:
網路共享注意事項請務必注意,備份命令希望能夠直接連接到網路共享,而不會提示您輸入憑據。您配置要運行的SQL Server服務的帳戶必須與網路共享具有可信連接,其中相應的憑據允許訪問,否則可能會發生以下錯誤:
消息3201,級別16,狀態1,伺服器JF,行1
無法打開備份設備 192.168.16.55BackupDatabasesMyDB.bak。操作系統錯誤1326(登錄失敗:未知用戶名或密碼錯誤。)。
消息3013,級別16,狀態1,伺服器JF,第1行
BACKUP DATABASE異常終止。
此錯誤表示網路共享不接受帳戶的用戶名和密碼,並且命令失敗。
另一個要記住的問題是備份直接執行到網路資源,因此網路連接中的任何打嗝可能會導致您的備份失敗。因此,您只應該備份到穩定的網路位置(即可能不是VPN)。
安全隱患
如前所述,使用在本地備份然後復制到網路共享的方法是首選,因為它允許您將SQL服務作為僅具有本地系統訪問許可權的帳戶運行。
通過將服務作為備用帳戶運行,您打開了潛在的安全問題的大門。例如,惡意SQL腳本可以在備用帳戶下執行並攻擊網路資源。此外,對相應帳戶(密碼更改/到期或帳戶的刪除/禁用)的任何更改將導致SQL Server服務無法啟動。
⑩ sql server 2000 怎麼實現把網路驅動器 備份到 本地磁碟
。你是想備份資料庫文件吧。sql里有備份啊。如果想備份網路硬碟。先把網路驅動器共享。在本地我的電腦右鍵,映射網路驅動器。找到網路硬碟後就操作就行了。