【问题标题】:SQL Server: Importing database from .mdf?SQL Server:从 .mdf 导入数据库?
【发布时间】:2011-05-01 13:48:59
【问题描述】:

我的本​​地机器上有一个 .mdf 文件。

我的本​​地机器上安装了 SQL Server 2008 Express 和 SQL Management Studio 2008 Express。

究竟如何将此 .mdf 文件作为新数据库导入到我的 SQL Server 中?

这似乎是一项极其常见的任务,每天必须在全球范围内执行数千次,而我不知道如何在 Management Studio Express 中完成。

我错过了什么?

【问题讨论】:

    标签: sql-server database import mdf ssms


    【解决方案1】:

    如果您没有 LDF 文件,则:

    1) 将 MDF 放入C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

    2) 在 ssms 中,转到 Databases -> Attach 并添加 MDF 文件。它不会让你以这种方式添加它,但它会告诉你其中包含的数据库名称。

    3) 确保运行 ssms.exe 的用户有权访问此 MDF 文件。

    4) 既然您知道了 DbName,请运行

    EXEC sp_attach_single_file_db @dbname = 'DbName', 
    @physname = N'C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\yourfile.mdf';
    

    参考:https://dba.stackexchange.com/questions/12089/attaching-mdf-without-ldf

    【讨论】:

      【解决方案2】:

      除了上面@daniele3004 发布的答案中提到的步骤外,我必须以管理员身份打开 SSMS,否则会显示主文件是只读错误。

      转到开始菜单,导航到 SSMS 链接,右键单击 SSMS 链接,选择以管理员身份运行。然后执行上述步骤。

      【讨论】:

        【解决方案3】:

        见:How to: Attach a Database File to SQL Server Express

        通过sqlcmd登录数据库:

        sqlcmd -S Server\Instance
        

        然后发出命令:

        USE [master]
        GO
        CREATE DATABASE [database_name] ON 
        ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
        ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
         FOR ATTACH ;
        GO
        

        【讨论】:

        • 而且,虽然它与那篇文章(间接)相关,但这里是如何做到的in SSMS
        【解决方案4】:

        要执行此操作,请参见下图:

        下一步是添加 *.mdf 文件,

        非常重要,.mdf 文件必须位于 C:......\MSSQL12.SQLEXPRESS\MSSQL\DATA

        现在删除日志文件

        【讨论】:

          【解决方案5】:

          打开 SQL Management Studio Express 并登录到要附加数据库的服务器。在“对象资源管理器”窗口中,右键单击“数据库”文件夹并选择“附加...”“附加数据库”窗口将打开;在该窗口中单击“添加...”,然后导航到您的 .MDF 文件并单击“确定”。再次单击“确定”以完成附加数据库,您就完成了。数据库应该可供使用。 最好的问候:)

          【讨论】:

          • 就像daniele3004说的:很重要,.mdf文件必须位于C:......\MSSQL12.SQLEXPRESS\MSSQL\DATA
          • @call-me 或者 MDF 所在的文件夹需要对 SQL Server 用户帐户具有写入权限。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-20
          • 1970-01-01
          • 2011-02-07
          相关资源
          最近更新 更多