程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MSSQL2005的新功能創建數據庫快照

MSSQL2005的新功能創建數據庫快照

編輯:關於SqlServer

數據庫快照是MSSQL2005的新功能,僅在 Microsoft SQL Server 2005 Enterprise Edition 中可用。而且SQL Server Management Studio 不支持創建數據庫快照,創建快照的唯一方式是使用 Transact-SQL。

數據庫快照是數據庫(稱為“源數據庫”)的只讀靜態視圖。在創建時,每個數據庫快照在事務上都與源數據庫一致。在創建數據庫快照時,源數據庫通常會有打開的事務。在快照可以使用之前,打開的事務會回滾以使數據庫快照在事務上取得一致。

客戶端可以查詢數據庫快照,這對於基於創建快照時的數據編寫報表是很有用的。而且,如果以後源數據庫損壞了,便可以將源數據庫恢復到它在創建快照時的狀態。


創建數據庫快照可以:

·維護歷史數據以生成報表。可以通過快照訪問特定時間點的數據。例如,您可以在給定時間段(例如,財務季度)要結束的時候創建數據庫快照以便日後制作報表。然後便可以在快照上運行期間要結束時創建的報表。

·將查詢實施在數據庫的快照上,可以釋放主體數據庫上的資源。

·加快恢復操作效率,使用快照將數據庫恢復到生成快照時的狀態比從備份還原快得多;但是,此後您無法對數據進行前滾操作。根據磁盤資源,可以每 24 小時創建 6 到 12 個滾動快照。每創建一個新的快照,就刪除最早的快照。如果要恢復,可以將數據庫恢復到在錯誤發生的前一時刻的快照。或者,也可以利用快照中的信息,手動重新創建刪除的表或其他丟失的數據。例如,可以將快照中的數據大容量復制到數據庫中,然後手動將數據合並回數據庫中。

但是只要存在數據庫快照,快照的源數據庫就存在以下限制:

·必須在與源數據庫相同的服務器實例上創建數據庫快照。

· 數據庫快照捕獲開始創建快照的時間點,去掉所有未提交的事務。未提交的事務將在創建數據庫快照期間回滾,因為數據庫引擎 將對快照執行恢復操作(數據庫中的事務不受影響)。

·當將源數據庫中更新的頁強制壓入快照時,如果快照用盡磁盤空間或者遇到某些錯誤,則該快照將成為可疑快照並且必須將其刪除。有關詳細信息,請參閱刪除數據庫快照。

·快照為只讀。

· 禁止對 model 數據庫、master 數據庫和 tempdb 數據庫創建快照。

· 不能更改數據庫快照文件的任何規范。

·不能從快照中刪除文件。

·不能備份或還原快照。

·不能附加或分離快照。

·不能在 FAT32 文件系統或 RAW 分區中創建快照。

· 數據庫快照不支持全文索引,不能從源數據庫傳播全文目錄。

·數據庫快照將繼承快照創建時其源數據庫的安全約束。由於快照是只讀的,因此無法更改繼承的權限,對源數據庫的更改權限將不反映在現有快照中。

·快照始終反映創建該快照時的文件組狀態:在線文件組將保持在線狀態,離線文件組將保持離線狀態。有關詳細信息,請參閱本主題後面的“含有離線文件組的數據庫快照”。

·如果源數據庫的狀態為 RECOVERY_PENDING,可能無法訪問其數據庫快照。但是,當解決了源數據庫的問題之後,快照將再次變成可用快照。

·只讀文件組和壓縮文件組不支持恢復。嘗試恢復到這兩類文件組將失敗。有關恢復的詳細信息,請參閱恢復到數據庫快照。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved