【发布时间】:2011-08-14 01:55:01
【问题描述】:
SQL Server 2008 中对象名称(例如约束、列)的最大字符长度是多少?
【问题讨论】:
标签: sql-server sql-server-2008 tsql
SQL Server 2008 中对象名称(例如约束、列)的最大字符长度是多少?
【问题讨论】:
标签: sql-server sql-server-2008 tsql
128 个字符。这是 sysname 数据类型 (nvarchar(128)) 的最大长度。
【讨论】:
是的,它是 128,除了 临时表,其名称最多只能有 116 个字符。 这是完美的explained here。
并且可以使用之前博文中包含的以下脚本轻松进行验证:
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
⋮ ⋮ ⋮
⋮ ⋮ ⋮
⋮ ⋮ ⋮
【讨论】: