web-dev-qa-db-ja.com

データベースのmdfファイルの場所

データベースProjectがあります。私の問題は、データベースの.mdfおよび_log.ldfをどこで見つけて、データベースを別のユーザーに転送できるかです。 Microsoft SQL Server 2008 Management Studioを使用しています

Database f properties

私のSsms.exeはこのパスに保存されています

C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
20
Shreyas tg

SQL Serverのmdfファイルと関連するログファイルの場所を特定する方法はいくつかあります。

  1. Enterprise Managerを開き、目的のデータベースを右クリックして、プロパティを選択します。 [ファイル]セクションを選択し、Path列とFileName列までスクロールします。

  2. クエリウィンドウを開き、以下の関連クエリを実行して、Physical_Name列を表示します。

SQL 2005以降:

SELECT * FROM sys.database_files

SQL 2000:

SELECT * FROM dbo.sysfiles
  1. クエリウィンドウを開いてsp_helpfileを実行し、FileName列を表示します。

もちろん、これらのファイルはSQL Serverで使用されているため、ファイルを別の場所にコピーしないでください。

最適な方法は、目的のデータベースを右クリックし、[タスク]-> [バックアップ]を選択して、Enterprise Manager内からバックアップを実行することです。

または、データベースをデタッチし、ファイルをコピーしてからアタッチすることもできます。

データベースのコピーを別の場所で実行した後の3番目の方法は、ログ配布またはレプリケーションをセットアップすることです。

23
armitage

SQL 2005以降:次のクエリを実行すると、すべてのデータベースと関連ファイルのリストが表示されます。

SELECT sd.NAME
,smf.NAME
,smf.type_desc
,(CAST(smf.size AS FLOAT) * 8096) AS SizeBytes
,(CAST(smf.size AS FLOAT) * 8096) / (1024) AS SizeKB
,(CAST(smf.size AS FLOAT) * 8096) / (1024 * 1024) AS SizeMB
,(CAST(smf.size AS FLOAT) * 8096) / (1024 * 1024 * 1024) AS SizeGB
,smf.physical_name
,sd.log_reuse_wait_desc
,sd.recovery_model_desc
,*
FROM sys.databases sd
INNER JOIN sys.master_files smf ON sd.database_id = smf.database_id
WHERE
smf.type_desc IN (
    'ROWS'
    ,'LOG'
    )
ORDER BY SizeGB DESC
16
masam

あなたは正しいダイアログにいましたが、間違ったタブFilesタブを開いてください、すべてのデータベースファイルのパスが表示されます enter image description here

14
Milena Petrovic

特定のデータベースの(.mdf & .ldf)ファイル、サイズ、増加率などの詳細を見つけるための最良かつ簡単な方法は、以下でTSQLクエリについて言及しています。

exec sp_helpdb @dbname='Databasename';
Go
2