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。 路徑可以包含尾端反斜杠。
確保有適當路徑的其中一種方式是建立暫存網路共用,如下所示:
- 呼叫函式 NetShareAdd 以建立暫時的網路共用。 所有叢集節點都必須具有此共用的寫入許可權。
- 呼叫 BackupClusterDatabase,在 lpszPathName 參數中指定暫存共用。
- 將備份檔複製 (請參閱下列) 一或多個安全的儲存位置。
- 呼叫函式 NetShareDel 以刪除共用。
Path\File | Description |
---|---|
lpszPathName\chk????.Tmp | 快照集檔案。 |
lpszPathName\quolog.log | 仲裁記錄檔。 |
resource>\*的 lpszPathName\<GUID。Cpt | GUID 所識別資源的登錄檢查點檔案。 |
resource>\*的 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 企業版、Windows Server 2003 Datacenter |
目標平台 | Windows |
標頭 | clusapi.h |
程式庫 | ClusAPI.lib |
Dll | ClusAPI.dll |