SQLServer: 对象名称的最大字符长度

SQLServer2008中对象名称(例如约束、列)的最大字符长度是多少?

121222 次浏览

128个字符。这是 sysname数据类型(nvarchar(128))的最大长度。

是的,它是128,除了 临时工桌,它的名字只能达到 116字符的长度。 这是完美的 在这里解释

而验证可以很容易地用下面的脚本包含在博客文章之前:

DECLARE @i NVARCHAR(800)
SELECT @i = REPLICATE('A', 116)
SELECT @i = 'CREATE TABLE #'+@i+'(i int)'
PRINT @i
EXEC(@i)

你也可以使用这个脚本找出更多的信息:

EXEC sp_server_info

结果会是这样的:

attribute_id | attribute_name        | attribute_value
-------------|-----------------------|-----------------------------------
1 | DBMS_NAME             | Microsoft SQL Server
2 | DBMS_VER              | Microsoft SQL Server 2012 - 11.0.6020.0
10 | OWNER_TERM            | owner
11 | TABLE_TERM            | table
12 | MAX_OWNER_NAME_LENGTH | 128
13 | TABLE_LENGTH          | 128
14 | MAX_QUAL_LENGTH       | 128
15 | COLUMN_LENGTH         | 128
16 | IDENTIFIER_CASE       | MIXED
⋮  ⋮                       ⋮
⋮  ⋮                       ⋮
⋮  ⋮                       ⋮