Справочник по API экземпляра SQL Server Express LocalDB

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

В API экземпляра SQL Server Express LocalDB используется упрощенная, «легкая» модель экземпляров. Хотя отдельные экземпляры LocalDB разделены на диске и в реестре, они используют тот же набор общих двоичных файлов LocalDB. Кроме того, LocalDB не использует службы; экземпляры LocalDB запускаются по запросу через вызовы API экземпляра LocalDB. В LocalDB имя экземпляра используется для указания того, с какими экземплярами LocalDB пользователь хочет работать.

Экземпляр LocalDB всегда принадлежит одному пользователю и является видимым и доступным только из контекста этого пользователя, за исключением случаев, когда включено совместное использование.

Хотя технически экземпляры LocalDB не идентичны традиционным экземплярам SQL Server, цели, для которых они используются, схожи. Они называются экземплярами, чтобы подчеркнуть эту схожесть и сделать их интуитивно понятнее для пользователей SQL Server.

LocalDB поддерживает два вида экземпляров: автоматические экземпляры (AI) и именованные экземпляры (NI). Идентификатор для экземпляра LocalDB — это имя экземпляра.

Автоматические экземпляры LocalDB

Автоматические экземпляры LocalDB являются «общими»; они автоматически создаются и управляются для пользователей и могут использоваться любым приложением. Один автоматический экземпляр LocalDB существует для каждой версии LocalDB, установленной на компьютере пользователя.

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

Автоматическое управление экземплярами

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

Другие операции управления экземплярами, такие, как удаление или включение и отключение совместного использования, также доступны для автоматических экземпляров. При удалении автоматического экземпляра, фактически, происходит его перезапуск. При следующей операции запуска он будет создан повторно. Удаление автоматического экземпляра может потребоваться при повреждении системных баз данных.

Правила именования автоматических экземпляров

Автоматические экземпляры LocalDB имеют специальный шаблон имен экземпляров, принадлежащий зарезервированному пространству имен. Он необходим для предотвращения конфликтов имен с именованными экземплярами LocalDB.

Имя автоматического экземпляра — это номер версии базового выпуска LocalDB в начале которого стоит символ «v». Имя выглядит как символ «v» и два числа, разделенные точкой; например v11.0 или V12.00.

Примеры недопустимых имен автоматических экземпляров:

  • 11.0 (отсутствует символ «v» в начале)

  • v11 (отсутствует точка и второй номер версии)

  • v11. (отсутствует второй номер версии)

  • V11.0.1.2 (номер версии состоит более чем из двух частей)

Именованные экземпляры LocalDB

Именованные экземпляры LocalDB являются «закрытыми». Они принадлежат одному приложению, которое отвечает за создание и управление ими. Именованные экземпляры LocalDB обеспечивают изоляцию и повышают производительность.

Создание именованных экземпляров

Пользователь может создавать именованные экземпляры явно, посредством API управления LocalDB или скрыто, посредством файла app.config для управляемого приложения. Управляемое приложение также может использовать API.

Каждый именованный экземпляр имеет соответствующую версию LocalDB; то есть он указывает на конкретный набор двоичных файлов LocalDB. Версия для именованного экземпляра устанавливается в процессе создания экземпляра.

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

Имя экземпляра LocalDB может состоять из 128 символов (ограничение накладывается типом данных sysname). Это существенно отличается от традиционных имен экземпляров SQL Server, которые ограничены именами NetBIOS из 16 ASCII-символов. Это различие связано тем, что LocalDB обрабатывает базы данных как файлы, и, соответственно, применяет к ним файловую семантику. Это дает пользователям большую свободу при выборе имен.

Имя экземпляра LocalDB может содержать любые символы Юникода, допустимые в компоненте имени файла. Недопустимыми в компоненте имени файла являются следующие символы: символы ASCII/Юникода с кодами от 1 до 31, символ двойных кавычек ("), символ меньше (<), символ больше (>), символ вертикальной черты (|), символ Backspace (\b), символ Tab (\t), двоеточие (:), звездочка (*), знак вопроса (?), обратная косая черта (\) и косая черта (/). Обратите внимание, что символ null (\0) допускается, потому что он используется для завершения строк; все, что находится после первого символа null не будет учитываться.

ПримечаниеПримечание

Список недопустимых символов зависит от операционной системы и может измениться в последующих выпусках.

Начальные и конечные пробелы в именах экземпляров не учитываются и будут усечены.

Чтобы избежать конфликтов имен, именованные экземпляры LocalDB не могут иметь имен, соответствующих шаблону автоматических экземпляров, приведенному в разделе «Правила именования автоматических экземпляров». При попытке создания именованного экземпляра с именем, соответствующим шаблону именования автоматических экземпляров, фактически будет создан экземпляр по умолчанию.

Справочные разделы по SQL Server Express LocalDB