我有一个数据库Project
。我的问题是我在哪里可以找到数据库的.mdf
和_log.ldf
,以便可以将数据库转移给另一个用户。我正在使用Microsoft SQL Server 2008 Management Studio
我Ssms.exe
的存储在此路径中
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
我有一个数据库Project
。我的问题是我在哪里可以找到数据库的.mdf
和_log.ldf
,以便可以将数据库转移给另一个用户。我正在使用Microsoft SQL Server 2008 Management Studio
我Ssms.exe
的存储在此路径中
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
Answers:
有几种方法可以确定SQL Server mdf文件和关联的日志文件的位置。
打开企业管理器,右键单击您感兴趣的数据库,然后选择属性。选择“文件”部分,然后滚动到Path
和FileName
列。
打开查询窗口,然后运行下面的相关查询并查看该Physical_Name
列。
SQL 2005或更高版本:
SELECT * FROM sys.database_files
SQL 2000:
SELECT * FROM dbo.sysfiles
sp_helpfile
并查看该FileName
列。当然,由于这些文件已由SQL Server使用,因此您不应尝试将文件复制到其他位置。
最好的方法是从Enterprise Manager中执行备份,方法是右键单击您感兴趣的数据库,然后选择“任务”->“备份”。
或者,您可以分离数据库,复制文件,然后附加。
一旦拥有在其他地方运行的数据库副本,第三种替代方法是设置日志传送或复制。
从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
(.mdf & .ldf)
通过下面提到的TSQL查询来找到特定数据库的文件,大小和增长率等的最佳简便方法。
exec sp_helpdb @dbname='Databasename';
Go
.mdf和.ldf的路径为
根驱动器(已安装操作系统的位置)->
用于32位但适用于应用程序的Programfiles(用于64位应用程序)或Programfiles(x86)->
Microsoft SQL Server->
MSSQL11.SQL2012->
MSSQL->
数据
MSSQL11.SQL2012这是针对使用SQL 2012的用户的...
因此,当您在提到的路径中的“ Microsoft SQL Serve”文件夹下使用SQL 2008时,您可以轻松地识别出您的文件夹名称是什么