我想确认完全限定的SQL Server对象名的最大长度。
如果您同意,请在下面给出答案。 (我不会获得这些投票的积分)
目前我制定了以下内容:
nvarchar
<Server>.<Database>.<Schema>.<Object>
sysname = nvarchar(128)
)quotename()
最大(128*2)+2
(每个字符转义+打开和关闭方括号).
这会使(((128*2)+2)*4)+3 = 1035
由此我得出公式:(((128*2)+2)*@nr_of_name_parts)+(@nr_of_name_parts-1)
我认为公式是正确的,因为插入3个部分最终会得到776,这恰好是sp_recompile过程的参数长度
答案 0 :(得分:2)
(根据Mikael Eriksson的评论,以社区维基回答我的问题)
<Server>.<Database>.<Schema>.<Object>
nvarchar(128)
)quotename()
最大(128*2)+2
(每个字符转义+打开和关闭方括号).
这会使(((128*2)+2)*4)+3 = 1035
由此我得出公式:(((128*2)+2)*@nr_of_name_parts)+(@nr_of_name_parts-1)
我认为这个公式是正确的,因为插入3个部分最终会得到776,这恰好是sp_recompile
程序的参数