LocalDBStartInstance 関数
指定した名前の SQL Server Express LocalDB インスタンスを起動します。
ヘッダー ファイル: sqlncli.h
構文
HRESULT LocalDBStartInstance(
PCWSTR pInstanceName,
DWORD dwFlags,
LPWSTR wszSqlConnection,
LPDWORD lpcchSqlConnection
);
パラメーター
pInstanceName
[入力] 起動する LocalDB インスタンスの名前。dwFlags
[入力] 将来の使用のために予約されています。 現時点では、0 に設定する必要があります。wszSqlConnection
[出力] LocalDB インスタンスへの接続文字列を格納するバッファー。lpcchSqlConnection
[入出力] 入力側に、末尾の NULL があればそれも含めて、wszSqlConnection バッファー サイズ (単位は文字数) を格納します。 出力側では、所定のバッファー サイズが小さすぎる場合、末尾の NULL も含め、必要なバッファー サイズ (単位は文字数) を格納します。
戻り値
S_OK
関数が正常に実行されました。LOCALDB_ERROR_NOT_INSTALLED
SQL Server Express LocalDB は、コンピューターにインストールされていません。LOCALDB_ERROR_INVALID_PARAMETER
指定した 1 つまたは複数の入力パラメーターが無効です。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) は両方ともオプションです。 次の表は、これらの引数を使用するためのオプションとその結果を示しています。
バッファー |
バッファー サイズ |
理論的根拠 |
動作 |
---|---|---|---|
NULL |
NULL |
ユーザーはインスタンスを起動する必要がありますが、パイプ名は必要ありません。 |
インスタンスを起動します (パイプの戻り値と必要なバッファー サイズの戻り値なし)。 |
NULL |
存在 |
ユーザーが出力バッファー サイズを要求します (次の呼び出しで、ユーザーはおそらく実際の起動を要求します)。 |
必要なバッファー サイズを返します (起動とパイプの戻り値なし)。 結果は S_OK です。 |
存在 |
NULL |
許可されていません。入力に誤りがあります。 |
返される結果は、LOCALDB_ERROR_INVALID_PARAMETER です。 |
存在 |
存在 |
ユーザーはインスタンスを起動する必要があり、起動後に接続するパイプ名が必要です。 |
バッファー サイズを確認し、インスタンスを起動し、バッファーにあるパイプ名を返します。 バッファー サイズ引数は、"server=" 文字列の長さを返します。末尾の NULL は除外されます。 |
LocalDB API を使用するコード例については、「SQL Server Express LocalDB リファレンス」を参照してください。