Khi bạn tạo cơ sở dữ liệu trong SQL Server bằng các tùy chọn mặc định, một tệp dữ liệu và một tệp nhật ký sẽ được tạo. Tệp dữ liệu lưu trữ dữ liệu và các đối tượng cơ sở dữ liệu (chẳng hạn như bảng, dạng xem, thủ tục được lưu trữ, v.v.). Tệp nhật ký lưu trữ thông tin cần thiết để khôi phục tất cả các giao dịch trong cơ sở dữ liệu. Nếu bạn có cơ sở dữ liệu đang phát triển, bạn có thể rơi vào tình huống cần thêm tệp nhật ký mới (và / hoặc tệp dữ liệu).
Cũng giống như bạn có thể thêm nhiều tệp dữ liệu hơn vào cơ sở dữ liệu hiện có trong SQL Server, bạn cũng có thể thêm nhiều tệp nhật ký hơn. Tuy nhiên, cú pháp hơi khác một chút tùy thuộc vào việc bạn đang tạo tệp dữ liệu hay tệp nhật ký. Việc thêm tệp dữ liệu yêu cầu ADD FILE
trong khi thêm tệp nhật ký yêu cầu ADD LOG FILE
.
Bài viết này trình bày cách sử dụng T-SQL để thêm tệp nhật ký vào cơ sở dữ liệu hiện có trong SQL Server.
Ví dụ
Để thêm tệp nhật ký vào cơ sở dữ liệu hiện có, hãy sử dụng ALTER DATABASE
câu lệnh với ADD LOG FILE
lý lẽ. Cung cấp thông tin chi tiết của tệp nhật ký mới và chạy câu lệnh.
Đây là một ví dụ:
USE master; GO ALTER DATABASE Solutions ADD LOG FILE ( NAME = Solutions_log_2, FILENAME = '/var/opt/mssql/data/Solutions_log2.ldf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ); GO
Điều này sẽ thêm một tệp nhật ký có tên logic là Solutions_log_2
tới Solutions
cơ sở dữ liệu. Chúng tôi chỉ định rằng đường dẫn vật lý là /var/opt/mssql/data/Solutions_log2.ldf
. Lưu ý rằng đường dẫn này sử dụng cú pháp Linux / Mac. Nếu sử dụng Windows, bạn sẽ cần sử dụng cú pháp thích hợp (dấu gạch chéo ngược thay vì dấu gạch chéo về phía trước).
Kiểm tra kết quả
Bạn có thể kiểm tra kết quả bằng cách chạy truy vấn sau:
USE Solutions; GO SELECT name, physical_name FROM sys.database_files; GO
Kết quả:
name physical_name --------------- -------------------------------------- Solutions /var/opt/mssql/data/Solutions.mdf Solutions_log /var/opt/mssql/data/Solutions_log.ldf Solutions_dat_2 /var/opt/mssql/data/Solutions_dat2.ndf Solutions_dat_3 /var/opt/mssql/data/Solutions_dat3.ndf Solutions_log_2 /var/opt/mssql/data/Solutions_log2.ldf
Chúng ta có thể thấy tệp nhật ký mới được liệt kê ngoài tệp nhật ký gốc (cũng như các tệp dữ liệu khác nhau).
Trong ví dụ này, tôi chỉ chọn hai cột của sys.database_files
xem để hiển thị. Bạn cũng có thể sử dụng dấu hoa thị (*
) để trả về tất cả các cột nếu bạn muốn.