【问题标题】:Determine MDF and LDF file match确定 MDF 和 LDF 文件匹配
【发布时间】:2017-08-09 03:31:52
【问题描述】:

有没有办法确定什么 MDF 与 SQL Server 的 LDF 文件一起使用?我们发生了服务器崩溃并关闭了这些文件,并且仅使用随机整数作为文件名命名。所以现在我们需要猜测哪个 MDF 和 LDF 一起来让它们起来,但是最好的方法是什么?

【问题讨论】:

  • 你试过sys.master_files 吗? SELECT name, physical_name AS current_file_location FROM sys.master_files
  • 如果您有任何备份文件(无论多旧),您都可以从 bak 文件中读取此信息。使用 SSMS 进行还原数据库,加载备份,不还原,切换到文件选项卡。逻辑文件名和原始文件名显示为数据和日志文件。
  • 但是我刚才说我现在的文件名是随机数。知道原始文件名对我毫无帮助。我没有备份只有 MDF 和 LDF

标签: sql-server mdf ldf


【解决方案1】:

您可以通过以下方式找到当前数据库的 MDF 和 LDF:

sp_helpdb 'YourDBName'

或者您可以查看实例中的所有内容:

SELECT name, physical_name AS current_file_location FROM sys.master_files

如果是离线情况,试试这个:

SELECT DB.name, MF.name, MF.type_desc, MF.physical_name
FROM sys.databases DB
INNER JOIN sys.master_files MF ON db.database_id = mf.database_id
WHERE DB.state = 6 

DB.State= 6 表示离线状态。

【讨论】:

  • 从 OP 的描述来看,这听起来像是一个 unattched 场景 - 他们有文件,他们需要知道要匹配哪些文件才能附加数据库。
  • 我没有数据库,也没有与以前在数据库中用于文件的名称相同的名称。你读过这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 2017-09-15
  • 1970-01-01
  • 2023-02-07
相关资源
最近更新 更多