資料庫映象和資料庫快照
可以利用為了實現可用性目標而維護的映象資料庫來減輕報表的負載。若要將映象資料庫用於報表,可以在映象資料庫中建立資料庫快照,並將客戶端連線請求定向到最新的快照。由於資料庫快照只在建立快照時存在,因此,它是一個靜態的、只讀的並與其源資料庫保持事務一致的快照。若要在映象資料庫中建立資料庫快照,資料庫必須處於同步映象狀態。
與映象資料庫本身不同,客戶端可以訪問資料庫快照。只要映象伺服器與主體伺服器進行通訊,就可以將報表客戶端連線定向到快照。注意,由於資料庫快照是靜態的,因此沒有新資料可用。為了讓使用者能夠使用相對較新的資料,必須定期建立新的資料庫快照,並通過應用程式將傳入客戶端連線定向到最新的快照。
新的資料庫快照幾乎是空的,但是它會隨著越來越多的資料頁的首次更新而增長。由於資料庫中的每個快照都以這種方式增長,因此,每個資料庫快照與常規資料庫使用同樣多的資源。根據映象伺服器和主體伺服器的配置,在映象資料庫中保留過多的資料庫快照可能會降低主體資料庫的效能。因此,我們建議在映象資料庫中僅保留少量相對較新的快照。一般情況下,在建立替換快照之後,應重新將傳入查詢定向到新的快照,並在完成所有當前的查詢之後刪除較早的快照。
注意:
有關資料庫快照的詳細資訊,請參閱資料庫快照。
如果出現角色切換,則資料庫及其快照將重新啟動並暫時斷開與使用者的連線。然後,資料庫快照保留在建立時所在的伺服器例項中,併成為新的主體資料庫。使用者可以在故障轉移後繼續使用快照。但是,這樣會給新的主體伺服器帶來額外的負荷。如果在您的環境中效能是一個關注點,則我們建議您應在新映象資料庫成為可用後,在其中建立快照,並將客戶端重新定向到新快照,同時從以前的映象資料庫中刪除所有資料庫快照。
注意:
對於能很好地向外擴充套件的專用報告解決方案,可以考慮複製。有關詳細資訊,請參閱資料倉儲和報告。
示例
下面的示例將對映象資料庫建立快照。
假定資料庫映象會話的資料庫為 AdventureWorks。此示例在 AdventureWorks 資料庫(位於驅動器 F 中)的映象副本中建立了三個資料庫快照。分別將這些快照命名為 AdventureWorks_0600、AdventureWorks_1200 和 AdventureWorks_1800,以標識它們的近似建立次數。
在 AdventureWorks 的映象中建立第一個資料庫快照。
複製程式碼
CREATE DATABASE AdventureWorks_0600
ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_0600.SNP')
AS SNAPSHOT OF AdventureWorks
在 AdventureWorks 的映象中建立第二個資料庫快照。仍在使用 AdventureWorks_0600 的使用者可以繼續使用它。
複製程式碼
CREATE DATABASE AdventureWorks_1200
ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP')
AS SNAPSHOT OF AdventureWorks
此時,可以用程式設計的方式將新客戶端連線定向至最新的快照。
在 AdventureWorks 的映象中建立第三個快照。仍在使用 AdventureWorks_0600 或 AdventureWorks_1200 的使用者可以繼續使用它們。
複製程式碼
CREATE DATABASE AdventureWorks_1800
ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP')
AS SNAPSHOT OF AdventureWorks
此時,可以用程式設計的方式將新客戶端連線定向至最新的快照。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-494026/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於SQL Server 映象資料庫快照的建立及使用SQLServer資料庫
- sql server 2005資料庫快照SQLServer資料庫
- 資料庫映象 (SQL Server)資料庫SQLServer
- 資料庫系列:RR和RC下,快照讀的區別資料庫
- 通過SQL Server資料庫映象保護虛擬資料庫ICSQLServer資料庫
- 資料庫映象 (SQL Server)操作模式資料庫SQLServer模式
- phpMyAdmin管理資料庫和資料表PHP資料庫
- SQL Server 2016資料庫快照代理過程詳解SQLServer資料庫
- 聊聊圖資料庫和圖資料庫的小知識資料庫
- 資料庫PostrageSQL-管理資料庫資料庫SQL
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- [轉帖]資料庫的快照隔離級別(Snapshot Isolation)資料庫
- 資料庫調優和資料遷移是如何影響資料庫的RY資料庫
- 【北亞資料恢復】vmfs還原快照操作導致SqlServer資料庫資料丟失的資料恢復資料恢復SQLServer資料庫
- 資料庫學習與複習筆記--資料庫概念和不同類資料庫CRUD操作(1)資料庫筆記
- 使用Redis和Java進行資料庫快取 - DZone資料庫RedisJava資料庫快取
- SpringBoot資料庫管理 - 用Liquibase對資料庫管理和遷移?Spring Boot資料庫UI
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 資料庫介紹--初識資料庫資料庫
- 資料庫 資料庫的完整性資料庫
- 資料湖 vs 倉庫 vs 資料庫資料庫
- 資料庫概論 (一)資料庫概念資料庫
- 【Falsk 使用資料庫】---- 資料庫基本操作資料庫
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- android 檢視資料庫和shaedpreference資料框架Android資料庫框架
- MySQL等資料庫和大資料誰快?MySql資料庫大資料
- 織夢資料庫_織夢還原資料庫_織夢資料庫很卡資料庫
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 資料庫資料庫
- Access資料庫日常維護和Access資料庫最佳化方法資料庫
- 聊聊何為圖資料庫和圖資料庫的小知識資料庫
- Django 直接使用資料庫連線和遊標讀寫資料庫Django資料庫
- L10資料庫——資料庫介紹資料庫
- Oracle資料庫-----資料庫的基本概念Oracle資料庫
- 【資料庫設計】資料庫的設計資料庫
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- 【資料庫】資料庫儲存過程(一)資料庫儲存過程
- 國產資料庫源流史:AntDB資料庫資料庫