Bất kỳ lúc nào bạn tạo cơ sở dữ liệu trong SQL Server, hai tệp sẽ được tạo. Một là tệp dữ liệu và tệp kia là tệp nhật ký giao dịch.
Vị trí của các tệp này sẽ phụ thuộc vào việc bạn có chỉ định rõ ràng vị trí cho các tệp này khi bạn tạo cơ sở dữ liệu hay không. Nếu không, chúng sẽ được tạo ở vị trí mặc định.
Bạn có thể tìm thấy vị trí mặc định bằng mã sau:
SELECT SERVERPROPERTY('InstanceDefaultDataPath') AS 'Data Files', SERVERPROPERTY('InstanceDefaultLogPath') AS 'Log Files'
Chạy điều này với SQL Operations Studio trên máy Mac của tôi dẫn đến kết quả sau:
Tuy nhiên, chỉ vì hiện tại chúng tôi biết vị trí mặc định là gì, điều đó không có nghĩa là chúng tôi biết chắc chắn vị trí của tất cả dữ liệu và tệp nhật ký cho tất cả cơ sở dữ liệu trên phiên bản SQL Server đó. Có thể các cơ sở dữ liệu khác nhau trên máy chủ sử dụng các vị trí khác nhau cho các tệp của chúng.
Vị trí mặc định chỉ được sử dụng nếu bạn không chỉ định vị trí cho các tệp khi bạn tạo cơ sở dữ liệu. Ví dụ:nếu bạn tạo cơ sở dữ liệu theo cách đơn giản nhất có thể (ví dụ:CREATE DATABASE my_database
) tệp dữ liệu và tệp nhật ký của nó sẽ được tạo ở vị trí mặc định.
Tuy nhiên, nếu bạn chỉ định rõ ràng một vị trí khác cho các tệp này, chúng sẽ nằm ở vị trí khác đó. Do đó, có thể không phải tất cả các tệp cơ sở dữ liệu sẽ nằm ở vị trí mặc định.
Dưới đây là cách tìm vị trí của tất cả các tệp dữ liệu và tệp nhật ký trong SQL Server. Điều đó sẽ hiển thị danh sách tất cả các tệp dữ liệu và tệp nhật ký cùng với đường dẫn đầy đủ của chúng.