因此,我需要从较新版本的Server导入一个小型DB (低于1GB) (我正在从2016年的SQL服务器恢复到2014年的SQL server),两者之间没有直接连接。这个DB是CMS的后端,所以不仅存储常规数据,还存储html内容。
我找到的解决方案(我跟着这个向导.)是在SSMS (schema+data)中使用"Generate“来编写数据库脚本,然后执行脚本在目标服务器上重新创建它。最终的脚本总数约为900 is。
我遇到的第一个问题是,SSMS不会执行脚本,因为它显然太大了。Sqlcmd能够开始执行脚本,但随后10000+行失败了。当我在失败的地方删除脚本时,它继续运行没有问题,所以我猜它是与内存不足相关的还是什么的?我收到的具体错误是
"Sqlcmd Error: Syntax Error at line 14769 near command ' " ' in file ".
14769的实际线是:
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)是:
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自动生成的,所以我搞不懂这个问题可能是什么。谢谢!
发布于 2018-12-12 17:23:20
尝试使用-x参数运行SQLCMD以禁用可变变电所。这将避免当脚本包含SQLCMD变量令牌(例如,$(图样-这里))但实际上不是SQLCMD变量时出现的问题。
https://dba.stackexchange.com/questions/224796
复制相似问题