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

121

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

jrara
la source

Réponses:

147

128 caractères. Il s'agit de la longueur maximale du sysnametype de données ( nvarchar(128)).

Martin Smith
la source
56

Oui, il est de 128, sauf pour les tables temporaires , dont les noms ne peuvent comporter que 116 caractères. C'est parfaitement expliqué ici .

Et la vérification peut être facilement effectuée avec le script suivant contenu dans le billet de blog avant:

DECLARE @i NVARCHAR(800)
SELECT @i = REPLICATE('A', 116)
SELECT @i = 'CREATE TABLE #'+@i+'(i int)'
PRINT @i
EXEC(@i)
Jaime
la source
Je pense que par «comprobation», vous pourriez avoir voulu dire «test» ou «vérification». Ai-je raison?
Stephen G Tuggy
20

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
                                    
                                    
                                    
GorkemHalulu
la source