LocalDBStartInstance function

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. 输出时,如果给定的缓冲区太小,则包含所需的缓冲区大小(以字符为单位),包括任何尾随空格。

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。

有关使用 LocalDB API 的代码示例,请参阅 SQL Server Express LocalDB 参考