不积跬步,无以至千里;不积小流,无以成江海。

Dean's blog

  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

将SQL2014数据导入到SQL2012

由于SQLServer不支持从高版本还原到低版本,想实现从2014版本数据库还原到2012,就要通过其它手段来实现。还好SQLServer提供了两个工具:

        a、将数据库的对象生成脚本;

        b、大名鼎鼎的sqlcmd;

具体过程如下:

1、打开“生成和创建脚本”向导:

2、选择需要生成脚本的数据库对象:

3、选择“保存到文件”,选择脚本保存的目录,并点击“高级”进行脚本生成配置:

4、“高级脚本编写选项”:

可按需要对选项进行设置,其中有几个选项需要特别注意下:

        编写触发器脚本                    TRUE

        编写索引脚本                       TRUE

        服务器版脚本                       SQL Server 2012

        要编写脚本的数据的类型         仅限架构

其中“要编写脚本的数据的类型”可以同时生成架构和数据,这个要看数据库的大小,如果比较大,建议还是分成不同的文件,方便导入。

5、使用SQLCMD导入数据:

SQLCMD是SQLServer提供的,可用在命令行下执行脚本的应用。可查看其用法:

由于我将创建数据库结构和导入数据的分成不同的文件,另外,一些表数据比较多的,也拆分成不同的文件,将其全部放到同一个.bat文件下,统一执行即可。

如示例所示:

        -S                  指定数据库实例

        -U                  指定登录名

        -P                  指定登录密码

        -i                   指定执行的文件

6、对导入过程的验证:

在创建结构和导入数据的过程,很有可能出错,而且输出的内容比较多,怎么快速验证有没有错误呢。在执行.bat的时候,将输出结果,保存到文件上,如下:

         还原数据库.bat > log.txt

这样,所有的输出都会重定向到log.txt中。借助emeditor,即可快速检查是否有问题:

         a、将不需要的日志替换掉成空格,比如INSERT的日志“(1 行受影响)”;

         b、将多个空行替换为一个空行;

这样得到的日志就大大减少,可以快速验证导入过程是否存在问题了。

不允许评论
粤ICP备17049187号-1