Sql-Server-2008

數據庫的mdf文件的位置

  • August 27, 2021

我有一個數據庫Project。我的問題是我在哪裡可以找到我的數據庫.mdf_log.ldf以便我可以將我的數據庫轉移給另一個使用者。我正在使用 Microsoft SQL Server 2008 Management Studio

數據庫 f 屬性

Ssms.exe的儲存在此路徑中

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

有幾種方法可以確定 SQL Server mdf 文件和相關日誌文件的位置。

  1. 打開企業管理器,右鍵點擊您感興趣的數據庫並選擇屬性。選擇文件部分並滾動到PathFileName列。
  2. 打開查詢視窗並在下面執行相關查詢並查看該Physical_Name列。

SQL 2005 或更高版本:

SELECT * FROM sys.database_files

SQL 2000:

SELECT * FROM dbo.sysfiles
  1. 打開查詢視窗並執行sp_helpfile並查看該FileName列。

當然,由於 SQL Server 正在使用這些文件,因此您不應嘗試將這些文件複製到其他位置。

最好的方法是從企業管理器中執行備份,方法是右鍵點擊您感興趣的數據庫並選擇任務 -> 備份。

或者,您可以分離數據庫,複製文件,然後附加。

一旦您擁有在其他地方執行的數據庫副本,第三種選擇是設置日誌傳送或複制。

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

引用自:https://dba.stackexchange.com/questions/49811