首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SSMS生成的脚本无法执行

SSMS生成的脚本无法执行
EN

Database Administration用户
提问于 2018-12-12 16:33:32
回答 1查看 2.1K关注 0票数 4

因此,我需要从较新版本的Server导入一个小型DB (低于1GB) (我正在从2016年的SQL服务器恢复到2014年的SQL server),两者之间没有直接连接。这个DB是CMS的后端,所以不仅存储常规数据,还存储html内容。

我找到的解决方案(我跟着这个向导.)是在SSMS (schema+data)中使用"Generate“来编写数据库脚本,然后执行脚本在目标服务器上重新创建它。最终的脚本总数约为900 is。

我遇到的第一个问题是,SSMS不会执行脚本,因为它显然太大了。Sqlcmd能够开始执行脚本,但随后10000+行失败了。当我在失败的地方删除脚本时,它继续运行没有问题,所以我猜它是与内存不足相关的还是什么的?我收到的具体错误是

代码语言:javascript
运行
复制
"Sqlcmd Error: Syntax Error at line 14769 near command ' " ' in file ".

14769的实际线是:

代码语言:javascript
运行
复制
INSERT [dbo].[sf_control_properties] (
    [val], 
    [validation], 
    [prnt_prop_id], 
    [ordinal], 
    [nme], 
    [last_modified],
    [language], 
    [id], 
    [flags], 
    [description_], 
    [control_id], 
    [caption_], 
    [app_name], 
    [voa_version]
    ) 
VALUES (
    N'RulesGroupBackend', 
    NULL, 
    NULL, 
    1, 
    N'ControlDefinitionName', 
    CAST(N'2018-03-23T12:35:50.977' AS DateTime), 
    NULL, N'7cf975d2-f37d-4716-a634-0d6424921f38', 
    1, 
    NULL, 
    N'27c93f05-386b-4fd2-8aae-d6664ee7e57a', 
    NULL, 
    N'Title/', 
    1)

前面的行(多行语句14766-14768)是:

代码语言:javascript
运行
复制
INSERT [dbo].[sf_control_properties] (
    [val], 
    [validation], 
    [prnt_prop_id], 
    [ordinal], 
    [nme], 
    [last_modified], 
    [language], 
    [id], 
    [flags], 
    [description_], 
    [control_id], 
    [caption_], 
    [app_name], 
    [voa_version]
    ) 
VALUES (
    N'$(document).ready(function(){
       $("#content > div > section:nth-child(2) > div > div > div > div > div:nth-child(1) > h2").text("English Support");
});', 
    NULL, 
    N'5d056cac-51db-492c-b601-e88c82a8bc72', 
    1, 
    N'InlineCode',
     CAST(N'2018-11-27T20:33:59.060' AS DateTime), 
     NULL, 
     N'1f8ac206-d771-42b2-9991-0ca66bceff19', 
     1, 
     NULL, 
     NULL, 
     NULL, 
     N'Title/', 
     1
     )

我不知道该错误指的是什么,当它在第14769行的命令‘’附近说语法错误时

总之,我想知道A)这些B行的脚本可能出了什么问题),这是否是sqlcmd的问题(因为脚本在SSMS中也失败了)。对我来说,这个脚本看起来很好,毕竟它是由SSMS自动生成的,所以我搞不懂这个问题可能是什么。谢谢!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-12-12 17:23:20

尝试使用-x参数运行SQLCMD以禁用可变变电所。这将避免当脚本包含SQLCMD变量令牌(例如,$(图样-这里))但实际上不是SQLCMD变量时出现的问题。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/224796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档