SQLSERVER2008備份對日誌檔案的操

2021-07-31 10:57:31 字數 1520 閱讀 9260

--待確認該測試

今天碰到一位朋友提出問題,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下設計合理的備份策略。為了設計合理的備份策略...