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

Область применения: SQL Server

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

API экземпляра SQL Server Express LocalDB использует упрощенную модель экземпляра light. Хотя отдельные экземпляры 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, предшествующий одному символу "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

Заголовок и сведения о версии SQL Server Express LocalDB
Содержит сведения из файла заголовка и разделы реестра для поиска API экземпляра LocalDB.

Программа командной строки SqlLocalDB.exe
Описывает программу SqlLocalDB.exe, средство для управления экземплярами LocalDB из командной строки.

Функция LocalDBCreateInstance
Описывает функцию создания нового экземпляра LocalDB.

Функция LocalDBDeleteInstance
Описывает функцию удаления экземпляра LocalDB.

Функция LocalDBFormatMessage
Описывает функцию возврата локализованного описания ошибки LocalDB.

Функция LocalDBGetInstanceInfo
Описывает функцию получения сведений об экземпляре LocalDB, например, существует ли он, сведения о его версии, запущен ли он и т.п.

Функция LocalDBGetInstances
Описывает функцию возврата всех экземпляров LocalDB с указанной версией.

Функция LocalDBGetVersionsInfo
Описывает функцию возврата сведений об определенной версии LocalDB.

Функция LocalDBGetVersions
Описывает функцию возврата всех версий LocalDB, доступных на компьютере.

Функция LocalDBShareInstance
Описывает функцию включения для совместного использования заданного экземпляра LocalDB.

Функция LocalDBStartInstance
Описывает функцию запуска указанного экземпляра LocalDB.

Функция LocalDBStartTracing
Описывает функцию включения трассировки API для пользователя.

Функция LocalDBStopInstance
Описывает функцию остановки указанного экземпляра LocalDB.

Функция LocalDBStopTracing
Описывает функцию отключения трассировки API для пользователя.

Функция LocalDBUnshareInstance
Описывает функцию остановки совместного использования указанного экземпляра LocalDB.