BackupClusterDatabase 関数 (clusapi.h)
[この関数は、[要件] セクションで指定されたオペレーティング システムで使用できます。 この関数のサポートは Windows Server 2008 で削除され、この関数は何も実行せず 、ERROR_CALL_NOT_IMPLEMENTEDを返します。
クラスター データベースとすべてのレジストリ チェックポイントのバックアップを作成します。
構文
DWORD BackupClusterDatabase(
[in] HCLUSTER hCluster,
[in] LPCWSTR lpszPathName
);
パラメーター
[in] hCluster
バックアップするクラスターへのハンドル。
[in] lpszPathName
バックアップを作成するパスを指定する Null で終わる Unicode 文字列。 クラスター構成情報はこの場所に保存されます。これは、保護する必要がある機密データです。 たとえば、このデータを保護するには、アクセス制御リストを使用して、データが格納されている場所へのアクセスを制限します。
戻り値
関数が成功すると、 ERROR_SUCCESSが返されます。
関数が失敗した場合は、 システム エラー コードのいずれかを返します。
注釈
理想的には、指定されたパスは、UNC パスなど、すべてのクラスター ノードに表示されるパスである必要があります。 少なくとも、 現在クォーラム リソースを所有しているノードにパスを表示する必要があります。 パスにファイル名を含めないでください。関数が失敗し、 ERROR_DIRECTORYが返されます。 パスには、末尾の円記号を含めることができます。
適切なパスが存在することを確認する方法の 1 つは、次のように一時的なネットワーク共有を作成することです。
- 関数 NetShareAdd を呼び出して、一時的なネットワーク共有を作成します。 すべてのクラスター ノードには、この共有への書き込みアクセス権が必要です。
- backupClusterDatabase を呼び出し、lpszPathName パラメーターに一時共有を指定します。
- バックアップ ファイル (下記参照) を 1 つ以上の安全なストレージの場所にコピーします。
- 関数 NetShareDel を呼び出して共有を削除します。
Path\File | 説明 |
---|---|
lpszPathName\chk????.Tmp | スナップショット ファイル。 |
lpszPathName\quolog.log | クォーラム ログ ファイル。 |
リソース>の lpszPathName\<GUID\*。Cpt | GUID によって識別されるリソースのレジストリ チェックポイント ファイル。 |
リソース>の lpszPathName\<GUID\*。Cpr | GUID によって識別されるリソースの暗号化チェックポイント ファイル。 |
lpszPathName\Clusbackup.dat | バックアップ完了マーカー ファイル (読み取り専用、非表示、0 バイト ファイル) |
同じ lpszPath パラメーターを使用する後続の BackupClusterDatabase 操作によって、既存のバックアップ ファイルが上書きされます。
可能であれば、バックアップ ディレクトリの複数のコピーを異なるメディアに作成し、これらのコピーを別の場所に保存します。
例
次の例は、静的バックアップ ルーチンを示しています。 RestoreClusterDatabase を組み込むより完全な例については、「クラスター構成のバックアップと復元」を参照してください。 この例では、フェールオーバー クラスターのドキュメントで定義されている ClusDocEx.h ヘッダー ファイルを使用します。
int main( void )
{
HCLUSTER hCluster = NULL;
WCHAR szClusterName[] = L"CLUSTER_NAME";
WCHAR szPath[] = L"\\\\ClusBack\\19991215";
DWORD dwResult = ERROR_SUCCESS;
if( ( hCluster = OpenCluster( szClusterName ) ) != NULL )
{
dwResult = BackupClusterDatabase( hCluster, szPath );
CloseCluster( hCluster );
}
else
dwResult = GetLastError();
if( dwResult == ERROR_SUCCESS )
{
wprintf( L"\nDone. The cluster database has been backed up to %s. ", szPath );
wprintf( L"The backup consists of the following files:\n chk????.tmp\n"
L" quolog.log\n *.cpt\n *.cpr\n\n" );
return 0;
}
else
{
wprintf( L"The operation failed (%d)\n", dwResult );
return 1;
}
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 Enterprise、Windows Server 2003 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | clusapi.h |
Library | ClusAPI.lib |
[DLL] | ClusAPI.dll |