sp_executesql参数大小限制

时间:2015-07-17 12:24:51

标签: sql sql-server tsql

我已经捕获了Entity Framework生成的查询,其中一个参数可以在nvarchar(max)字段中存储大量(400,000+个字符)的文本信息。我遇到的问题是,在执行语句时,字符串被截断为43679个字符。如果实体框架执行查询或我从查询窗口执行,则会发生这种情况。

整个sp_executesql语句的大小或语句的任何单个参数的大小是否有限制?

表架构

enter image description here

生成查询

我为了空间而排除了大字符串(标记)。

exec sp_executesql N'INSERT [CDP].[Content]([ProjectId], [Version], [DateAdded], [Owner], [Markup], [State])
VALUES (@0, @1, @2, @3, @4, @5)
SELECT [ContentId]
FROM [CDP].[Content]
WHERE @@ROWCOUNT > 0 AND [ContentId] = scope_identity()',N'@0 int,@1 int,@2 datetime2(7),@3 nvarchar(128),@4 nvarchar(max) ,@5 int',@0=193,@1=0,@2='2015-07-17 12:48:22.1168801',@3=N'<System>',@4=N'[[400000 charater string]]',@5=1

1 个答案:

答案 0 :(得分:1)

Management Studio和大多数其他编辑器将在某一点截断长文本的显示,您应该通过查询表select len(markup) ...

来验证插入数据的长度