1. 程式人生 > >Sql Server資料庫備份大全(Sql語句)

Sql Server資料庫備份大全(Sql語句)



首先簡單的介紹一下Sql server 備份的型別有:

1:完整備份(所有的資料檔案和部分的事務日誌檔案)

2:差異備份(最後一次完成備份後資料庫改變的部分)

3:檔案和檔案組備份(對指定的檔案和檔案組備份)

4:事物日誌備份(所有資料庫的變更)

5:尾日期備份(日誌的活動部分,指上一次為備份的日誌部分)

6:部分備份(主檔案組、每個可讀可寫檔案組和指定的只讀檔案組)

7:僅複製備份(資料庫或者日誌的備份,不影響整體備份)

--------------------完整備份預設追加到現有的檔案---------------
backup database NorthWind

To disk='d:\backup\NorthWindCS-Full-2010-11-23.bak'

--------完整備份,覆蓋現有的檔案
Backup database NorthWind
To disk='d:\backup\NorthWindCS-Full-2010-11-23.bak'
With init---覆蓋現有檔案程式碼

--------差異備份(上次一完整備份以來改變的資料頁)
backup database NorthWind
To Disk='d:\backup\NorthWindCS-Full-2010-11-23.bak'

-----事物日誌備份,會自動截斷日誌(預設會階段日誌)
backup log NorthWind
To Disk='d:\backup\NorthWindCS-log-2010-11-23'

-----事物日誌備份,不截斷日誌(預設會階段日誌)
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 替代的截斷日誌方法
alter database NorthWind set Recovery Simple
exec sp_helpdb NorthWInd
use NorthWind 
dbcc shrinkfile('NorthWind_log')
alter database NorthWind set Recovery Full

----超大型資料庫的檔案和檔案組備份
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'

---僅複製備份,不影響現有的備份序列
backup database NorthWind
To disk='h:\backup\NorthwindCS_Full_2010031.bak'
With Copy_only


--尾部日誌備份,備份完成後資料庫不再提供訪問
use master
go
backup log NorthWind
to disk='h:\backup\Northwind-taillog-20101031.bak'
With NoRecovery

--回覆資料庫提供訪問
Restore databse NorthWind with Recovery

--分割備份到多個目標檔案
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


--備份到遠端伺服器
--使用SQL SERVER 的服務啟動賬號訪問遠端共享可寫資料夾
backup database Northwind
to disk='\\192.168.3.20\backup\nw-yourname.bak'

--備份到遠端伺服器,指定訪問遠端伺服器的賬號和密碼
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  花費 7.789 秒(16.877 MB/秒)。

--備份到NTFS目錄
Backup Database AdventureWorks
To disk='H:\backup\test\advNTFS壓縮備份.bak'
--60MB     花費 11.871 秒(11.073 MB/秒)。

Backup Database AdventureWorks
To disk='h:\backup\adv壓縮備份.bak'
With Compression
--132MB  花費 7.789 秒(16.877 MB/秒)。
--34MB    花費 3.775 秒(34.820 MB/秒)。

--啟動預設備份壓縮
EXEC sp_configure 'backup compression default', '1'
RECONFIGURE WITH OVERRIDE
GO