如果是备份文件,如下操作:
如果用ENTERPRISE MANAGER恢复,具体操作步骤如下:
1、打开ENTERPRISE MANAGER,展开到DATABASES。
2、在DATABASES上点右键,“所有任务”中选“RESTORY DATABASE”
3、在GENERAL标签页中选择“FROM DEVICE”,再点击“SELECT DEVICE”
4、在出现的窗口中点击“ADD”,再在窗口中选择“FILE NAME”,点击...按钮
5、选中您所创建的备份文件,即可成功。
如果用SQL语句,我只会通过*.mdf建立数据库,如下:
首先创建一个与原来数据库同名的数据库、LOGIN,然后将DATA文件夹中的*.mdf、*.ldf删除,将你以前备份的*.mdf考到DATA文件夹中,然后在用SQL语句:
exec sp_detach_db @db_name='dbname', 
   'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf', 
exec sp_attach_single_file_db 'dbname',
  'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf',
----------------------------------
右键数据库-->所有任务-->还原数据库-->写入名字-->选项-->改为现在的data目录的路径-->OK
"写入名字"-->不要与现在的冲突了,或选强制恢复
"改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdf
--------------------------
backup database systo disk='\\wind\c\a.bak' with init
----------------------
还原 RESTORE DATABASE TestDB 
   FROM DISK = 'c:\2002.dat'
--------------------
远程
SQL异地备份失败,归根结底是权限问题!!!
如:
   SQLServer备到FileServer上
   那你的SQLServer的启动用户必须在FileServer上有足够的权限!
--------------------^^^---------------------------------
1、SQLServer上新建一SQLUser用户权限大一点。
2、FileServer上建同一用户对某一文件夹有足够权限。
3、两机的SQLUser密码相同(方便一点)
4、将SQLServer改为SQLUser启动
   (管理工具-->服务-->mssql项-->属性-->指定用户及密码)
5、\\192.168.*.*\文件夹\ShareBak.Bak就可以了

解决方案 »

  1.   

    拷贝你的data目录下的数据库文件
        停止sql服务或脱机-->拷贝你的data目录下的数据库文件
    粘贴你的数据库文件到目标机上
        右键数据库-->所有任务-->附加数据库
      

  2.   

    第一贴,贴错,不好意思!
    或备份、恢复
    先备份
    恢复如下:
    右键数据库-->所有任务-->还原数据库-->写入名字-->选项-->改为现在的data目录的路径-->OK
    "写入名字"-->不要与现在的冲突了,或选强制恢复
    "改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdf
    --------------------------
      

  3.   

    agreed with  pengdali(大力)
      

  4.   

    backup到文件 再resore也可以的
      

  5.   

    备份再恢复还是麻烦了一点,用SP_ATTACH_DB最简单。
    停止SQL SERVER,把MDF和LDF文件COPY 下来,放到她的机器上,
    再使用 SP_ATTACH_DB 就可以了。具体用法参见联机丛书
      

  6.   

    谢谢大家^_^
    我打算按照pengdali(大力)的
    “首先创建一个与原来数据库同名的数据库、LOGIN,然后将DATA文件夹中的*.mdf、*.ldf删除,将你以前备份的*.mdf考到DATA文件夹中,然后在用SQL语句:
    exec sp_detach_db @db_name='dbname', 
       'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf', 
    exec sp_attach_single_file_db 'dbname',
      'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf',

    来做
    我新建立了一个shoptest数据库
    然后把data下shop的Shop_Log.LDF与Shop_Data.MDF复制,重命名来代替了shoptest的.LDF与.MDF文件,连接sql server后,在shoptest目录下就看到了所有的东西。
    我想问的是
    这样是不是就好了呢?
    还要
    sp_detach_db和sp_attach_db做什么用呢?
    这样使用的话有什么不良之处吗?
      

  7.   

    sp_detach_db分离数据库
    sp_attach_db附加数据库学方法,多试两种,都行的!
      

  8.   

    数据库备份的方法前面介绍的差不多了,我说说用第三方工具的方法吧
    这里推荐一个软件toad,链接你的数据库,选择你的表,用export功能可以很方便的选择倒出数据还是倒出表,她的倒出很灵活,是到处到sql教本相当于自动创建一个教本.文件内容为creat... insert ..相关,呵呵.非常方便,推荐使用
      

  9.   

    我的意思是
    在她的机器上建一个数据库为shop
    然后把Shop_Log.LDF与Shop_Data.MDF copy到她的data目录下代替她生成的这两个文件,行吗?
    就不用sp_detach_db和sp_attach_db了
    我在自己机器上试了一下,可以读出所有的数据
    不知道这样有什么问题没有
      

  10.   

    呵呵!那你要事先建立同名的数据库,覆盖旧的,建议先停止sql服务!
      

  11.   

    好的
    最后一个问题:
    我有点不明白的是
    既然直接覆盖就可以
    那么用sp_attach_db与不用有什么区别呢?
    那么为什么还需要那么麻烦的导入导出呢?
    直接把两个文件压缩一下保存起来不就可以了吗
    恢复时再解压缩还原回去就可以了不明白,盼解答
      

  12.   

    覆盖是变通的做法!有些弊端!如:你本地可以,万一对方的文件名和你的不一样呢??
    sp_attach_db就是附加数据库:
    粘贴你的数据库文件到目标机上-->右键数据库-->所有任务-->附加数据库导入导出是因为对方是7.0或6.5你是2000怎么办呢???