LocalDBGetInstanceInfo 함수
적용 대상: SQL Server
지정된 SQL Server Express LocalDB 인스턴스에 대한 정보(예: 존재하는지 여부, 사용하는 LocalDB 버전, 실행 중인지 여부 등)를 반환합니다.
정보는 다음 정의가 있는 LocalDBInstanceInfo라는 구조체에 반환됩니다.
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;
헤더 파일: msoledbsql.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
예기치 않은 오류가 발생했습니다. 자세한 내용은 이벤트 로그를 참조하세요.
세부 정보
구조체 크기 인수(lpInstanceInfoSize)가 도입된 이유는 API가 다양한 버전의 LocalDBInstanceInfostruct를 반환하여 정방향 및 이전 버전 호환성을 효과적으로 사용하도록 설정하는 것입니다.
구조체 크기 인수(lpInstanceInfoSize)가 알려진 LocalDBInstanceInfostruct 버전의 크기와 일치하면 해당 버전의 구조체가 반환됩니다. 그렇지 않으면 LOCALDB_ERROR_INVALID_PARAMETER 반환됩니다.
LocalDBGetInstanceInfo API 사용의 일반적인 예는 다음과 같습니다.
LocalDBInstanceInfo ii;
LocalDBInstanceInfo(L"Test", &ii, sizeof(LocalDBInstanceInfo));
LocalDB API를 사용하는 코드 샘플은 SQL Server Express LocalDB Reference를 참조하십시오.