试试
sp_attach_single_file_db [ @dbname = ] 'dbname'
    , [ @physname = ] 'physical_name'如:
EXEC sp_attach_single_file_db @dbname = 'pubs', 
   @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

解决方案 »

  1.   

    EXEC  sp_attach_single_file_db  'dbname','d:\mssql7\data\dbname.mdf';  .MDF的路径名称自己修改.
      

  2.   

    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'
      

  3.   

    没有事务日志 ? no .ldf,use 
    EXEC  sp_attach_single_file_db  'dbname','d:\mssql7\data\dbname.mdf'
      

  4.   

    SQL SERVER的安装盘由C改为了D,这是否有影响?
      

  5.   

    因为新建一个数据库,用旧的MDF文件覆盖新的MDF文件,新的ldf文件和旧的MDF文件不匹配,数据库会置疑,这时用sp_attach_single_file_db也没有用了。将新的ldf文件改名或移走,再用sp_attach_single_file_db就OK了。1、在查询分析器中执行:
    exec sp_detach_db 'DB_Name','true'
    2、在我的电脑中将日志的物理文件xxx_Log.LDF改名。
    3、在查询分析器中执行:
    exec sp_attach_single_file_db 'DB_Name','C:\Program Files\Microsoft SQL Server\MSSQL\Data\DB_Name.MDF'
    4、如果上一步成功,将步骤2中改名后的文件删除。
      

  6.   

    如果第三步失败了,该怎么办?请 foolishchao(亚超)不吝指教!
      

  7.   

    直接用sqlserver2000 的企业管理器,就可以附加数据库。
    在数据库 按右键 所有任务--附加数据库--选择你原来的mdf文件。就可以了。
      

  8.   

    我现在通过在单用户状态下修改系统表sysdatabases,将该数据库的状态修改为了32768(紧急情况),数据库恢复回来了,取消单用户状态,可是却不能正常应用,其他用户无法连接上。当将系统表sysdatabases中数据库状态修改为正常情况时,数据库又处于置疑状态,无法使用。请问高手如何解决这个问题?