web-dev-qa-db-ja.com

SQL Server:オブジェクト名の最大文字長

SQL Server 2008のオブジェクト名(制約、列など)の最大文字長は?

117
jrara

128文字。これは、 sysname データタイプ(nvarchar(128))の最大長です。

142
Martin Smith

はい、128です。ただし、tempテーブルは例外です。名前の最大値は116文字長。これは完全に ここで説明 です。

また、前のブログ投稿に含まれている次のスクリプトを使用して、検証を簡単に行うことができます。

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

このスクリプトを使用して、詳細情報を把握することもできます。

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
           ⋮  ⋮                       ⋮
           ⋮  ⋮                       ⋮
           ⋮  ⋮                       ⋮
16
GorkemHalulu