如何将数据库文件附加到 SQL Server Express

更新日期: 2006 年 7 月 17 日

您可以使用 sqlcmd 工具将数据库文件附加到 SQL Server 2005 Express Edition (SQL Server Express) 实例上。例如,如果您的现有数据库文件来自旧的 SQL Server Express 安装中,则可以将这些文件附加到新的 SQL Server Express 安装中。同样,如果您要从备份的副本中还原损坏的数据库,则可以附加备份的数据库文件。

ms165673.security(zh-cn,SQL.90).gif安全说明:
建议您不要从未知或不可信来源附加或还原数据库。此类数据库可能包含恶意代码,这些代码可能会执行非预期的 Transact-SQL 代码,或者通过修改架构或物理数据库结构导致错误。在使用来自未知或不可信来源的数据库前,请在非生产服务器上对数据库运行 DBCC CHECKDB,然后检查数据库中的代码(例如,存储过程或其他用户定义代码)。

附加数据库文件

  1. 在服务器上打开命令提示符。

  2. 在命令提示符下,使用以下 sqlcmd 命令连接到 SQL Server 实例:

    sqlcmd -S Server\Instance
    

    其中,Server 为计算机的名称,Instance 为实例的名称。

  3. 连接之后,请键入下列命令:

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

    其中,database_name 是您要附加的数据库的名称,FileName 是数据库文件和日志文件的路径和文件名,而 FOR ATTACH 则指定通过附加一组现有的操作系统文件来创建数据库。

  4. 若要验证是否附加了数据库,请键入下列两个命令:

    select name from sys.databases
    go
    
  5. sqlcmd 工具将显示所有附加到该 SQL Server Express 实例上的数据库的名称。在列表中,您应看到在步骤 3 中提供的数据库名称。

ms165673.note(zh-cn,SQL.90).gif注意:
有关附加数据库的详细信息,请参阅 SQL Server 2005 联机丛书中的分离数据库和附加数据库CREATE DATABASE (Transact-SQL)