Quelle est la longueur maximale du nom d'objet (contrainte, colonne, par exemple) dans SQL Server 2008?
128 caractères. C'est la longueur maximale du type de données sysname
(nvarchar(128)
).
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)
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
⋮ ⋮ ⋮
⋮ ⋮ ⋮
⋮ ⋮ ⋮