傳回指定之 SQL Server Express LocalDB 執行個體的資訊,例如執行個體是否存在、執行個體使用的 LocalDB 版本、執行個體是否正在執行等等。
此資訊會以名為 LocalDBInstanceInfo 的 struct 傳回,其定義如下。
typedef struct _LocalDBInstanceInfo
{
// Contains the size of the LocalDBInstanceInfo struct
DWORD cbLocalDBInstanceInfoSize;
// Holds the instance name
TLocalDBInstanceNamewszInstanceName;
// TRUE if the instance files exist on disk, FALSE otherwise
BOOL bExists;
// TRUE if the instance configuration registry is corrupted, FALSE otherwise
BOOLbConfigurationCorrupted;
// TRUE if the instance is running at the moment, FALSE otherwise
BOOL bIsRunning;
// Holds the LocalDB version for the instance in the format: major.minor.build.revision
DWORD dwMajor;
DWORD dwMinor;
DWORD dwBuild;
DWORD dwRevision;
// Holds the date and time when the instance was started for the last time
FILETIME ftLastStartUTC;
// Holds the name of the TDS named pipe to connect to the instance
WCHARwszConnection;
// TRUE if the instance is shared, FALSE otherwise
BOOLbIsShared;
// Holds the shared name for the instance (if the instance is shared)
TLocalDBInstanceNamewszSharedInstanceName;
// Holds the SID of the instance owner (if the instance is shared)
WCHARwszOwnerSID;
// TRUE if the instance is Automatic, FALSE otherwise
BOOLbIsAutomatic;
} LocalDBInstanceInfo;
**標頭檔:**sqlncli.h
語法
HRESULT LocalDBGetInstanceInfo(
PCWSTR wszInstanceName,
PLocalDBInstanceInfo pInstanceInfo,
DWORD dwInstanceInfoSize
);
參數
wszInstanceName
[輸入] 執行個體名稱。pInstanceInfo
[輸出] 儲存 LocalDB 執行個體資訊的緩衝區。dwInstanceInfoSize
[輸入] 保存 InstanceInfo 緩衝區的大小。
傳回值
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_INSTANCE_FOLDER_PATH_TOO_LONG
應儲存執行個體的路徑長度超過 MAX_PATH。LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
無法存取執行個體資料夾。LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
無法存取執行個體登錄。LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
執行個體組態已損毀。LOCALDB_ERROR_INTERNAL_ERROR
發生意外的錯誤。 請參閱事件記錄檔,以取得詳細資料。
詳細資料
導入 struct 大小引數 (lpInstanceInfoSize) 背後的基本原理,是為了啟用 API 以傳回 LocalDBInstanceInfo struct 的不同版本,以有效地啟用新舊版相容性。
如果 struct 大小引數 (lpInstanceInfoSize) 符合 LocalDBInstanceInfo struct 已知版本的大小,則會傳回該版本的 struct。 否則會傳回 LOCALDB_ERROR_INVALID_PARAMETER。
LocalDBGetInstanceInfo API 使用方式的典型範例如下所示:
LocalDBInstanceInfo ii;
LocalDBInstanceInfo(L”Test”, &ii, sizeof(LocalDBInstanceInfo));
如需使用 LocalDB API 的程式碼範例,請參閱<SQL Server Express LocalDB 參考>。