What is the maximum character length of object name (e.g. constraint, column) in SQL Server 2008?
Asked
Active
Viewed 1.3e+01k times
3 Answers
164
128 characters. This is the max length of the sysname
datatype (nvarchar(128)
).

Martin Smith
- 438,706
- 87
- 741
- 845
63
Yes, it is 128, except for temp tables, whose names can only be up to 116 character long. It is perfectly explained here.
And the verification can be easily made with the following script contained in the blog post before:
DECLARE @i NVARCHAR(800)
SELECT @i = REPLICATE('A', 116)
SELECT @i = 'CREATE TABLE #'+@i+'(i int)'
PRINT @i
EXEC(@i)

Jaime
- 1,110
- 1
- 8
- 14
-
1I think that by "comprobation" you might have meant "test" or "verification". Am I right? – Stephen G Tuggy Apr 13 '18 at 21:15
-
1@Jaime Thanks for teaching me a new word, you should have left it in the answer. – John Oct 24 '22 at 14:27
29
You can also use this script to figure out more info:
EXEC sp_server_info
The result will be something like that:
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
⋮ ⋮ ⋮
⋮ ⋮ ⋮
⋮ ⋮ ⋮

Alexander Roskamp
- 57
- 1
- 6

GorkemHalulu
- 2,925
- 1
- 27
- 25