可以
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'
请参见CREATE DATABASEsp_attach_single_file_dbsp_detach_dbsp_helpfilesp_removedbreplication系统存储过程

解决方案 »

  1.   

    如何附加数据库
    1、展开服务器组,然后展开服务器。
    2、右击"数据库",然后选择"所有任务"/"附加数据库"。
    3、输入要附加的数据库的 MDF(master 数据文件)名称。如果不确定文件位于何处,单击浏览("...")搜索。最多可以指定 16 个文件名。有关更多信息,请参阅 sp_attach_db。
    4、若要确保指定的 MDF 文件正确,请单击"验证"。"原文件名"列列出了数据库中的所有文件(数据文件和日志文件)。"当前文件位置"列列出了文件的名称和路径。如果 Microsoft SQL Server 找不到指定位置的文件,则附加操作将失败。可以对"当前文件位置"列进行编辑,并且文件的当前位置必须在该列中才能使附加操作得以进行。例如,如果在分离操作前改变了文件的默认位置,则必须指定当前位置才能使附加操作顺利进行。
    5、在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相匹配。
    6、指定数据库的所有者。
    7、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中。 
      

  2.   

    我右击数据库,选"All tasks"后,出现下面四个选项:
    Backup Database...
    Restore Database...
    Import Data...
    Export Data...并没有附加数据库Attach Database啊????
    试过Restore Database恢复数据库和Import Data.导入数据库,但似乎与附加
    数据库到服务器无关。
    我用的是Microsoft SQL Server7.0英文版
      

  3.   

    可能是,我用SQL2000中文版,企业管理器中是有的。
      

  4.   

    那我要是做安装盘,岂不是要将myfile.mdf全部复制到光盘上???再在安装程序里用sp_attach_db将其连接上???
      

  5.   

    嗯,不错,在查询分析器中运行:
    sp_attach_db @dbname=N'MyDB',@filename1=N'd:\abc\myfile.mdf'
    就可以了(我的myfile.mdf在d盘abc文件夹)运行:
    sp_attach_db @dbname='MyDB',@filename1='d:\abc\myfile.mdf'
    去掉了N也可以,这个N有什么用的?
      

  6.   

    N转化为uincode字符,国际化字符:)
      

  7.   

    注意光盘里的文件都是只读的,你连接上可能数据库标记为read  only  
    看看把
      

  8.   

    当然可以, 重新创建*LOG文件
      

  9.   

    做安装盘用这种方法好象比较麻烦,需要的步骤如下:
    1.将mdf和ldf文件复制到硬盘上。
    2.将文件的只读属性去掉。
    3.写一段小程序,得到文件的路径,并登陆sql server,执行sp_attach_db命令。
    4.如果需要,执行其他sql命令,调整数据库,比如:数据库和日志的大小,登陆的帐号等等。理想的方法是将数据库的所有对象,包括数据库、表、视图、存储过程、帐号等写成一个脚本,测试成功后,在安装时登陆sql server,直接运行该脚本。