林先森_007

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

项目操作过程中,利用Navicat操作SQL Server2008R2数据备份,结果发现数据丢失了很多,不得不先对数据丢失部分进行差异对比,然后再重新输入。

1、利用Navicat导出的数据格式为sql格式,可以直接还原导入;

2、利用SQL Server management Studio导出的数据格式为bak格式,导入navicat测试。

在navicat中新建数据库,这里新建名为:1111数据库

点击数据库:1111,找到SQL Server备份,然后在空白页--鼠标右键--从文件还原 

 先在常规中选择,还原到数据库:1111,然后选择--添加设备--找到电脑端.bak文件。

设置好常规操作后,选择高级设置

会出现以下问题请参考

对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\*****.MDF'。数据库 '****' 正在使用该文件”的问题。

将该文件拷贝出来,放到其他位置,然后还原数据库文件到,将这两个文件关联起来即可。

 

点击SQL预览亦可以用代码操作:

RESTORE DATABASE [1111]
FROM
  DISK = N'C:\Users\LinQL\Desktop\****.bak'
WITH
  FILE = 1,
  MOVE N'*****' TO N'C:\Users\LinQL\Desktop\sql\*****.mdf',
  MOVE N'*****_log' TO N'C:\Users\LinQL\Desktop\sql\*****_log.ldf',
  REPLACE,
  RECOVERY,
  STATS = 5;

 

 

 

完成后,点击还原即可。

 

posted on 2019-04-26 15:49  林先森_007  阅读(11190)  评论(1编辑  收藏  举报