--待確認該測試
今天碰到一位朋友提出問題,sqlserver全庫備份時,如果日誌檔案很大,是否也會包含進備份檔案裡,經過實驗如下:
--建立資料庫
create database db1
on primary
(name='db1',
filename='e:\ls\db1.mdf',
size=3mb,
filegrowth=1mb
)log on
(name='db1_log',
filename='e:\ls\db1.ldf',
size=512mb,
filegrowth=10mb)
--執行全庫備份
backup database db1 to disk='e:\ls\db1.bak'
--此時發現備份檔案僅不到2mb,說明日誌檔案和資料檔案都不是完整拷貝(其實資料檔案是按其所使用的資料頁來備份的)
--設法生成日誌
use db1
create table t1 (id int)
godeclare @var int
set @var=1000000
while @var>0
begin
insert into t1 values(@var)
set @var=@var-1
end--檢視下日誌檔案,不再是空的了
dbcc sqlperf('logspace')
--結果如下:
database name
log size (mb)
log space used (%)
status
db1
511.9922
95.64918
0--由此可見,此時日誌檔案已經基本填滿,當然,此時資料檔案已經15360kb
--再做一次全庫備份
backup database db1 to disk='e:\ls\db1_2.bak'
--經檢視備份檔案,此時為15449kb,略大於資料檔案
--我們用此備份還原乙個資料庫出來,看看其日誌檔案是否還完整
restore database db11 from disk='e:\ls\db1_2.bak'
with move 'db1' to 'e:\ls\db1_2.mdf', move 'db1_log' to 'e:\ls\db1_2.ldf'
dbcc sqlperf('logspace')
--結果如下:
database name
log size (mb)
log space used (%)
status
db1
511.9922
95.64918
0db11
511.9922
8.276588 0
--由此可見,日誌檔案內部已經基本為空了
--到這裡,至少可以說明全庫備份時應該是只備份了必要的日誌,而非全部日誌。
SQL Server 2008每日備份
備份資料庫檔案 1 建議資料庫系統每天做一次自動備份,備份方法 可以使用 sqlserver 企業管理器中自帶的維護計畫完成 1 sqlserver 的自動備份需要使用 sql server 服務,一定要啟動。2 把資料庫恢復模式改為完整,這樣就是資料庫出現問題也可恢復。選中資料庫,右鍵屬性。3 新...
sql server 2008 自動備份
身份驗證 包含windows身份驗證和 sql server身份驗證,此處選擇windows 身份驗證 選擇 管理 維護計畫 維護計畫嚮導 必須啟用 服務 啟動模式請改為自動 備份資料到特定目錄時出現拒絕訪問,然後測試備份到c盤根目錄正常。但是就是需要備份到特定的專案目錄中。查了下原因 是因為那個目...
SQL Server 2008備份策略設計上 五
無論是資料庫dev還是dba,都希望關鍵業務資料庫的完整性和可用效能得到保障,資料庫備份是一種不錯的選擇。sql server 2008支援不同應用層次的多種備份方式,為我們的業務資料提供了強有力的保障,這一篇博文就來 如何在sql server 2008下設計合理的備份策略。為了設計合理的備份策略...