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

返回

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。

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

另请参阅

SQL Server Express LocalDB 标头信息和版本信息