Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Applies to:SQL Server
Vrátí informace pro zadanou instanci SQL Server Express LocalDB, například zda existuje, verzi LocalDB, která používá, zda je spuštěna atd.
Informace se vrátí v pojmenovaném LocalDBInstanceInfovýrazustruct, který má následující definici.
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;
Header file:msoledbsql.h
Syntax
HRESULT LocalDBGetInstanceInfo(
PCWSTR wszInstanceName ,
PLocalDBInstanceInfo pInstanceInfo ,
DWORD dwInstanceInfoSize
);
Arguments
wszInstanceName
[Vstup] Název instance.
pInstanceInfo
[Výstup] Vyrovnávací paměť pro uložení informací o instanci LocalDB.
dwInstanceInfoSize
[Input] Holds the size of the InstanceInfo buffer.
Returns
S_OK: Funkce byla úspěšná.
| Error | Description |
|---|---|
| LOCALDB_ERROR_NOT_INSTALLED | SQL Server Express LocalDB není v počítači nainstalovaný. |
| LOCALDB_ERROR_INVALID_PARAMETER | Jeden nebo více zadaných vstupních parametrů je neplatný. |
| LOCALDB_ERROR_INVALID_INSTANCE_NAME | Zadaný název instance je neplatný. |
| LOCALDB_ERROR_UNKNOWN_INSTANCE | Instance neexistuje. |
| LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG | Cesta, ve které má být instance uložena, je delší než MAX_PATH. |
| LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER | Nelze získat přístup ke složce instance. |
| LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY | Nelze získat přístup k registru instance. |
| LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT | Konfigurace instance je poškozena. |
| LOCALDB_ERROR_INTERNAL_ERROR | Došlo k neočekávané chybě. Podrobnosti najdete v protokolu událostí. |
Details
The rationale behind the introduction of the struct size argument (lpInstanceInfoSize) is to enable the API to return different versions of the LocalDBInstanceInfostruct, effectively enabling forward and backward compatibility.
If the struct size argument (lpInstanceInfoSize) matches the size of a known version of the LocalDBInstanceInfostruct, that version of the struct is returned. V opačném případě se vrátí LOCALDB_ERROR_INVALID_PARAMETER.
Typický příklad LocalDBGetInstanceInfo použití rozhraní API vypadá takto:
LocalDBInstanceInfo ii;
LocalDBInstanceInfo(L"Test", &ii, sizeof(LocalDBInstanceInfo));
Ukázku kódu, která používá rozhraní LocalDB API, najdete v referenčních informacích k SQL Serveru Express LocalDB.