SQL脚本太大没办法直接放到SQL Server 执行方式
在做站点迁移的时候遇到一个问题,生成了一个较大的脚本文件,直接放SQL Server会提示文件过大,然后用文本打开也提示过大。
接下来就是脚本文件过大的方法:
打开cmd 输入 sqlcmd -S (A) -U (B) -P (C) -r -i (D)
A=数据库服务器名称 ,B=登录名 ,C=密码 ,D=脚本路径(C:\script.sql)
就是图中这样。

注意,如果脚本太大,可以关闭stderr消息(不添加-r参数),以加快执行速度。
sqlcmd的命令参数如下:
1 [-U 登录 ID] [-P 密码]
2
[-S 服务器] [-H 主机名] [-E 可信连接]
3
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
4
[-h 标题] [-s 列分隔符] [-w 列宽]
5
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
6
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
7
[-q "命令行查询"] [-Q "命令行查询" 并退出]
8
[-n 删除编号方式] [-m 错误级别]
9
[-r 发送到 stderr 的消息] [-V 严重级别]
10
[-i 输入文件] [-o 输出文件]
11
[-p 打印统计信息] [-b 出错时中止批处理]
12
[-X[1] 禁用命令,[退出的同时显示警告]]
13
[-O 使用旧 ISQL 行为禁用下列项]
14
<EOF> 批处理
15
自动调整控制台宽度
16
宽消息
17
默认错误级别为 -1 和 1
:On Error[ exit | ignore]
设置在脚本或批处理执行过程中发生错误时要执行的操作。
使用 exit 选项时,sqlcmd 退出,并显示相应的错误值。
使用 ignore 选项时,sqlcmd 会忽略错误,并继续执行批处理或脚本。默认情况下,会输出错误消息。
