首页 > 解决方案 > 如何从 SSMS 中以前备份但未知的 SQL-Server 文件中获取数据库模式?

问题描述

我有一个 ASP.net Web 表单解决方案快照的旧项目,其中只有一个文件存在于与数据库相关的数据库文件夹下,没有 .mdf 文件。

我尝试过导入、恢复数据库、附加从 SSMS 获取数据库模式的所有方法,但没有任何效果。在 SSMS 中附加为 .mdf 文件时出错 。也许,我使用的是 2008 sql server,现在使用的是 sql server 2017,这是问题还是其他原因?

有没有可能从该文件中获取数据库结构的方法?

谢谢你。

标签: sql-server

解决方案


您的问题(第 2 行)存在混淆,您的意思是.ldf?,如果是,请尝试以下操作:

  1. 创建一个同名的虚拟数据库
  2. 运行以下查询

它分离新创建的数据库(虚拟数据库)的现有文件并附加您想要的新文件:

EXEC sp_detach_db @dbname = 'DatabaseName';  
EXEC sp_attach_single_file_db @dbname = 'DatabaseName',   
    @physname =   
N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Data\NewDBFile.mdf';  

推荐阅读