資料庫快照集的限制和需求

資料庫快照集會擷取開始建立快照集的時間點,再扣除掉任何未認可的交易。 在使用資料庫快照集之前,您應該了解資料庫快照集對來源資料庫及系統環境的影響,以及快照集本身的限制。

重要事項重要事項

只有在 Microsoft SQL Server 2005 Enterprise Edition 和更新版本中,才能使用資料庫快照集。

對來源資料庫的限制

只要資料庫快照集存在,快照集的來源資料庫就會有下列限制:

  • 資料庫無法卸除、卸離或還原。 如需刪除快照集的詳細資訊,請參閱<卸除資料庫快照集>。

    [!附註]

    來源資料庫的備份可照常運作,不受資料庫快照集的影響。

  • 效能會降低,這是因為每次更新頁面時,都會對快照集執行寫入時複製作業,因而導致來源資料庫上的 I/O 增加。

  • 無法從來源資料庫或任何快照集卸除檔案。

  • 除非來源資料庫是資料庫鏡像工作階段中的鏡像資料庫,否則該資料庫必須處於線上狀態。

    [!附註]

    所有復原模式都支援資料庫快照集。

  • 來源資料庫無法設定為可擴充的共用資料庫。

  • 若要在鏡像資料庫上建立資料庫快照集,資料庫必須處於同步處理的鏡像狀態。

資料庫快照集的限制

下列限制適用於資料庫快照集:

  • 建立及保留資料庫快照集的伺服器執行個體必須與來源資料庫相同。

  • 資料庫快照集永遠會處理完整的資料庫。

  • 資料庫快照集與來源資料庫有關。 因此,使用資料庫快照集還原資料庫,並非備份和還原策略的替代方案。 基本上還是請您執行所有排程備份。 如果您必須將來源資料庫還原到您建立資料庫快照集當時的時間點,請實作可讓您執行此作業的備份原則。

  • 當來源資料庫上更新過的頁面發送到快照集時,如果快照集正好用光了磁碟空間,或遇到一些其他錯誤,快照集會變成有疑問,因此必須刪除。

  • 快照集是唯讀的。

  • 您無法為 modelmastertempdb 資料庫製作快照。

  • 您無法變更資料庫快照集檔案的任何規格。

  • 您無法從資料庫快照集卸除檔案。

  • 您無法備份或還原資料庫快照集。

  • 您無法附加或卸離資料庫快照集。

  • 您無法在 FAT32 檔案系統或 RAW 磁碟分割上建立資料庫快照集。 資料庫快照集所使用的疏鬆檔案都由 NTFS 檔案系統提供。

  • 資料庫快照集不支援全文檢索索引。 全文檢索目錄不會從來源資料庫傳播。

  • 資料庫快照集在建立快照集時,會繼承其來源資料庫的安全性限制。 因為快照集是唯讀的,所以無法變更所繼承的權限,而且對來源進行的權限變更都無法反映在現有的快照集中。

  • 快照集永遠反映出快照集建立時的檔案群組狀態:線上檔案群組保持線上狀態、離線檔案群組保持離線狀態。 如需詳細資訊,請參閱本主題稍後的「含離線檔案群組的資料庫快照集」。

  • 如果來源資料庫變成 RECOVERY_PENDING,其資料庫快照集可能會無法存取。 不過,在解決來源資料庫的問題之後,其快照集應該就可以使用了。

  • 唯讀檔案群組以及壓縮檔案群組不支援還原, 嘗試還原包含這兩種類型檔案群組的資料庫都會失敗。 如需還原的詳細資訊,請參閱<還原至資料庫快照集>。

  • 在記錄傳送組態中,只能在主要資料庫上建立資料庫快照集,不能在次要資料庫上建立。 如果在主要伺服器執行個體和次要伺服器執行個體之間切換角色,您必須先卸除所有的資料庫快照集,然後才能將主要資料庫設定為次要資料庫。

  • 資料庫快照集無法設定為可擴充的共用資料庫。

  • 資料庫快照集不支援 FILESTREAM 檔案群組。 如果 FILESTREAM 檔案群組存在來源資料庫中,它們就會在其資料庫快照集中標示為離線,而且這些資料庫快照集無法用於還原資料庫。

    [!附註]

    針對資料庫快照集執行的 SELECT 陳述式不得指定 FILESTREAM 資料行,否則會傳回下列錯誤訊息:由於資料移動而無法繼續用 NOLOCK 掃描。

磁碟空間需求

資料庫快照集會耗用磁碟空間。 如果資料庫快照集用光磁碟空間,它會標示為有疑問,因此必須卸除 (不過,來源資料庫不受影響,其上的動作會繼續正常執行)。 但是,與資料庫的完整副本相比,快照集的空間利用率仍算是很有效率了。 快照集所需儲存空間,只要足夠儲存那些在存留時間內會有變更的頁面即可。 通常,快照集只會保存一段有限的時間,所以其大小不會是大問題。

不過,您保存快照集的時間越長,就越有可能用光可用空間。 疏鬆檔案的成長大小上限,就是建立快照集時對應來源資料庫檔案的大小。 如需詳細資訊,請參閱<了解資料庫快照集內的疏鬆檔案大小>。

若資料庫快照集用盡磁碟空間,則必須刪除 (卸除) 快照集。 如需有關卸除資料庫快照集的詳細資訊,請參閱<卸除資料庫快照集>。

[!附註]

除了檔案空間以外,資料庫快照集佔用的資源量大致上與資料庫相同。

含離線檔案群組的資料庫快照集

當您嘗試執行下列任一動作時,來源資料庫中的離線檔案群組會影響到資料庫快照集:

  • 建立快照集

    來源資料庫具有一個或多個離線檔案群組時,快照集會在這些檔案群組離線的狀態下順利建立。 並不會為離線檔案群組建立疏鬆檔案。

    [!附註]

    如需資料庫快照集的疏鬆檔案角色的詳細資訊,請參閱<資料庫快照集如何運作>。

  • 使檔案群組離線

    您可以使來源資料庫中的檔案離線。 不過,如果建立快照集時,檔案群組是在線上,則在資料庫快照集中該檔案群組仍保持在線上。 如果建立快照集後查詢的資料已變更,其原始資料頁仍可從快照集中存取。 不過,若想使用查詢從快照集存取檔案群組中的未修改資料,可能會失敗並發生輸入/輸出 (I/O) 錯誤。

  • 使檔案群組上線

    您不能使擁有任何資料庫快照集之資料庫中的檔案群組上線。 如果檔案群組在建立快照集時為離線狀態,或在有資料庫快照集存在時使檔案群組離線,檔案群組將保持離線狀態。 這是因為將檔案恢復上線涉及還原檔案,而如果資料庫上有資料庫快照集存在,就不能還原檔案。

  • 將來源資料庫還原到快照集

    若要將來源資料庫還原到資料庫快照集,所有檔案群組都必須在線上,但建立快照集時已離線的檔案群組除外。