<dl id="nj3vx"></dl>
<dl id="nj3vx"></dl>
<dl id="nj3vx"><delect id="nj3vx"></delect></dl><dl id="nj3vx"></dl>
<dl id="nj3vx"><output id="nj3vx"></output></dl>
<dl id="nj3vx"><output id="nj3vx"><delect id="nj3vx"></delect></output></dl><noframes id="nj3vx"><dl id="nj3vx"><output id="nj3vx"></output></dl>
<dl id="nj3vx"><output id="nj3vx"><font id="nj3vx"></font></output></dl>
<dl id="nj3vx"></dl>
<video id="nj3vx"></video><video id="nj3vx"></video>
<video id="nj3vx"><output id="nj3vx"><font id="nj3vx"></font></output></video>
<output id="nj3vx"><delect id="nj3vx"><meter id="nj3vx"></meter></delect></output><video id="nj3vx"></video>
<dl id="nj3vx"><output id="nj3vx"><font id="nj3vx"></font></output></dl>
<video id="nj3vx"></video>
<dl id="nj3vx"></dl>
<video id="nj3vx"></video>
<video id="nj3vx"></video>
<video id="nj3vx"><output id="nj3vx"></output></video>
<video id="nj3vx"><output id="nj3vx"></output></video>
<dl id="nj3vx"><delect id="nj3vx"></delect></dl>
<dl id="nj3vx"><delect id="nj3vx"></delect></dl>
<dl id="nj3vx"></dl>
專業聊城網站建設、豐富的網站建設制作經驗,大量客戶案例!服務熱線: 15192175820 13346228859 設為首頁|加入收藏|關于我們|聯系我們
您現在的位置:首頁 > 新聞中心 > 建站知識
sql server遠程備份和恢復
來源: | 作者:管理員 | 發布時間: 2017-5-17 | 瀏覽:83次 【關閉此頁】 【打印此文

SQLSERVER服務實例名稱:192.168.0.2
需要備份的數據庫名稱:
a
備份機器名稱(Client端):192.168.0.3
備份機用戶:zf
密碼:123
備份機域名:domain
備份機提供備份需求的文件夾:D:\sqlbak

備份數據庫

第一步: 在備份機建立共享文件夾
               在程序代碼中調用(或者CMD窗口)   net share
sqlbakup=D:\sqlbak     或者用NetShareAdd這個API
              
簡要說明:
                       net
share:是WINDOWS內部的網絡命令。
                               
作用:建立本地的共享資源,顯示當前計算機的共享資源信息。

第二步: 建立共享信用關系
              exec master..xp_cmdshell 'net use  file://192.168.0.3/sqlbak 123
/user:domain\zf'
              簡要說明:
                     1:xp_cmdshell
:是SQLSERVER的擴展存儲過程。
                             作用:以操作系統命令行解釋器的方式執行給定的命令字符串,
并以文本行方式返回任何輸出。
                            
語法:參見SQLSERVER聯機幫助
                     2:net use :
是WINDOWS內部的網絡命令。
                            
作用:將計算機與共享資源連接或斷開,或者顯示關于計算機連接的信息。

該命令還控制持久網絡連接。

第三步:備份數據庫
              backup database a   to
disk='\\192.168.0.3\sqlbak\a.bak'
              backup database a   to
disk='\\192.168.0.3\sqlbak\a1.bak' WITH DIFFERENTIAL (差異備份)

第四步: 刪除共享文件夾
               在程序代碼中調用(或者CMD窗口)   net share
sqlbakup/delete
               或者用NetShareDel這個API

恢復數據庫

restore database a   from
disk='\\192.168.0.3\sqlbak\a.bak'
      
      以下是差異還原
      restore
database scs   from disk='\\192.168.0.3\sqlbak\a.bak'   WITH NORECOVERY
     
restore database scs   from disk='\\192.168.0.3\sqlbak\a1.bak'   WITH
NORECOVERY
      restore database scs   from
disk='\\192.168.0.3\sqlbak\a2.bak'

 

 

【方法之二】

在一些涉及到數據庫的項目中,經常會有定時備份數據庫的需要。定時備份到本機的話,還是挺容易的,計劃任務就可以完成,但如果是整機掛了,那備份到本機是沒意義的,那么就需要來考慮備份到局域網中,其它電腦里。

一開始我想得挺簡單的,把遠程的一個共享文件夾,映射到本地作為一個磁盤,使用 SQL Server 自帶的備份功能去備份就好了。但實際操作下來,會發現根本就沒有這個磁盤可以給你選,使用 SQL 語句來備份的話,也會提示錯誤。咋辦呢?

網上找了很多的遠程備份的方法,許多都用不了,有的還用 FTP 去上傳… 這個超出了我們的需求,沒必要了。下面就分享一份在網上找了之后,自己再簡單整理過的代碼,配合 SQL Server 代理中的作業功能,已經穩定運行一個星期了,每小時就備份一次。


 -- 創建網絡映射(Y是盤符;IP地址后面要帶共享文件夾的名稱;password是密碼,雙引號引起;account是遠程電腦的登錄名)

exec master..xp_cmdshell 'net use Y: \\192.168.0.69\sqlbackup "password" /user:192.168.0.69\account'

 -- 按日期時間做文件名(注意路徑中的文件夾,需要先建立好)

)

),'-',''),' ','-'),':','') + '.bak'

 -- 執行備份(DB是要備份的數據庫名稱)

backup database [DB] to disk = @filename

 

-- 刪除網絡映射(Y是盤符,同上)

exec master..xp_cmdshell 'net use Y: /delete'

 

-- ABEL.CNBLOGS.COM

-- 2013-07-14


 

需要注意的是,SQL Server 要開啟允許執行 cmd 命令。

我試過把網絡映射保留著,不要刪除,可是到了 backup database 的時候還是失敗了,只能每次要備份都創建,然后再刪除。如果有朋友知道是為什么,歡迎交流~~

 

 

    標簽:
    分享到:
    上一條: 頁面布局中block,inline和inline-block概念和區別
    下一條: 【百度課堂】URL構成越簡單越平常越好
    網站首頁| 網站建設 手機網站| 微信營銷| 經典案例| 解決方案| 網站推廣| 新聞資訊| 關于我們| 售后服務| 聯系我們
    久精品免费观看国产_97超碰国产精品无码分类_亚洲天堂AV在线_久久精品少妇免费理玲片