SqlServer備份資料庫的4種方式介紹

2022-09-24 10:18:10 字數 2368 閱讀 4734

1.用sqlserver的維護計畫

在這裡我就不給截圖演示了,這個比較簡單,無非就是通過sqlserver自己的維護計畫拖拽出2個乙個『備份資料庫'任務和乙個『清除維護'任務。

需要注意的點:

1)有備份程式設計客棧任務裡邊選擇備份的庫盡量選『所有使用者資料庫'這項,以免選擇了特定資料庫備份以後某天新增了新資料庫卻忘了勾選導致丟備份。

2)選項驗證備份集完整性和壓縮備份盡量都選上。

3)備份的路徑盡量別選磁碟根目錄。

2.通過指令碼+作業的方式備份資料庫(非xp_cmdshell)。如果是多個庫的話自己寫個游標用動態sql的方式即可實現多庫備份,我這裡就提供個思路偷懶就不整理了。

複製** **如下:

declare @filename varchar(500)

declare @date datetime

declare @old_date datetime

set @date=getdate()

set @old_date=getdate()-5 --超過5天的備份即將被刪除

set @filename = 'e:\存放位置\資料庫名稱-'+cast(datepart(yyyy,@date) as varchar(10))+'-'+cast(datepart(mm,@date) as varchar(10))+'-'+cast(date程式設計客棧part(dd,@date) as varchar(10))+'.ba'

backup database [資料庫名稱] to disk = @filename with compression

execute master.dbo.xp_delete_file 0,n'e:\存放位置',n'bak',@old_date,1

go3.通過指令碼+作業的方式備份資料庫(用xp_cmdshell),如果你覺得你們伺服器的網路、**、以及防火牆足夠安全可以開啟xp_cmdshell的方式來備份。

如果資料庫沒開啟xp_cmdshell的功能需要用以下指令碼開通此功能,開通以後記得關閉sp_configure。

複製** **如下:

use master

goexec sp_configure 'show advanced options', 1;

goreconfigure with ovegwgfnkwlvrride;

goexec sp_configure 'xp_cmdshell',1;

goreconfigure with override;

go下邊是備份的指令碼

複製** **如下:

declare @dbname varchar(128)

declare @path varchar(50)

declare @sql nvarchar(max)

declare @ddate varchar(8)

set @path = 'e:\backup'

set @ddate = convert(char(8),getdate(),112)

--刪除超過1天的備份

set @sql ='xp_cmdshell '' forfiles /p "'+@path+'" /d -0 /m *.bak /c "cmd /c echo deleting @file.... && del /f @file"'''

exec (@sql)

set @sql = ''

select @sql = @sql + '

backup database ['+name+'] to disk = '''+@path+'\'+replace(name,'.','')+@ddate+'.bak '''

from master..sysdatabases

where name not in ('master','tempdb','model','msdb')

exec (@sql)

4.用powershell呼叫sqlcmd來執行備份命令。 在master庫下邊寫好備份的儲存過程pr_1

然後建立powershell指令碼,將下邊語句貼上進去並儲存成xx.ps1,在通過windows的任務排程定時執行備份就可以了(我就是舉個例子過期刪除備份的語句也可以通過powershel實現,在家沒有環境就隨便寫個思路沒寫全各位見諒)。

複製** **如下:

$dbname = 'test'

write-host "------"$dbname

& cmd /c "sqlcmd -u sa -p 123456  -s 127.0.0.1 -q `" pr_1 '$dbname'`" "

以上就是常見的幾種備份的方法,各位可以根據自己的業務場景來選擇適合自己的備份方式。

本文標題: sqlserver備份資料庫的4種方式介紹

本文位址: /shujuku/mssql/120079.html

SQL SERVER定時備份資料庫

sql server定時備份資料庫 點選 管理 sql server 作業 新建作業 常規選項卡裡,名稱 填寫 定時備份資料庫 啟用 前面選 對勾 以本地伺服器為目標 分類 選擇 資料庫維護 步驟選項卡裡,新建步驟,步驟名 備份資料庫 型別 transact sql指令碼 tsql 資料庫 要備份的...

使用SQL SERVER備份命令備份資料庫

sql server資料庫備份命令 完整備份 包括資料data和日誌log backup database database name to disk x folder databse name backupname.bak 注 前提是x folder存在 成功 差異備份 包含資料data和日誌lo...

使用SQL SERVER備份命令備份資料庫

sql server資料庫備份命令 完整備份 包括資料data和日誌log backup database database name to disk x folder databse name backupname.bak 注 前提是x folder存在 成功 差異備份 包含資料data和日誌lo...