Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để thu hẹp tệp nhật ký giao dịch trong SQL Server 2005

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
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.
T-ĐĂNG NHẬP

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 907511 - Xem lại Lần cuối: 07/12/2013 08:15:00 - Bản sửa đổi: 2.0

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

  • kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtvi
Phản hồi
>