解决sql脚本文件太大无法打开的问题(转载)

摘要:
继续下一步。最后,我们得到了一个巨大的sql脚本文件。接下来,我们需要在较低版本的数据库中创建一个新的目标数据库,然后运行sql脚本文件,直接在SqlServer的查询窗口中执行常规sql文件。然而,这个巨大的sql文件太大,SqlServer甚至记事本都无法打开。。。注意,如果脚本太大,可以关闭stderr消息以加快执行速度。。。。。使用退出选项时,sqlcmd退出并显示相应的错误值。

原文地址:https://blog.csdn.net/weixin_33910137/article/details/94087442

as we known,sql数据库高版本向低版本还原是不太可能但是又经常会碰到的事,今天实测了一种方法

步骤:任务—》生成脚本—》

解决sql脚本文件太大无法打开的问题(转载)第1张

下一步-》高级,选择数据库版本和编写脚本数据类型为架构和数据,可以保留数据。

解决sql脚本文件太大无法打开的问题(转载)第2张

继续下一步完成。

最终得到一个巨大的sql脚本文件

解决sql脚本文件太大无法打开的问题(转载)第3张

-》接下来首先要在低版本数据库中新建一个目标数据库,然后运行sql脚本文件即可

一般的sql文件我们都是直接在SqlServer的查询窗口直接执行的,但是这个巨大的sql文件实在是太大了,SqlServer甚至是记事本都无法打开。。。

于是就有了下面这个命令

sqlcmd -S .SQL2008  -U sa -P sql2008 -d backAmsData_nd -r -i C:UsersLYDDocumentsscript.sql

命令执行之后就是漫长的等待了,毕竟1.5个G的文件。。。

 注意,如果脚本太大,可以关闭stderr消息(不添加-r参数),以加快执行速度。

 。。。。友情提示:这样导数据速度相当慢无比慢,最好还是尽量清除垃圾数据,减少数据量。。。如此一来也就不需要这个方法了。。。。。。。。。。。。。。。。。。。。。。

解决sql脚本文件太大无法打开的问题(转载)第4张借别人的图说明一下

sqlcmd的命令参数如下:

 1    [-U 登录 ID]             [-P 密码]
 2解决sql脚本文件太大无法打开的问题(转载)第5张  [-S 服务器]                [-H 主机名]           [-E 可信连接]
 3解决sql脚本文件太大无法打开的问题(转载)第5张  [-d 使用数据库名称]  [-l 登录超时值]      [-t 查询超时值]
 4解决sql脚本文件太大无法打开的问题(转载)第5张  [-h 标题]                    [-s 列分隔符]         [-w 列宽]
 5解决sql脚本文件太大无法打开的问题(转载)第5张  [-a 数据包大小]         [-e 回显输入]         [-I 允许带引号的标识符]
 6解决sql脚本文件太大无法打开的问题(转载)第5张  [-L 列出服务器]         [-c 命令结束]         [-D ODBC DSN 名称]
 7解决sql脚本文件太大无法打开的问题(转载)第5张  [-q "命令行查询"]       [-Q "命令行查询" 并退出]
 8解决sql脚本文件太大无法打开的问题(转载)第5张  [-n 删除编号方式]     [-m 错误级别]
 9解决sql脚本文件太大无法打开的问题(转载)第5张  [-r 发送到 stderr 的消息]  [-V 严重级别]
10解决sql脚本文件太大无法打开的问题(转载)第5张  [-i 输入文件]            [-o 输出文件]
11解决sql脚本文件太大无法打开的问题(转载)第5张  [-p 打印统计信息]    [-b 出错时中止批处理]
12解决sql脚本文件太大无法打开的问题(转载)第5张  [-X[1] 禁用命令,[退出的同时显示警告]]
13解决sql脚本文件太大无法打开的问题(转载)第5张  [-O 使用旧 ISQL 行为禁用下列项]
14解决sql脚本文件太大无法打开的问题(转载)第5张      <EOF> 批处理
15解决sql脚本文件太大无法打开的问题(转载)第5张      自动调整控制台宽度
16解决sql脚本文件太大无法打开的问题(转载)第5张      宽消息
17解决sql脚本文件太大无法打开的问题(转载)第5张      默认错误级别为 -1 和 1

 :On Error[ exit | ignore]

设置在脚本或批处理执行过程中发生错误时要执行的操作。

使用 exit 选项时,sqlcmd 退出,并显示相应的错误值。

使用 ignore 选项时,sqlcmd 会忽略错误,并继续执行批处理或脚本。默认情况下,会输出错误消息。

执行文件夹中多文件

@ECHO OFF

SET SQLCMD="SQLCMD"
SET SQLFILEPATH="C:path	osqlfiles"
SET SERVER="ServerInstance"
SET DB="Database"
SET LOGIN="sa"
SET PASSWORD="pass"
SET OUTPUT="C:OutputLog.txt"

CD %SQLFILEPATH%

ECHO %date% %time% > %OUTPUT%

for %%f in (*.sql) do (
%SQLCMD% -S %SERVER% -d %DB% -U %LOGIN% -P %PASSWORD% -i %%~f >> %OUTPUT%
)

免责声明:文章转载自《解决sql脚本文件太大无法打开的问题(转载)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WINRAR广告和注册弹窗的解决办法线上redis热key问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySql 事务实现机制 几种日志undo log、 binlog、redo log

你知道MySQL的原子性是怎么保证的吗? 谁都知道在事务里边原子性的意思:”一个事务包含多个操作,这些操作要么全部执行,要么全都不执行“ 事务保证需要用到一下几个常见 log undo log binlog redo log 一、什么是binlog   binlog其实在日常的开发中是听得很多的,因为很多时候数据的更新就依赖着binlog。   举个很...

Vba+access+Excel编程

学习目的是建立简易的管理系统 当前学习路线:excel的宏的简单了解→access数据库的了解→两者的结合 excel的宏的简单了解: 关于宏的使用,大部分文章都提到说Vba很难写,但是可以通过一段现成的代码,修改关键部分来为自己所用,现成代码的获得方式就是录制宏,在其自动生成的代码上添加循环等修改,达到自己想要的效果。 关于宏的录制与代码的修改运行如下:...

ACCESS和MSSQL-如何随机读取数据库记录

查询语句只要这样写,就可以随机取出记录了 SQL="Select top 6 * from Dv_bbs1 where isbest = 1 and layer = 1 order by newID() desc" 在ACCESS里SELECT top 15 id FROM tablename order by rnd(id) SQL Server:Sel...

EF里一对一、一对多、多对多关系的配置和级联删除

原文:EF里一对一、一对多、多对多关系的配置和级联删除 本章节开始了解EF的各种关系。如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解。 I.实体间一对一的关系 添加一个PersonPhoto类,表示用户照片类 /// <summary> ///用户照片类 /// </summary>...

微信公众平台的开发过程及其要点

微信公众平台的搭建,首先需要确定整体的架构模式,我们一般选用B/S的整体架构模式,手机或者pc端可以通过关注微信公众 号,进而访问和操作公众号中的内容,其中的主要搭建包括: A.使用xampp继承开发环境来搭建后台,需要用到的服务器和数据库。(apache+mysql) B.前端页面通过html+php动态网页来实现。如果再加点js+css效果就显示的更加...

oracle语句批处理

数据量有40万条,从一个对象table_01一条一条取数到对象table_02,如果用原始的 Statement Statmt =comm.createStatement(); String sql="insert into tb2...."; Statmt.executeUpdate(sql); newCon.commit();//这里是每执行一条sq...