#sql-server #sql-server-2008 #tsql
#sql-сервер #sql-server-2008 #tsql
Вопрос:
Какова максимальная длина символов имени объекта (например, ограничения, столбца) в SQL Server 2008?
Ответ №1:
128 символов. Это максимальная длина sysname
типа данных ( nvarchar(128)
).
Ответ №2:
Да, она равна 128, за исключением временных таблиц, длина имен которых может составлять не более 116 символов. Это прекрасно объяснено здесь.
И проверка может быть легко выполнена с помощью следующего сценария, содержащегося в предыдущем сообщении в блоге:
DECLARE @i NVARCHAR(800)
SELECT @i = REPLICATE('A', 116)
SELECT @i = 'CREATE TABLE #' @i '(i int)'
PRINT @i
EXEC(@i)
Комментарии:
1. Я думаю, что под «проверкой» вы, возможно, имели в виду «тест» или «верификацию». Я прав?
2. @Jaime Спасибо, что научил меня новому слову, тебе следовало оставить его в ответе.
Ответ №3:
Вы также можете использовать этот скрипт для получения дополнительной информации:
EXEC sp_server_info
Результат будет примерно таким:
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
⋮ ⋮ ⋮
⋮ ⋮ ⋮
⋮ ⋮ ⋮