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

jra*_*ara 118 t-sql sql-server sql-server-2008

SQL Server 2008中对象名称的最大字符长度(例如约束,列)是多少?

Mar*_*ith 143

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


Jai*_*ime 55

是的,它是128,除了临时表,其名称最长可达116个字符.这里有完美的解释.

并且可以使用以下博客文章中包含的以下脚本轻松进行验证:

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


Gor*_*ulu 16

您还可以使用此脚本来了解更多信息:

EXEC sp_server_info
Run Code Online (Sandbox Code Playgroud)

结果将是这样的:

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
           ?  ?                       ?
           ?  ?                       ?
           ?  ?                       ?
Run Code Online (Sandbox Code Playgroud)