教你怎么把服務器上的數據庫備份到本地計算機


declare @sql varchar(500)
select @sql='\\192.168.2.73\TestFolder\'+'_db_'+convert(varchar(10),getdate(),112) + substring(convert(varchar(10),getdate(),108),1,2) + substring(convert(varchar(10),datepart(minute,getdate())),1,2) +'.bak'
exec master..xp_cmdshell 'net use \\192.168.2.73\TestFolder "" /user:192.168.2.73\JaymeZhang'
backup database master to disk=@sql
go

要用遠程數據庫可以備份本地。
本地數據庫也可以備份到遠程。

--備份環境:把數據庫服務器(192.168.1.8)的數據庫(TEST)備份到(192.168.1.145)的C$下

--首先,做一個與客戶端的映射
exec master..xp_cmdshell
'net use z: \\192.168.1.145\ "" /user:192.168.1.145\administrator'
/*--說明:
z: 是映射網絡路徑對應本機的盤符,與下面的備份對應
\\192.168.1.145\c$    是要映射的網絡路徑
192.168.1.145\administrator   
192.168.1.145是遠程的計算機名,administrator是登陸的用戶名
密碼                        上面指定的administrator用戶的密碼
--*/


--其次,進行數據庫備份
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腳本,即可生成你需要的腳本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM