LocalDBGetInstanceInfo 함수
인스턴스가 존재하는지 여부, 인스턴스가 사용하는 LocalDB 버전, 인스턴스가 실행되는지 여부 등과 같이 지정한 SQL Server Express 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 참조를 참조하십시오.