sql server还原数据库文件(.bak)常见问题解决办法笔记

时间:2021-12-13 17:28:47

还原的时候出现错误:备份集中的数据库备份与现有的数据库不同

  1. SQL Server 2005数据库还原出错
    错误具体信息为:备份集中的数据库备份与现有的A数据库不同
  2. 具体操作如下:
    第一次:新建了数据库A,数据库文件放在E:/DB/A目录下,选中该数据库右键-任务-还原-文件和文件组,在源设备中找到备份文件A.bak,目标数据库选中A,还原路径找到E:/DB/A目录下数据库文件(刚才所建数据库A的数据库文件),选择覆盖原数据库,点还原后出现错误:备份集中的数据库备份与现有的A数据库不同
  3. 第二次:删除了数据库A,直接在根节点的数据库右键-还原数据库,出来对话框中先找到备份文件A.bak,此时目标数据库下拉框中自动出现跟备份文件中数据库名一样的数据库名称,选择它,在选项的将数据库文件还原为中,把还原路径改为自己需要的E:/DB/A,文件名保留系统自带的,点还原后,成功还原。
  4. 总结:第一次还原出错的原因可能是,新建的数据库文件为A.MDF和A_Log.LDF,而还原的数据库文件为A_Data.MDF和A_Log.LDF,文件名不同,导致还原出错,第二次因为没有数据库文件,所以用的是还原的数据库文件名,因而能还原成功

法2:

  1. 还原 对于服务器“***\SQL2005”失败。 (Microsoft.SqlServer.Smo)

第一种问题:

        System.Data.SqlClient.SqlError: 对文件 "D:\wwwroot\MLDsys\huatian\lytkd\database\LoginControl.mdf" 的目录查找失败,出现操作系统错误 3(系统找不到指定的路径。)。 (Microsoft.SqlServer.Smo)

        解决这个问题的方法:

          选项---》将数据库文件还原为--》把mdf和ldf的路径改成你本地的数据库路径,.bak的备份文件保存的是原数据库的路径,所以就提示这个错误了。

第二种问题:

    System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'TESTDB' 数据库不同。 (Microsoft.SqlServer.Smo)

         解决这个问题的方法:

          选项--》选择 覆盖现有数据库