SQL Serverでデータベースを作成するたびに、2つのファイルが作成されます。 1つはデータファイルで、もう1つはトランザクションログファイルです。
これらのファイルの場所は、データベースの作成時にこれらのファイルの場所を明示的に指定するかどうかによって異なります。そうでない場合は、デフォルトの場所に作成されます。
次のコードでデフォルトの場所を見つけることができます:
SELECT SERVERPROPERTY('InstanceDefaultDataPath') AS 'Data Files', SERVERPROPERTY('InstanceDefaultLogPath') AS 'Log Files'
MacでSQLOperationsStudioを使用してこれを実行すると、次のようになります。
ただし、デフォルトの場所がわかったからといって、そのSQLServerインスタンス上のすべてのデータベースのすべてのデータとログファイルがどこにあるかが確実にわかっているわけではありません。サーバー上のさまざまなデータベースがファイルにさまざまな場所を使用している可能性があります。
デフォルトの場所は、データベースの作成時にファイルの場所を指定しない場合にのみ使用されます。たとえば、可能な限り単純な方法でデータベースを作成する場合(たとえば、CREATE DATABASE my_database
)そのデータファイルとログファイルはデフォルトの場所に作成されます。
ただし、これらのファイルに別の場所を明示的に指定すると、それらは別の場所に存在します。したがって、すべてのデータベースファイルがデフォルトの場所にあるとは限らない可能性があります。
SQLServerですべてのデータファイルとログファイルの場所を見つける方法は次のとおりです。これにより、すべてのデータファイルとログファイルのリストがフルパスとともに表示されます。