项目操作过程中,利用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;
完成后,点击还原即可。