实例:一个mssql 2008的数据库备份,要还原到2005上,本来以为备份时把数据库兼容级别为2005或2000、再备份,就可以还原到2005上,但事实上不行。
通过google找到了一个办法,有点麻烦,但还是可以比较完美还原的。
高版本上导出兼容在低版本上的创建数据库结构的的sql脚本,拿到低版本上执行,创建数据库及表结构,然后使用导入数据功能,从高版本上导入到低版本上。导入时,要对每个表勾选“启用标识插入”。
具体来说:
mssql manger studio 打开"对象资源管理器"(没有的话按F8), 连接到待备份的数据库,在待备份的数据库上点右键 - 任务 -生成脚本
在"脚本向导"的"选择数据库"中, 勾选"为所选数据库中的所有对象编写脚本"
下一步的"设置脚本选项"中, 找到"为服务器版本编写脚本"项, 选择合适的低版本("SQL Server 2005"或2000 )(这步很重要!!)
继续完成向导过程,最后把脚本保存到一个 .sql 脚本文件
拿这个sql脚本文件到目标数据库(低版本mssql)上,执行。
然后使用mssql的导入导出功能,勾选需要的表(通常是“全选”),然后点选所有的表,点“编辑映射”,启用标识插入。然后继续即可。
延伸阅读
- 不用“维护计划”实现mssql定期备份并压缩存档
- 一个无敌的下载站点:msdn I tell you,作什么用就不说了,谁用谁知道
- ms sql server中获取上次插入记录的标识id号(类似mysql LAST_INSERT_ID)
- ms sql server下unix时间戳函数unix_timestamp, from_unixtime(与mysql兼容)
- php+MSSQL的坑:(n)varchar型字段被截断
- [转]ms sql server 存储过程,查看正在执行的sql语句
- MSSQL数据库超时 80040e31
- PHP+MSSQL TEXT字段被截断的解决方案
- ms sql server 查看服务器当前的连接会话及会话信息(客户端ip地址,协议,时间,读写情况等)
- centOS 6下通过yum安装php-mssql以使php支持microsoft sql server连接
- mssql(microsoft sql server2005)数据导入mysql方法
- excel表格导入mysql方法(手工导入)
- linux下使用tar差异化备份目录
- 简单命令对mysql数据库的备份与还原
- mysql数据库还原出错ERROR:Unknown command '\\'解决手记