摘要:最近公司开发项目基本都已经是sql2012版本了!但是有个erp系统还是2000的数据库,所以想了个办法给搬移到sql2012统一管理......顺便备注下关于sqlserver执行大脚本文件内存不足提示的解决办法。
网上有很多办法,说什么备份还原了,脱离附件了!因为sql2000不能直接转移到2012版本!sql2012最低识别的sql备份数据库版本是sql2005。你要是再折腾装个2005那你就输了!
正题,解决办法也是老办法,脚本搬移(不适合太大的数据库一般500MB以内,太大的那还是按照百度上的办法吧)。
一.直接用sql2012的SQL SERVER Management Studio 工具,用ip地址连接到sql2000数据库。(这里用sql2012的工具连接原因是很多选项便于无需设置,便于直接产生兼容sql2012的脚本文件)
二.连接上Sql2000数据库后,右击你要转移的数据,例如mydb,右键菜单中选择【任务】--【生产脚本】--默认选项全部表下一步---【此处注意!】保存到文件后面的高级按钮
三.进入高级设置的画面后查看如图script版本是不是2012,再修改下数据类型改为【架构和数据】
四.点击完成,保存!如上脚本就已经生成好了!
五.再连接到本地数据库sql2012,右击数据库--新建数据库mydb,然后打开脚本存放位置!F5执行即可!
备注:假如遇到大脚本,sql无法执行的提示错误时!按照以下办法解决
SQLServer执行大脚本文件时,提示“无法执行脚本没有足够的内存继续执行程序 (mscorlib)”
解决办法:
用微软自带的sqlcmd工具,可以导入执行。以SQL Server 2012版本为例:
第一步:Win+R 键入:cmd 命令,开启命令行工具;
第二步:输入:(具体目录路径跟你安装的SQL位置有关)
代码:cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn[/quote] 第三步:输入: [quote]sqlcmd -S . -U sa -P 123 -d mydb -i D:\DB\mydb.sql |
|
参数说明:-S 服务器地址 -U 用户名 -P 密码 -d 数据库名称 -i 脚本文件路径
(注意前提条件是要在数据库新建空数据库mydb,建议将数据脚本文件拷到此目录,就只用写文件名,而不用写全路径了),注意参数大小写和空格符号。
参考:https://www.cnblogs.com/daley/p/11779335.html