SQL Server 2008のオブジェクト名(制約、列など)の最大文字長は?
128文字。これは、 sysname
データタイプ(nvarchar(128)
)の最大長です。
はい、128です。ただし、tempテーブルは例外です。名前の最大値は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
⋮ ⋮ ⋮
⋮ ⋮ ⋮
⋮ ⋮ ⋮