web-dev-qa-db-fra.com

SQL Server: longueur maximale des caractères des noms d'objet

Quelle est la longueur maximale du nom d'objet (contrainte, colonne, par exemple) dans SQL Server 2008?

117
jrara

128 caractères. C'est la longueur maximale du type de données sysname (nvarchar(128)).

142
Martin Smith

Oui, il est 128, sauf pour tables temporaires , dont le nom ne peut être que 116 caractère long. C'est parfaitement expliqué ici .

Et la vérification peut être facilement réalisée avec le script suivant contenu dans l'article de blog précédent:

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

Vous pouvez également utiliser ce script pour obtenir plus d'informations:

EXEC sp_server_info

Le résultat sera quelque chose comme ça:

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