Nếu bạn cần biết các tệp cơ sở dữ liệu của mình nằm ở đâu, hãy chạy mã T-SQL sau:
USE master; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.master_files;
Thao tác này sẽ trả về danh sách tất cả các tệp dữ liệu và tệp nhật ký cho phiên bản SQL Server.
Đây là giao diện khi tôi chạy mã đó trong SQL Operations Management Studio trên máy Mac:
Nếu bạn sử dụng Windows, đường dẫn của bạn sẽ giống như đường dẫn Windows. Một cái gì đó như thế này:
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\Music.mdf
Mặc dù, nếu bạn chỉ định vị trí của riêng mình, nó có thể dễ dàng trông giống như sau:
D:\data\Music.mdf
Những tệp này là gì?
Khi bạn tạo cơ sở dữ liệu trong SQL Server, các tệp dữ liệu và tệp nhật ký giao dịch sẽ tự động được tạo.
- Tệp dữ liệu chứa dữ liệu và các đối tượng như bảng, chỉ mục, thủ tục được lưu trữ và chế độ xem.
- Các tệp nhật ký giao dịch ghi lại tất cả các giao dịch và các sửa đổi cơ sở dữ liệu được thực hiện bởi mỗi giao dịch. Các tệp nhật ký giao dịch chứa 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 không chỉ định rõ ràng vị trí và tên cho các tệp này, SQL Server sẽ đặt chúng ở vị trí mặc định (vị trí mặc định được chỉ định ở cấp máy chủ). Dưới đây là cách tìm vị trí mặc định cho tệp dữ liệu và tệp nhật ký trong SQL Server.
Tìm tệp cho cơ sở dữ liệu cụ thể
Nếu bạn chỉ cần tìm vị trí của các tệp cho một cơ sở dữ liệu cụ thể, bạn có thể truy vấn sys.database_files
thay vào đó, chế độ xem danh mục hệ thống. Chỉ cần chuyển sang cơ sở dữ liệu hiện hành và chạy truy vấn.
Đây là một ví dụ:
USE Solutions; SELECT name 'Logical Name', physical_name 'File Location' FROM sys.database_files;
Thao tác này sẽ chỉ trả về dữ liệu và tệp nhật ký cho Solutions
cơ sở dữ liệu.