SQL SERVER遠程備份方法

來源:互聯網
上載者:User

要用遠端資料庫可以備份本地。
本機資料庫也可以備份到遠程。

--備份環境:把資料庫伺服器(192.168.1.8)的資料庫(TEST)備份到(192.168.1.145)的C$下

--首先,做一個與用戶端的映射
exec master..xp_cmdshell
'net use z: //192.168.1.145/c$ "密碼" /user:192.168.1.145/administrator'
/*--說明:
z: 是映射網路路徑對應原生盤符,與下面的備份對應
//192.168.1.145/c$    是要映射的網路路徑
192.168.1.145/administrator   
192.168.1.145是遠端電腦名稱,administrator是登陸的使用者名稱
密碼                        上面指定的administrator使用者的密碼
--*/

--其次,進行Database Backup
backup database TEST to disk='z:/Test.bak'

--最後.備份完成後刪除映射
exec master..xp_cmdshell 'net use z: /delete'
--來自網路

--以下代碼放在作業裡做調度,自動備份、自動刪除4天前備份

--建立映射
exec master..xp_cmdshell 'net use w: /DatabaseBackup$  "password"/user:Roy',NO_OUTPUT
go
-----2000用遊標:
declare @s nvarchar(200),@del nvarchar(200)
select  @s='',@del=''

declare datebak cursor for
select
    [bak]='backup database  '+quotename(Name)+'  to disk =''w:'+Name+'_'+convert(varchar(8),getdate(),112)+'.bak''  with init',
    [del]='exec master..xp_cmdshell '' del w:'+Name+'_'+convert(varchar(8),getdate()-4,112)+'.bak'', no_output'
from master..sysdatabases where dbid>4 --不備份系統資料庫
open datebak

fetch next from datebak into @s,@del
while @@fetch_status=0
    begin
        exec (@del)
        exec(@s)
        fetch next from datebak into @s,@del
    end
close datebak
deallocate datebak
go
--刪除映射
exec master..xp_cmdshell 'net use w: /delete'

go

--用JOB.
--SQL SERVER2000為例

企業管理器—>資料庫伺服器—>管理目錄—>SQL SERVER代理—>作業—>右鍵 選—>建立

常規選項頁—>輸入作業名稱—>選中所有者。

步驟選項頁—>建立—>輸入步驟名—>類型 TSQL指令碼—>選擇需要執行的資料庫—>在命令框裡輸入你的SQL 指令碼:

如:update tb set 狀態= ...  where 日期...........

你可以點左下角的【分析】按鈕,分析一下文法,分析無誤,按確定。

調度選項頁—>建立調度—>輸入調度名稱—>調度類型 你可以選擇也可以點右下角的【更改】按鈕變更,確定。

工作列 SQL SERVER伺服器的小表徵圖 雙擊 服務 選中 SQL SERVER AGENT,點【開始/繼續】,選中當啟動OS時,自動啟動服務,就可以了。

到你定的那個時間點,SQL SERVER會自動去執行你的指令碼的。

如果需要產生指令碼的話,企業管理器—>資料庫伺服器—>管理目錄—>SQL SERVER代理—>作業—>右鍵你剛完成的作業—>所有任務

—>產生SQL指令碼,即可產生你需要的指令碼。

 

 

 

 

 

----------------------------------------------------------------------------------

 

 

--SQL2005以上環境可通過以下兩步完成備份
-- 建立連結的伺服器
exec sp_addlinkedserver 'link_server_name','','SQLOLEDB','server_name or server_ip';
exec sp_addlinkedsrvlogin 'link_server_name','false','sa','sa','password';

-- 遠程備份 dbname 資料庫
exec('backup database dbname to disk=''c:/dbname.bak'';') at link_server_name;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.