一、背景
由于公司的项目要部署到服务器上,在我电脑上数据库版本为SQL Server 2012 R2,但服务器上的数据库版本为SQL Server 2008。一开始我天真的认为把数据库分离用mdf文件在服务器上附加就可以完成,但结果可想而知,没遇到这种情况的我,又尝试了还原、备份,还是不能移植,随后通过百度学习了 运用数据库生成脚本 来完成。
二、解决方法
2.1 右击需要降级的数据库,点击任务(分离、备份、还原、生成脚本操作都在任务中)
2.2 在任务的二级菜单中,找到我们要用的生成脚本
2.3 在弹出的页面中(生成和发布脚本),当前为简介页面,作为向导页面,展示用户生成脚本的步奏,直接点击下一步即可
2.4 生成和发布脚本页面,点击选择对象
编写脚本对象:整个库 ——选择编写整个数据库及所有数据库对象的脚本
单个表——选择选择特定数据库对象——后选中你要生成脚本的数据表
选定完成后,点击下一步按钮。
2.5 点击设置脚本编写选项
点击高级,在弹出的选项框中找到Script for Server Version选项
向下兼容,不向上,所以只能看到当前数据库版本之前的Version
选择好对应数据库的版本号
第二个要更改的地方是要编写脚本的数据的类型
架构和数据:建库建表及其中的数据
仅限架构:建库建表,里面没有数据
仅限数据:只生成数据的脚本
我们这边要移植整个数据库,所以选择架构和数据
选择文件名,选择脚本存放的位置,并且起一个名字,你可以根据你要生成的数据库版本起
如:数据库名for版本(详细一点可以是:数据库名 + 当前版本 + for + 目标版本)
2.5 点击下一步,下一步,然后单击完成按钮即可完成脚本的生成及保存。
这样就完成了生成脚本,现在你获得了一个后缀为.sql的文件。
三、服务器上运用
3.1 在服务器上点击文件,打开文件SQL 脚本,点击执行SQL脚本,执行成功。
3.2 正常在3.1就已经结束,但有的数据库脚本内容比较庞大,会遇到out of memory 内容不足的问题
出现此错误主要是因为.sql的脚本文件过大(一般都超过100M)造成内存无法处理这么多的数据。
我这边是把脚本分段执行,避免造成内存无法处理的情况。
我是毕业半年的新人,想把自己遇到的问题记录下来,也当是给自己的做一次温故,希望这篇文章对你有帮助。