Справочник по 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, перед которым стоит один символ v. Это выглядит как "v" плюс два числа с точкой между ними; например, версии 11.0 или 12.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), табуляция (\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.