Подтвердить что ты не робот

Максимальная длина имени экземпляра SQL Server?

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

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

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

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

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

4b9b3361

Ответ 1

Имена экземпляров для 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, который включает латинские символы a-z и A-Z, в дополнение к буквенным символам с других языков.

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

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

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

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

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

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

Ответ 2

Мой опыт работы в 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 - это тип данных в игре с функциями и системными хранимыми процедурами.

Ответ 3

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