在我粘贴一大段代码后 SSMS 崩溃了
SSMS crashing after I paste a very large piece of code on it
我正在尝试在 SSMS 上粘贴大型 UNION ALL 脚本构造。但是当我粘贴它时,SSMS 会自动崩溃。如果有帮助,代码的结构是:
select ID from (
select '00123' ID UNION ALL
select '00124' ID UNION ALL
select '00126' ID UNION ALL
select '00129' ID UNION ALL
select '00131' ID UNION ALL
....
select '98254' ID) tab
还有三万多"select"。我使用的是 SSMS 2012 版本 - 11.0.3513.0。 OS
是 Windows 7 Professional(64 位),RAM 是 64 GB。
我尝试过的东西 -
- 不是粘贴,而是创建了一个
.sql
文件,然后将其与内容一起使用,这样剪贴板就不会被阻塞。
- 使用 excel 的 "connect to sql server" 选项。但是,当我粘贴到 "SQL" 文本框时,它正在修剪一大块代码。
我需要做什么才能得到它运行?
在命令提示符下使用 SQLCMD 运行 sql 脚本
sqlcmd -S <ComputerName>\<InstanceName> -i <MyScript.sql> -o outp.txt
发生崩溃很可能是因为 intellsense 试图解析 UNION 大小写,这很复杂。
使用 VALUES 语句会使查询更易于解析。 (如果没有 - 尝试禁用 Intellisense)
SELECT *
FROM (VALUES('00123'),
('00124'),
('00125')) as t(v)
我正在尝试在 SSMS 上粘贴大型 UNION ALL 脚本构造。但是当我粘贴它时,SSMS 会自动崩溃。如果有帮助,代码的结构是:
select ID from (
select '00123' ID UNION ALL
select '00124' ID UNION ALL
select '00126' ID UNION ALL
select '00129' ID UNION ALL
select '00131' ID UNION ALL
....
select '98254' ID) tab
还有三万多"select"。我使用的是 SSMS 2012 版本 - 11.0.3513.0。 OS
是 Windows 7 Professional(64 位),RAM 是 64 GB。
我尝试过的东西 -
- 不是粘贴,而是创建了一个
.sql
文件,然后将其与内容一起使用,这样剪贴板就不会被阻塞。 - 使用 excel 的 "connect to sql server" 选项。但是,当我粘贴到 "SQL" 文本框时,它正在修剪一大块代码。
我需要做什么才能得到它运行?
在命令提示符下使用 SQLCMD 运行 sql 脚本
sqlcmd -S <ComputerName>\<InstanceName> -i <MyScript.sql> -o outp.txt
发生崩溃很可能是因为 intellsense 试图解析 UNION 大小写,这很复杂。 使用 VALUES 语句会使查询更易于解析。 (如果没有 - 尝试禁用 Intellisense)
SELECT *
FROM (VALUES('00123'),
('00124'),
('00125')) as t(v)