sp_attach_db
将数据库附加到服务器。语法
sp_attach_db [ @dbname = ] 'dbname'
    , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数
[@dbname =] 'dbname'要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n'数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。返回代码值
0(成功)或 1(失败)结果集
无注释
只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db。如果必须指定多于 16 个文件,请使用带有 FOR ATTACH 子句的 CREATE DATABASE。如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。示例
下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs', 
   @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
   @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

解决方案 »

  1.   

    [*.MDF] 和 [*.LDF]是DATA文件和日志文件
    面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs', 
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
      

  2.   

    楼上的兄弟已经解决了你的第一个问题;Restore database jun from disk='C:\buDB.mdf'  WITH replace,stats   
    backup database jun to disk='d:\server\jun.bak'  with  init 
    这是两个实现备份和恢复的命令。可以在程序中达到备份和恢复的目的。
    其实从企业管理Enterprise Manager中的所有任务中也可以实现。
      

  3.   

    如何附加和分离数据库(企业管理器)附加数据库 1、展开服务器组,然后展开服务器。
    2、右击"数据库",然后选择"所有任务"/"附加数据库"。
    3、输入要附加的数据库的 MDF(master 数据文件)名称。如果不确定文件位于何处,单击浏览("...")搜索。最多可以指定 16 个文件名。有关更多信息,请参阅 sp_attach_db。
    4、若要确保指定的 MDF 文件正确,请单击"验证"。"原文件名"列列出了数据库中的所有文件(数据文件和日志文件)。"当前文件位置"列列出了文件的名称和路径。如果 Microsoft® SQL Server™ 找不到指定位置的文件,则附加操作将失败。可以对"当前文件位置"列进行编辑,并且文件的当前位置必须在该列中才能使附加操作得以进行。例如,如果在分离操作前改变了文件的默认位置,则必须指定当前位置才能使附加操作顺利进行。
    5、在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相匹配。
    6、指定数据库的所有者。
    7、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中。 
    分离数据库 1、展开服务器组,然后展开服务器。
    2、展开"数据库"文件夹。
    3、右击数据库,然后选择"所有任务"/"分离数据库"命令。该菜单只有在您是 sysadmin 固定服务器角色成员并且所连接的服务器是 SQL Server 2000 时才可用。无法分离 master、model 和 tempdb 数据库。 
    4、在"分离数据库"对话框中,检查数据库的状态。要成功地分离数据库,STATUS 应为:数据库已就绪,可以分离。或者可以选择在分离操作前更新统计信息。
    5、若要终止任何现有的数据库连接,请单击"清除"。
    6、单击"确定"按钮。已分离的数据库的数据库节点即从"数据库"文件夹中被删除。