Поделиться через


Функция LocalDBStartInstance

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

Запускает экземпляр SQL Server Express LocalDB.

Файл заголовка: msoledbsql.h

Синтаксис

HRESULT LocalDBStartInstance(  
           PCWSTR pInstanceName,  
           DWORD dwFlags,   
           LPWSTR wszSqlConnection,   
           LPDWORD lpcchSqlConnection   
);  

Параметры

pInstanceName
[Вход] Имя запускаемого экземпляра LocalDB.

dwFlags
[Вход] Зарезервировано для использования в будущем. В настоящее время должно быть равным 0.

wszSqlConnection
[Выход] Буфер для хранения строки подключения к экземпляру LocalDB.

lpcchSqlConnection
[Вход/выход] На входе содержит размер буфера wszSqlConnection в символах, включая конечные значения NULL. На выходе, если указан недостаточный размер буфера, содержит требуемый размер буфера в символах, включая любые конечные символы NULL.

Возвраты

S_OK
Функция выполнена успешно.

LOCALDB_ERROR_NOT_INSTALLED
Компонент SQL Server Express LocalDB не установлен на компьютере.

LOCALDB_ERROR_INVALID_PARAMETER
Один или несколько указанных входных параметров недопустимы.

LOCALDB_ERROR_INVALID_INSTANCE_NAME
Указанное имя экземпляра недопустимо.

LOCALDB_ERROR_UNKNOWN_INSTANCE
Экземпляр не существует.

LOCALDB_ERROR_INSUFFICIENT_BUFFER
Указан недостаточный размер буфера wszSqlConnection .

LOCALDB_ERROR_WAIT_TIMEOUT
При попытке получения блокировок синхронизации истекло время ожидания.

LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG
Длина пути к месту хранения экземпляра больше MAX_PATH.

LOCALDB_ERROR_CANNOT_GET_USER_PROFILE_FOLDER
Не удалось получить папку профиля пользователя.

LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
Не удалось получить доступ к папке экземпляра.

LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
Не удалось получить доступ к реестру экземпляра.

LOCALDB_ERROR_CANNOT_MODIFY_INSTANCE_REGISTRY
Невозможно изменить реестр экземпляра.

LOCALDB_ERROR_CANNOT_CREATE_SQL_PROCESS
Не удалось создать процесс для SQL Server.

LOCALDB_ERROR_SQL_SERVER_STARTUP_FAILED
Был запущен процесс SQL Server, но запуск SQL Server завершился с ошибкой.

LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
Конфигурация экземпляра была повреждена.

LOCALDB_ERROR_AUTO_INSTANCE_CREATE_FAILED
Невозможно создать автоматический экземпляр. Сведения об ошибке см. в журнале событий приложений Windows.

LOCALDB_ERROR_INTERNAL_ERROR
Произошла непредвиденная ошибка. Подробные сведения см. в журнале событий.

Сведения

Аргумент буфера соединения (wszSqlConnection) и аргумент размера буфера соединения (lpcchSqlConnection) являются необязательными. В следующей таблице показаны варианты использования этих аргументов и их результаты.

Buffer Размер буфера Правильно Действие
NULL NULL Пользователь хочет запустить экземпляр и не требует имени канала. Запускает экземпляр (имя канала и необходимый размер буфера не возвращаются).
NULL Сейчас Пользователь запрашивает размер выходного буфера. (При следующем вызове пользователь скорее всего запросит запуск). Возвращает требуемый размер буфера (без запуска и возврата канала). Результат равен S_OK.
Сейчас NULL Недопустимо; неверный вход. Возвращаемый результат — LOCALDB_ERROR_INVALID_PARAMETER.
Сейчас Сейчас Пользователь хочет запустить экземпляр и нуждается в имени канала для подключения к нему после запуска. Проверяет размер буфера, запускает экземпляр и возвращает имя канала в буфере.
Аргумент размера буфера возвращает длину строки "server=", не включая завершающие значения NULL.

Образец кода, использующего API LocalDB, см. в разделе SQL Server Express LocalDB Reference

См. также

Заголовок и сведения о версии SQL Server Express LocalDB