Максимальная длина имени экземпляра SQL Server? - PullRequest
14 голосов
/ 10 марта 2011

Мне нужно знать максимальную длину символа для имени экземпляра SQL Server для следующих версий (если есть разница между ними.)

  • SQL Server 2000
  • SQL Server 2005
  • SQL Server 2008
  • SQL Server 2008 R2

(Я работаю над приложением, которое будет взаимодействовать с SQL Server через API-интерфейсы DMO / SMO, и мне нужно проверить ввод пользователя.)

После долгих поисков в Google и BOL я не смог найти окончательного ответа. Я нашел вопросы и ответы на форуме (на других сайтах меньшего размера), но значения в этих ответах варьировались от 16 до 128 символов, и ни одно из них не содержало подтверждающую документацию или ссылки.

Кажется, это должно быть легко найти, но оно ускользнуло от меня. Любая помощь будет высоко ценится.

Ответы [ 4 ]

15 голосов
/ 10 марта 2011

Имена экземпляров для SQL Server ограничены 16 символами

http://msdn.microsoft.com/en-us/library/ms143531(v=SQL.105).aspx

Он не отображает SQL Server 2000 в режиме онлайн, но смотрит на BOL, который я установил для SQL Server 2000он также ограничен 16 символами.

SQL Server 2000 - Books Online

РЕДАКТИРОВАТЬ

Этот экран используется для добавления и обслуживания экземпляров Microsoft® SQL Server ™2000.

Параметры

По умолчанию

  • Если выбрано, экземпляр SQL Server 2000 по умолчаниюустановлено.Нажмите кнопку «Далее», чтобы продолжить процесс установки.

  • После очистки вы можете установить или поддерживать именованный экземпляр SQL Server 2000.

    Примечание Если этот флажок не установлен, программа установки обнаружила экземпляр SQL Server по умолчанию на этом компьютере.Экземпляр по умолчанию может быть установкой SQL Server 6.5, SQL Server версии 7.0, или это может быть уже установленный экземпляр SQL Server 2000 по умолчанию.Только одна установка SQL Server любой версии может быть экземпляром по умолчанию в любой момент времени.Для получения дополнительной информации см. Несколько экземпляров SQL Server.

Имя экземпляра

Введите имя нового экземпляра или имя экземпляра, чтобыподдерживать.Просмотрите и следуйте правилам для имен экземпляров.

Важно Рекомендуется, чтобы имена экземпляров содержали не более 10 символов.Имена экземпляров могут появляться в пользовательском интерфейсе различных SQL Server и системных инструментов;более короткие имена более читабельны.

** Правила именования экземпляров **

  • Имя экземпляра не учитывает регистр.

  • Имя экземпляра не может быть термином Default или MSSQLServer.

  • Имена экземпляров должны соответствовать правилам для идентификаторов SQL Server и не могут быть зарезервированными ключевыми словами.

  • Имена экземпляров ограничены 16 символами.

  • Первый символ в имени экземпляра должен быть буквой, амперсандом (&), подчеркиванием (_) или числомзнак (#).Допустимые буквы - это те, которые определены стандартом Unicode 2.0, который включает латинские символы az и AZ, в дополнение к буквенным символам из других языков.

  • Последующими символами могут быть:

    • Буквы, как определено в стандарте Unicode 2.0.

    • Десятичные числа из базовой латиницы или других национальных сценариев.

    • Знак доллара ($), знак числа (#) или подчеркивание (_).

  • В именах экземпляров запрещены пробелы или специальные символы.Ни обратная косая черта (), ни запятая (,), ни двоеточие (:), ни знак at не являются (@).

Предупреждение Только имена, допустимые в текущей кодовой странице Microsoft Windows®, можно использовать в именах экземпляров в SQL Server 2000. Если символ Unicode не поддерживается виспользуется текущая кодовая страница, возникает ошибка.

2 голосов
/ 07 декабря 2011

Мой опыт работы с SQL 2008 R2:

Windows Server 2008 R2 NetBIOS имеет ограничение в 15 символов.

Если вы хотите, чтобы имя экземпляра SQL Server по умолчанию выходило за пределы этого (@@ SERVERNAME), вам придется сделать следующее:

sp_dropserver 'oldname' идти sp_addserver 'newname_greater_than_15_characters', 'local' идти

Перезапустите MSSQLService, и ваше новое имя вступит в силу. Sysname - это тип данных, используемый в функции и хранимых процедурах системы.

0 голосов
/ 09 августа 2018

jl: sp_dropserver 'oldname' go sp_addserver 'newname_greater_than_15_characters', 'local' go Я считаю, что это имя сервера, а не имя экземпляра.

0 голосов
/ 24 февраля 2014

Единственные случаи, когда я видел ограничение по количеству символов, относятся к SQL Server 2012, и этот предел, как говорят другие, составляет 16.У меня есть экземпляры 2008 и 2008 R2, в которых имя, по-видимому, не ограничено (например, MSRS10.MSSQLSERVER_2008), но это может быть просто потому, что я не пытался использовать что-либо длиннее 23 или 24 символов.Я сожалею, что это не предоставляет информацию из документов, но я надеюсь, что это полезно.

...