Làm th? nào đ? thu h?p t?p nh?t k? giao d?ch trong SQL Server 2005

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 907511 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

Tóm t?t

Trong Microsoft SQL Server 2005, b?n có th? thu h?p t?p nh?t k? giao d?ch trong m?t b? máy cơ s? d? li?u đ? lo?i b? không s? d?ng trang. b? máy cơ s? d? li?u reuses không gian m?t cách hi?u qu?. Tuy nhiên, khi m?t t?p nh?t k? giao d?ch phát tri?n đ?t ng?t, b?n có th? có thu h?p t?p nh?t k? giao d?ch theo cách th? công.

Bài vi?t này mô t? làm th? nào đ? s? d?ng các B?n tuyên b? DBCC SHRINKFILE đ? thu h?p t?p nh?t k? giao d?ch theo cách th? công nh? hơn các khôi ph?c đ?y đ? các mô h?nh trong b? máy cơ s? d? li?u SQL Server 2005. Các phương pháp b?n s? d?ng đ? thu h?p t?p nh?t k? giao d?ch trong SQL Server 2005 có th? khác v?i các phương pháp b?n s? d?ng đ? thu h?p t?p nh?t k? giao d?ch trong SQL Server năm 2000. Đ? bi?t thêm chi ti?t v? làm th? nào đ? thu h?p t?p nh?t k? giao d?ch trong SQL Server 2000, nh?p vào s? bài vi?t sau đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
272318Thu h?p Nh?t k? giao d?ch trong SQL Server 2000 v?i DBCC SHRINKFILE

Thông tin thêm

Trong SQL Server 2005, m?t ho?t đ?ng thu h?p (DBCC SHRINKFILE) c? g?ng thu h?p t?p nh?t k? giao d?ch đư?c ch? đ?nh cho kích thư?c yêu c?u ngay l?p t?c. Thu h?p t?p nh?t k? giao d?ch b?ng tay theo mô h?nh h?i ph?c hoàn toàn, l?n đ?u tiên sao lưu t?p nh?t k? giao d?ch. Sau đó, s? d?ng các B?n tuyên b? DBCC SHRINKFILE đ? thu h?p t?p nh?t k? giao d?ch.

Thông thư?ng, thu h?p t?p nh?t k? giao d?ch t?i SQL Server 2005 là nhanh hơn so v?i thu h?p t?p nh?t k? giao d?ch trong SQL Server 2000. L? do là SQL Server 2005 kí nh?p qu?n l? t?o ra ho?c reuses không ho?t đ?ng kí nh?p t?p tin ?o b?i theo th? t? lưu tr? đ?a v?t l?. V? v?y, có ph?n ho?t đ?ng c?a các giao d?ch t?p nh?t kí thư?ng là ? ph?n cu?i c?a t?p tin.

Ví d?, t?p nh?t k? giao d?ch có th? có 100 kí nh?p t?p tin ?o, và ch? có 2 các t?p tin kí nh?p ?o đư?c s? d?ng. SQL Server 2000 có th? lưu tr? các t?p tin log ?o đư?c s? d?ng đ?u tiên t?i các B?t đ?u c?a t?p nh?t k? giao d?ch và các t?p tin log ?o đư?c s? d?ng th? hai ? gi?a t?p nh?t k? giao d?ch. Thu h?p t?p nh?t k? giao d?ch ch? có 2 các t?p tin kí nh?p ?o, SQL Server đi?n vào ph?n c?n l?i c?a t?p tin Nh?t k? ?o th? hai b?ng cách s? d?ng gi? kí nh?p m?c. SQL Server di chuy?n đ?u c?a Nh?t k? h?p l? đ? ti?p theo có ?o t?p nh?t k? đư?c ch? đ?nh b?i ngư?i qu?n l? kí nh?p. Qu?n l? kí nh?p có th? t?o m?t t?p tin ?o kí nh?p ? gi?a t?p nh?t k? giao d?ch ch? trư?c c?a cu?i cùng ho?t đ?ng ?o t?p nh?t k?. Trong trư?ng h?p đó, b?n có th? s? d?ng nhi?u các ho?t đ?ng sao lưu kí nh?p và nhi?u ho?t đ?ng thu h?p đ? thành công thu h?p t?p nh?t k? giao d?ch 2 t?p tin ?o kí nh?p. Trong trư?ng h?p x?u nh?t c?a ví d? này, b?n có th? ph?i s? d?ng 50 kí nh?p ho?t đ?ng sao lưu và 50 co Các ho?t đ?ng thành công thu h?p t?p nh?t k? giao d?ch 2 ?o t?p tin kí nh?p.

Tuy nhiên, trong SQL Server 2005, b?n có th? th?c hi?n m?t tuyên b? DBCC SHRINKFILE đ? thu h?p t?p nh?t k? giao d?ch ngay l?p t?c đ? 2 kí nh?p t?p tin ?o. B?n có th? làm đi?u này v? ngư?i qu?n l? SQL Server 2005 kí nh?p t?o ra 2 t?p tin kí nh?p ?o b?ng cách làm theo th? t? lưu tr? đ?a v?t l?. C? hai t?p tin ?o kí nh?p là lúc B?t đ?u c?a t?p nh?t k? giao d?ch.

Khi b?n c? g?ng thu h?p t?p nh?t k? giao d?ch có ít không gian tr?ng trong SQL Server 2005, b?n có th? c?n ph?i th?c hi?n m?t thao tác sao lưu kí nh?p b? sung. Thao tác sao lưu Nh?t k? b? sung truncates t?p nh?t k? giao d?ch đ?n m?t kích thư?c nh? hơn. Thao tác sao lưu Nh?t k? này là ngoài vi?c ba bư?c b?n th?c hi?n thu h?p t?p nh?t k? giao d?ch trong SQL Server 2000. Đ? bi?t thêm thông tin, h?y xem bài vi?t Cơ s? tri th?c Microsoft đư?c đ? c?p trong ph?n "Tóm lư?c". Đ? thu h?p t?p nh?t k? giao d?ch có ít không gian tr?ng trong SQL Server 2005, h?y làm theo các bư?c sau:
  1. sao lưu t?p nh?t k? giao d?ch đ? làm cho h?u h?t các t?p tin log ho?t đ?ng ?o không ho?t đ?ng. V? v?y, các t?p tin log ?o không ho?t đ?ng có th? đư?c lo?i b? trong bư?c sau. Đ? làm đi?u này, B?t đ?u SQL Server Management Studio và sau đó ch?y m?t Transact-SQL tuyên b? tương t? như l?nh Transact-SQL sau đây.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Lưu ? Trong tuyên b? này, <DatabaseName></DatabaseName>là m?t gi? ch? cho tên c?a b? máy cơ s? d? li?u mà b?n sao lưu, và <BackupFile></BackupFile> là m?t gi? ch? cho đư?ng d?n đ?y đ? c?a các t?p tin sao lưu.

    Ví d?: ch?y l?nh Transact-SQL sau đây.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Thu h?p t?p nh?t k? giao d?ch. Đ? làm đi?u này, ch?y l?nh Transact-SQL, mà tương t? như l?nh Transact-SQL sau đây.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Lưu ? Trong tuyên b? này, <FileName></FileName>là m?t gi? ch? cho tên t?p nh?t k? giao d?ch, và <TargetSize></TargetSize> là m?t gi? ch? cho kích thư?c m?c tiêu mà b?n mu?n t?p nh?t k? giao d?ch đư?c. Kích thư?c m?c tiêu ph?i đư?c h?p l?. Ví d?, b?n không th? co l?i t?p nh?t k? giao d?ch đ?n m?t kích thư?c là ít hơn 2 ?o kí nh?p t?p tin.
  3. N?u tuyên b? DBCC SHRINKFILE không thu h?p t?p nh?t k? giao d?ch đ? các nh?m m?c tiêu kích thư?c, ch?y các báo cáo sao lưu Nh?t k? đư?c đ? c?p ? bư?c 1 đ? Th?c hi?n thêm các t?p tin log ?o không ho?t đ?ng.
  4. Ch?y các báo cáo DBCC SHRINKFILE đư?c đ? c?p trong bư?c 2. Sau khi ho?t đ?ng này, t?p nh?t k? giao d?ch s? g?n g?i v?i kích thư?c m?c tiêu.
Nói tóm l?i, qu?n l? Nh?t k? thu?t toán cho vi?c thu th?p t?p nh?t k? ?o ti?p theo thay đ?i trong SQL Server 2005. V? v?y, thu h?p t?p nh?t k? giao d?ch trong SQL Server 2005 có th? khác nhau t? thu h?p t?p nh?t k? giao d?ch trong SQL Server 2000.
  • N?u m?t t?p tin kí nh?p đ? có r?t nhi?u không gian tr?ng, thu h?p t?p nh?t k? giao d?ch trong SQL Server 2005 là nhanh hơn so v?i thu h?p t?p nh?t k? giao d?ch trong SQL Server 2000.
  • N?u m?t t?p nh?t kí có không có không gian tr?ng, thu h?p t?p nh?t k? giao d?ch trong SQL Server 2005 là gi?ng như thu h?p t?p nh?t k? giao d?ch trong SQL Server năm 2000.
  • N?u m?t t?p nh?t kí có ít không gian tr?ng, b?n có th? th?c hi?n m?t sao lưu thêm kí nh?p ho?t đ?ng trong SQL Server 2005 hơn b?n c?n ph?i th?c hi?n trong SQL Server 2000.

Tham kh?o

Đ? bi?t thêm chi ti?t v? làm th? nào đ? thu h?p Nh?t k? giao d?ch, các Thu h?p Nh?t k? giao d?ch web site Microsoft Developer Network (MSDN).

Đ? bi?t thêm chi ti?t v? tuyên b? DBCC SHRINKFILE, h?y truy c?p các DBCC SHRINKFILE (giao d?ch-SQL) web site MSDN.

Đ? bi?t thêm chi ti?t v? giao d?ch kí nh?p truncation, đi đ?n các Giao d?ch kí nh?p Truncation web site MSDN.

Thu?c tính

ID c?a bài: 907511 - L?n xem xét sau cùng: 12 Tháng Bảy 2013 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
T? khóa: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài viết này được d?ch b?ng phần mềm dịch thu?t của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa l?i thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung c?p các bài vi?t đư?c c? biên d?ch viên và ph?n m?m d?ch thu?t th?c hi?n và c?ng đ?ng ch?nh s?a l?i đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng nhi?u ngôn ng? Tuy nhiên, bài vi?t do máy d?ch hoặc thậm chí cộng đồng chỉnh sửa sau không ph?i lúc nào c?ng hoàn h?o. Các bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này: 907511

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com