SQL server 數(shù)據(jù)庫備份大全(SQL語句)

首先簡單的介紹一下Sql server 備份的類型有:1:完整備份(所有的數(shù)據(jù)文件和部分的事務(wù)日志文件)2:差異備份(最后一次完成備份后數(shù)據(jù)庫改變的部分)3:文件和文件組備份(對(duì)指定的文件和文件組備份)4:事物日志備份(所有數(shù)據(jù)庫的變更)5:尾日期備份(日志的活動(dòng)部分,指上一次為備份的日志部分)6:部分備份(主文件組、每個(gè)可讀可寫文件組和指定的只讀文件組)7:僅復(fù)制備份(數(shù)據(jù)庫或者日志的備份,不影響整體備份)

--------------------完整備份默認(rèn)追加到現(xiàn)有的文件---------------
backup database NorthWind
 
To disk='d:\backup\NorthWindCS-Full-2010-11-23.bak'
 
--------完整備份,覆蓋現(xiàn)有的文件
Backup database NorthWind
To disk='d:\backup\NorthWindCS-Full-2010-11-23.bak'
With init---覆蓋現(xiàn)有文件代碼
 
--------差異備份(上次一完整備份以來改變的數(shù)據(jù)頁)
backup database NorthWind
To Disk='d:\backup\NorthWindCS-Full-2010-11-23.bak'
 
-----事物日志備份,會(huì)自動(dòng)截?cái)嗳罩?默認(rèn)會(huì)階段日志)
backup log NorthWind
To Disk='d:\backup\NorthWindCS-log-2010-11-23'
 
-----事物日志備份,不截?cái)嗳罩?默認(rèn)會(huì)階段日志)
backup log NorthWind
To Disk='d:\backup\NorthWindCS-log-2010-11-23'
With No_Truncate
 
-----不備份直接階段日志,在SQL SERVER2008中不再支持。
backup log NorthWind With No_Log
backup log NorthWind With Tuancate_only
 
-----SQL SERVER 2008 替代的截?cái)嗳罩痉椒?alter database NorthWind set Recovery Simple
exec sp_helpdb NorthWInd
use NorthWind 
dbcc shrinkfile('NorthWind_log')
alter database NorthWind set Recovery Full
 
----超大型數(shù)據(jù)庫的文件和文件組備份
Exec sp_helpdb NorthWind
backup database NorthWind File='NorthWind_Current'
to disk='h:\backup\NorthwindCS_Full_2010031.bak'
backup database NorthWind FileGroup='Current'
to disk='h:\backup\NorthwindCS_FG_2010031.bak'
 
---僅復(fù)制備份,不影響現(xiàn)有的備份序列
backup database NorthWind
To disk='h:\backup\NorthwindCS_Full_2010031.bak'
With Copy_only
 
 
--尾部日志備份,備份完成后數(shù)據(jù)庫不再提供訪問
use master
go
backup log NorthWind
to disk='h:\backup\Northwind-taillog-20101031.bak'
With NoRecovery
 
--回復(fù)數(shù)據(jù)庫提供訪問
Restore databse NorthWind with Recovery
 
--分割備份到多個(gè)目標(biāo)文件
backup database NorthWind 
to disk='h:\backup\Northwind-part1.bak',
disk='h:\backup\NorthwindCS-part2.bak'
 
--鏡像備份,需要加入With Format
backup database NorthWind
to disk='h:\backup\NorthwindCS-Mirror1.bak'
Mirror to disk='h:\backup\NorthwindCS-Mirror2.bak'----Mirror鏡像
With Format
 
 
--備份到遠(yuǎn)程服務(wù)器
--使用SQL SERVER 的服務(wù)啟動(dòng)賬號(hào)訪問遠(yuǎn)程共享可寫文件夾
backup database Northwind
to disk='\\192.168.3.20\backup\nw-yourname.bak'
 
--備份到遠(yuǎn)程服務(wù)器,指定訪問遠(yuǎn)程服務(wù)器的賬號(hào)和密碼
Exec sp_configure
Exec Sp_COnfigure 'show advanced options',1
Reconfigure with Overrid
Exec sp_configure 'xp_cmdshell',1
Reconfigure with override
 
 
Exec xp_cmdshell
'net use \\192.168.10.101' /user:administrator password'
 
backup database Northwind 
to disk='\\192.168.10.101\backup\nw-fy.bak'
 
Exec sp_configure 'xp_cmdshell',0
Reconfigure with override
 
 
--------------------------------------
--備份壓縮
--------------------------------------
Backup Database AdventureWorks
To disk='h:\backup\adv不壓縮備份.bak'
--132MB  花費(fèi) 7.789 秒(16.877 MB/秒)。
 
--備份到NTFS目錄
Backup Database AdventureWorks
To disk='H:\backup\test\advNTFS壓縮備份.bak'
--60MB     花費(fèi) 11.871 秒(11.073 MB/秒)。
 
Backup Database AdventureWorks
To disk='h:\backup\adv壓縮備份.bak'
With Compression
--132MB  花費(fèi) 7.789 秒(16.877 MB/秒)。
--34MB    花費(fèi) 3.775 秒(34.820 MB/秒)。
 
--啟動(dòng)默認(rèn)備份壓縮
EXEC sp_configure 'backup compression default', '1'
RECONFIGURE WITH OVERRIDE
GO


--從遠(yuǎn)程備份至本地
USE HL7
EXEC sp_configure 'show advanced options', 1RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1RECONFIGURE WITH OVERRIDE
EXEC sp_configure   'show advanced options', 0RECONFIGURE WITH OVERRIDE
--2、使用變量進(jìn)行備份
declare 
        @db sysname
declare 
        @dbpath varchar(120)
        set @db='HL7'
--文件名根據(jù)數(shù)據(jù)庫名稱+日期YYYYMMDD+擴(kuò)展名
        set @dbpath='\\10.0.0.6\Users\RJYX\Documents\文件共享\'+@db+convert(varchar(10),getdate(),112)+'.bak'

--3、在sql中建個(gè)映射
exec master..xp_cmdshell 'net use Y: \\10.0.0.6\Users\RJYX\Documents\文件共享\ "123987" /user:10.0.0.6\guohe'
--exec master..xp_cmdshell 'net use Y: \\本機(jī)ip\databasebak "本機(jī)登陸密碼" /user:本機(jī)ip\本機(jī)登陸用戶名'
/* 說明: 
Y:是映射網(wǎng)絡(luò)路徑對(duì)應(yīng)本機(jī)的盤符 
請(qǐng)修改【本機(jī)ip】為實(shí)際ip 
databasebak是我本機(jī)共享的文件夾 
【本機(jī)登陸用戶名】是登陸的用戶名  
"本機(jī)登陸密碼" 是【本機(jī)登陸用戶名】用戶的密碼,注意引號(hào)是英文半角*/

--4、備份(@db是要備份的數(shù)據(jù)庫名稱)
Backup Database @db To disk=@dbpath
--5、COPY
declare 
@copypath varchar(200)set 
@copypath = 'copy '+@dbpath+' Y:'
select @copypath
exec master..xp_cmdshell @copypath 
--6、刪除(這句可以去掉)
declare 
@deletepath varchar(200)
set @deletepath = 'del '+@dbpath
select @deletepath
exec master..xp_cmdshell @deletepath 
--7、完成后刪除映射
exec master..xp_cmdshell 'net use Y: /delete' 
--8、關(guān)閉xp_cmdshell
USE HL7 
EXEC sp_configure 'show advanced options', 1 
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure 'xp_cmdshell', 0 
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure   'show advanced options', 0
RECONFIGURE WITH OVERRIDE
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容