Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Applies to:SQL Server
Запускает экземпляр SQL Server Express LocalDB.
Header file:msoledbsql.h
Syntax
HRESULT LocalDBStartInstance(
PCWSTR pInstanceName ,
DWORD dwFlags ,
LPWSTR wszSqlConnection ,
LPDWORD lpcchSqlConnection
);
Arguments
pInstanceName
[Вход] Имя запускаемого экземпляра LocalDB.
dwFlags
[Вход] Зарезервировано для использования в будущем. В настоящее время должно быть равным 0.
wszSqlConnection
[Выход] Буфер для хранения строки подключения к экземпляру LocalDB.
lpcchSqlConnection
[Input/Output] On input contains the size of the wszSqlConnection buffer in characters, including any trailing nulls. На выходе, если указан недостаточный размер буфера, содержит требуемый размер буфера в символах, включая любые конечные символы NULL.
Returns
S_OK: функция завершилась успешно.
| Error | Description |
|---|---|
| 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 | The specified buffer wszSqlConnection is too small. |
| 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 | Произошла непредвиденная ошибка. Подробные сведения см. в журнале событий. |
Details
Both the connection buffer argument (wszSqlConnection) and the connection buffer size argument (lpcchSqlConnection) are optional. В следующей таблице показаны варианты использования этих аргументов и их результаты.
| Buffer | Buffer size | Rationale | Action |
|---|---|---|---|
NULL |
NULL |
Пользователь хочет запустить экземпляр и не требует имени канала. | Запускает экземпляр (имя канала и необходимый размер буфера не возвращаются). |
NULL |
Present | Пользователь запрашивает размер выходного буфера. (При следующем вызове пользователь скорее всего запросит запуск). | Возвращает требуемый размер буфера (без запуска и возврата канала). Результатом является S_OK. |
| Present | NULL |
Недопустимо; неверный вход. | Возвращается LOCALDB_ERROR_INVALID_PARAMETERрезультат. |
| Present | Present | Пользователь хочет запустить экземпляр и ему нужно имя канала, чтобы подключиться к нему после запуска. | Проверяет размер буфера, запускает экземпляр и возвращает имя канала в буфере. Аргумент размера буфера возвращает длину строки "server=", не включая завершающие значения NULL. |
Пример кода, использующий API LocalDB, см. в справочнике по SQL Server Express LocalDB.