Всеки път, когато създавате база данни в SQL Server, се създават два файла. Единият е файлът с данни, а другият е регистрационният файл на транзакциите.
Местоположението на тези файлове ще зависи от това дали сте посочили изрично местоположение за тези файлове, когато създавате базата данни. Ако не, те ще бъдат създадени на местоположението по подразбиране.
Можете да намерите местоположението по подразбиране със следния код:
SELECT SERVERPROPERTY('InstanceDefaultDataPath') AS 'Data Files', SERVERPROPERTY('InstanceDefaultLogPath') AS 'Log Files'
Изпълнението на това със SQL Operations Studio на моя Mac води до това:
Въпреки това, само защото сега знаем какви са местоположенията по подразбиране, това не означава, че знаем със сигурност къде са всички данни и регистрационни файлове за всички бази данни на този екземпляр на SQL Server. Възможно е различните бази данни на сървъра да използват различни местоположения за своите файлове.
Местоположението по подразбиране се използва само ако не посочите местоположение за файловете, когато създавате базата данни. Например, ако създадете база данни по възможно най-простия начин (напр. CREATE DATABASE my_database
) неговият файл с данни и регистрационният файл ще бъдат създадени на местоположението по подразбиране.
Въпреки това, ако изрично посочите различно местоположение за тези файлове, те ще се намират на това друго място. Следователно е възможно не всички файлове на базата данни да се намират в местоположението по подразбиране.
Ето как да намерите местоположението на всички файлове с данни и регистрационни файлове в SQL Server. Това ще покаже списък с всички файлове с данни и регистрационни файлове заедно с пълните им пътища.