SQL Server中通過擴(kuò)展存儲過程實現(xiàn)數(shù)據(jù)庫的遠(yuǎn)程備份與恢復(fù)
更新時間:2012年05月11日 00:17:13 作者:
SQL Server中通過擴(kuò)展存儲過程實現(xiàn)數(shù)據(jù)庫的遠(yuǎn)程備份與恢復(fù)實現(xiàn)方法,需要的朋友可以參考下
本文通過實例解析了 SQL Server 數(shù)據(jù)庫擴(kuò)展存儲過程,實現(xiàn)遠(yuǎn)程備份與恢復(fù)的方法和步驟
實例說明:
環(huán)境:win2k+sqlserver 2K+查詢分析器
SQL SERVER服務(wù)實例名稱:mainserver
需要備份的數(shù)據(jù)庫名稱: msdb
本地機(jī)器名稱(Client端):david
本地用戶:zf 密碼:123
本地域名:domain
本地提供備份需求的文件夾:e: est
第一步: 建立共享文件夾
在程序代碼中調(diào)用(或者CMD窗口) net share test=e: est
或者用NetShareAdd這個API
簡要說明:
net share: 是WINDOWS內(nèi)部的網(wǎng)絡(luò)命令。
作用:建立本地的共享資源,顯示當(dāng)前計算機(jī)的共享資源信息。
語法:參見 net share /?
第二步: 建立共享信用關(guān)系
master..xp_cmdshell 'net use \david est 123 /user:domainzf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴(kuò)展存儲過程。
作用,以操作系統(tǒng)命令行解釋器的方式執(zhí)行給定的命令字符串,
并以文本行方式返回任何輸出。
語法:參見SQLSERVER聯(lián)機(jī)幫助
2:net use: 是WINDOWS內(nèi)部的網(wǎng)絡(luò)命令。
作用,將計算機(jī)與共享資源連接或斷開,或者顯示關(guān)于計算機(jī)
連接的信息。該命令還控制持久網(wǎng)絡(luò)連接。
語法:參見 net use /?
第三步:備份數(shù)據(jù)庫
backup database msdb to disk='\david estmsdb.bak'
這個不需要說明吧,語法參見SQLSERVER聯(lián)機(jī)幫助
第四步: 刪除共享文件夾
在程序代碼中調(diào)用(或者CMD窗口) net share test /delete
或者用NetShareDel這個API
結(jié)果:
已處理 1376 頁,這些頁屬于數(shù)據(jù)庫 'msdb' 的文件 'MSDBData'(位于文件 1 上)。
已處理 1 頁,這些頁屬于數(shù)據(jù)庫 'msdb' 的文件 'MSDBLog'(位于文件 1 上)。
BACKUP DATABASE 操作成功地處理了 1377 頁,花費了 3.653 秒(3.086 MB/秒)。
這樣mainserver服務(wù)器上的msdb就備份到了david機(jī)器的E: estmsdb.bak文件了,使用起來很簡單吧?恢復(fù)數(shù)據(jù)庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='\david estmsdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)
備注:xp_cmdshell 這個擴(kuò)展存儲過程只能SA級別的用戶調(diào)用,而且是SQL Server的安全隱患之一,許多DBA都喜歡將其刪除或者禁用,所以開發(fā)人員使用時要倍加小心哦。
實例說明:
環(huán)境:win2k+sqlserver 2K+查詢分析器
SQL SERVER服務(wù)實例名稱:mainserver
需要備份的數(shù)據(jù)庫名稱: msdb
本地機(jī)器名稱(Client端):david
本地用戶:zf 密碼:123
本地域名:domain
本地提供備份需求的文件夾:e: est
第一步: 建立共享文件夾
在程序代碼中調(diào)用(或者CMD窗口) net share test=e: est
或者用NetShareAdd這個API
簡要說明:
net share: 是WINDOWS內(nèi)部的網(wǎng)絡(luò)命令。
作用:建立本地的共享資源,顯示當(dāng)前計算機(jī)的共享資源信息。
語法:參見 net share /?
第二步: 建立共享信用關(guān)系
master..xp_cmdshell 'net use \david est 123 /user:domainzf'
簡要說明:
1:xp_cmdshell :是SQLSERVER的擴(kuò)展存儲過程。
作用,以操作系統(tǒng)命令行解釋器的方式執(zhí)行給定的命令字符串,
并以文本行方式返回任何輸出。
語法:參見SQLSERVER聯(lián)機(jī)幫助
2:net use: 是WINDOWS內(nèi)部的網(wǎng)絡(luò)命令。
作用,將計算機(jī)與共享資源連接或斷開,或者顯示關(guān)于計算機(jī)
連接的信息。該命令還控制持久網(wǎng)絡(luò)連接。
語法:參見 net use /?
第三步:備份數(shù)據(jù)庫
backup database msdb to disk='\david estmsdb.bak'
這個不需要說明吧,語法參見SQLSERVER聯(lián)機(jī)幫助
第四步: 刪除共享文件夾
在程序代碼中調(diào)用(或者CMD窗口) net share test /delete
或者用NetShareDel這個API
結(jié)果:
已處理 1376 頁,這些頁屬于數(shù)據(jù)庫 'msdb' 的文件 'MSDBData'(位于文件 1 上)。
已處理 1 頁,這些頁屬于數(shù)據(jù)庫 'msdb' 的文件 'MSDBLog'(位于文件 1 上)。
BACKUP DATABASE 操作成功地處理了 1377 頁,花費了 3.653 秒(3.086 MB/秒)。
這樣mainserver服務(wù)器上的msdb就備份到了david機(jī)器的E: estmsdb.bak文件了,使用起來很簡單吧?恢復(fù)數(shù)據(jù)庫操作也是一樣,只要將第三個步驟的語句改為'restore database msdb from disk='\david estmsdb.bak'就可以啦。。你看完了也可以試試呀?!(最簡單的測試工具查詢分析器+CMD窗口)
備注:xp_cmdshell 這個擴(kuò)展存儲過程只能SA級別的用戶調(diào)用,而且是SQL Server的安全隱患之一,許多DBA都喜歡將其刪除或者禁用,所以開發(fā)人員使用時要倍加小心哦。
您可能感興趣的文章:
- sqlserver 數(shù)據(jù)庫日志備份和恢復(fù)步驟
- SQL server 2008 數(shù)據(jù)安全(備份和恢復(fù)數(shù)據(jù)庫)
- sqlserver2005 master與msdb數(shù)據(jù)庫備份恢復(fù)過程
- sql server中通過查詢分析器實現(xiàn)數(shù)據(jù)庫的備份與恢復(fù)方法分享
- 數(shù)據(jù)庫備份 SQLServer的備份和災(zāi)難恢復(fù)
- 快速實現(xiàn)SQL Server數(shù)據(jù)庫恢復(fù)備份
- SQL?Server數(shù)據(jù)庫備份和恢復(fù)數(shù)據(jù)庫的全過程
相關(guān)文章
SQLSERVER查看數(shù)據(jù)庫日志方法與語句示例代碼(已親測)
在數(shù)據(jù)庫使用很久后日志文件會累計的越來越大,如果硬盤空間不足可能會導(dǎo)致宕機(jī),下面這篇文章主要給大家介紹了關(guān)于SQLSERVER查看數(shù)據(jù)庫日志方法與語句的相關(guān)資料,需要的朋友可以參考下2023-03-03SQL Server誤區(qū)30日談 第17天 有關(guān)頁校驗和的誤區(qū)
從舊的實例升級上來的數(shù)據(jù)庫不會自動開啟頁校驗和,除非你顯式使用ALTER DATABASE databasename SET PAGE_VERIFY CHECKSUM進(jìn)行開啟。而在SQL Server 2005或2008新建的數(shù)據(jù)庫頁校驗和是默認(rèn)開啟的2013-01-01詳解SQL Server 中 JSON_MODIFY 的使用
SQL Server 從 2016 開始支持了一些 JSON操作,最近的項目里也是好多地方字段直接存成了 JSON,需要了解一下怎么在SQL Server 中操作 JSON.這篇文章主要介紹了SQL Server 中 JSON_MODIFY 的使用,需要的朋友可以參考下2019-11-11SQL Server 2016里的sys.dm_exec_input_buffer的問題
這篇文章主要介紹了SQL Server 2016里的sys.dm_exec_input_buffer的相關(guān)資料,需要的朋友可以參考下2016-04-04sql server代理中作業(yè)執(zhí)行SSIS包失敗的解決辦法
這篇文章主要介紹了sql server代理中作業(yè)執(zhí)行SSIS包失敗的解決辦法,sql2005如何用dtexec運行ssis(DTS)包?本文講的非常詳細(xì),小伙伴們一起學(xué)習(xí)吧2015-09-09