128 votes

SQL Server : Longueur maximale des caractères des noms d'objets

Quelle est la longueur maximale des caractères du nom d'un objet (par exemple, une contrainte, une colonne) dans SQL Server 2008 ?

156voto

Martin Smith Points 174101

128 caractères. Il s'agit de la longueur maximale de la sysname datatype ( nvarchar(128) ).

61voto

Jaime Points 487

Oui, c'est 128, sauf pour tables temporaires dont les noms ne peuvent être que des 116 caractère long. Il est parfaitement expliqué ici .

Et la vérification peut être facilement faite 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)

0 votes

Je pense que par "comprobation" vous vouliez dire "test" ou "vérification". N'ai-je pas raison ?

25voto

Grkmksk Points 325

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X