国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

快照復制

2024-07-21 02:12:51
字體:
來源:轉載
供稿:網友
16.3.1 快照復制概述
    快照復制就是在某一時刻對出版數據進行一次“照相”,生成一個描述出版數據庫中數據瞬時狀態的靜態文件,最后在規定時間將其復制到訂購者數據庫。快照復制并不像事務復制那樣要不斷地監視、跟蹤在出版數據庫中發生的數據變化,它所復制的內容不是 insert、 update、 delete 語句(事務復制的特征),也不是僅限于那些被修改數據(合并復制的特征)。它實際上是對訂購數據庫進行一次階段性的表刷新,把所有出版數據庫中的數據從源數據庫送至目標數據庫,而不僅僅是那些發生了變化的數據。如果論文很大,那么要復制的數據就很多,因此對網絡資源需求較高,不僅要有較快的傳輸速度,而且要保證傳輸的可靠性。
    快照復制是最為簡單的一種復制類型,能夠在出版者和訂購者之間保證事務的潛在一致性。快照復制通常使用在以下場合:不需要實時數據時,如在進行決策支持、查詢靜態表信息時;只讀訂購者(訂購者不對出版數據進行修改),并且不需要最近的數據;使用立即更新訂購者時對數據庫的修改次數和數據量較少。
    快照復制的執行僅需要快照代理和分發代理。快照代理準備快照文件(包括出版表的數據文件和描述文件)并將其存儲在分發者的快照文件夾中,除此之外快照代理還要在分發者的分發數據庫中跟蹤同步作業。分發代理將在分發數據庫中的快照作業分發至訂購者服務器的目的表中。分發數據庫僅用于復制而不包括任何用戶表。
    每一次快照代理執行時,都要創建將被分發至訂購者的數據文件和描述文件(也稱為同步集合)。快照代理主要通過以下幾步來完成這一工作(見圖16-24)。

(1)從分發者到出版者的連接并在出版物論文中的所有表上加了共享鎖。共享鎖是為了確保快照數據的一致性,因為共享鎖將防止所有的其它用戶對表進行修改。快照代理應該被安排在數據庫活動較少期間執行。

(2) 快照代理又建立從出版者到分發者的連接,并將每一個表的表描述拷貝至分發者上的一個.sch 文件中,該文件存儲在分發數據庫工作目錄下的一個子目錄。如果出版物中包括索引和聲明的參考完整性,則快照代理將所有被選擇的索引寫入分發者的.idx 文件中。

(3) 快照代理對出版者的出版表的數據執行一次快照,并把這些數據寫入分發者上的一文件當中。該文件存儲在分發數據庫的工作目錄下的一個子目錄中,如果訂購者有sql server, 則快照被做為.bcp 文件存儲;如果一個或多個訂購者是異構數據庫源,則快照被做為字符模式的.txt 文本文件存儲同步集合包括.sch 和.bcp 文件,出版物中每一篇論文都有一個同步集合。

(4) 快照代理向分發數據庫的msrepl_commands 和msrepl_trnsactions 表中插入新行。msrepl_command 表中的每個記錄是指明同步集合和出版者等位置的命令,msrepl_trnsactions 表中的每條記錄是引用訂購者同步任務的命令。

(5) 快照代理最后釋放在每一個論文上的共享鎖。

    每一次為快照代理運行的分發代理將數據和描述文件分發給訂購者。分發代理通過以下幾步來完成該任務:
(1) 分發代理從其所在的服務器向分發者服務器建立連接,對于推訂購,分發代理位于分發者服務器上;對于拉訂購,分發代理位于訂購者上。

(2) 分發代理檢查分發者的分發數據庫中的msrepl_commands 和msrepl_trnsactions 表從第一個表,讀取同步集合的位置并從這兩個表讀取訂購者的同步任務。

(3) 分發代理將在訂購數據庫中應用在分發數據庫的msrepl_commands 和msrepl _trnsactions 表中發現的命令,從而將數據文件和描述文件復制到訂購者服務器上。如果訂購者不是sql server 數據庫,則分發代理將按要求轉換數據類型。在出版物中的所有論文都將被同步并在各表中保持事務和參考完整性。
    當有很多的訂購者時,應讓分發代理運行在訂購者服務器上,即使用拉訂購。這樣可以減輕分發者負載,提高其性能。如果使用推訂購,只要訂購者訂購出版物或在出版物創建時所規劃的時間來臨,快照代理都會被執行。但是在快照代理執行的規劃時間來臨時,只有那些沒有被同步的訂購者才會被同步。

16.3.2 創建快照復制出版物 在sql server 中,利用create publication wizard 可以指定哪個數據庫為出版數據庫,選擇表或存儲過程來創建論文從而創建復制出版物。

注意:要創建復制出版物必須其有sysadmin服務器角色。 出版物不能跨多個用戶數據庫。

使用sql server enterprise manager 創建復制出版物需執行以下步驟:
(1) 啟動sql server enterprise manager, 選中出版者服務器。
(2) 在主菜單中選擇tools, 在下拉菜單中選擇replication, 然后選擇create and manage publications 選項,此時會打開create and manage publications on ‘publisher’ 對話框。如圖16-25 所示:
(3) 在databases and publications 框中選擇準備出版的數據庫然后當選擇create publication 選項,打開create publication wizard 對話框,選中show advanced option in wizard ,如圖16-26 所示。

(4) 單擊“下一步”,打開choose publication database 對話框,如圖16-27 所示。從database 框中可以選擇將出版哪一數據庫的表、視圖或存儲過程。

(5) 選擇指定的出版數據庫后,單擊“下一步”,打開select publication type 對話框,如圖16-28 所示,從中選擇所使用的復制類型。

(6) 單擊“下一步”,按鈕打開updatable subscriptions 對話框,如圖16-29 所示。 immediate updating 選項表示訂購者在對復制數據更新后,立即將這些變化反映到出版者;queued updating 選項表示訂購者在對復制數據更新后,首先將這些更新事件包裹在消息中,并將這些消息存儲在訂購者和分發者的消息隊列中,然后隊列閱讀代理將從分發者的消息隊列中讀取這些更新事件,并將其應用到分發者上。可以選擇任意一個選項,也可以將其都選中。如果不做出選擇,則單擊“下一步”之后將打開transform published data 對話框與(imme- diate updating 和queued updating 復制選項以及transform published data 有關的問題,我們將在“16.6 復制選項”一節做詳細介紹)。在此我們選擇queued updating。

(7) 單擊“下一步”,打開specify subscriber types 對話框,如圖16-30 所示。 sql server 2000 提供了三種類型訂購者;sql server 2000 訂購者,sql server 7 訂購者和異構訂購者。如果選擇了sql server 7 訂購者類型,則一些sql server 2000 的新增特性將無法使用。在這里我們選擇server running sql server 2000 選項。

(8) 單擊“下一步”按鈕,打開specify articles 對話框,如圖16-31 所示在sql server 2000 中,出版物不僅可以是表,存儲過程,而且也可以是視圖。左面的表格用來確定出版物包括哪些種類的數據庫對象,比如您選中table 旁的復選框,則會在右面的表格中顯示出版數據庫中所有用戶自定義的表,如果準備讓您的論文包括某個表就選中該表對應的復選框。show unpublished objects 復選框用來確定是否在右面的表格中顯示未被出版的數據庫對象。

(9) 單擊表格中被出版的表右邊的方框按鈕打開論文屬性對話框,如圖16-32 所示, general 標簽頁主要顯示論文(表)的基本信息,包括論文名,有關論文的描述、出版表的所有者、表名以及目標表的所有者。

(10) 選擇snapshot 標簽,如圖16-33 所示。

    注意:因為快照復制是將出版數據包括表的結構描述文件和數據文件通過當分發人工理復制到訂購者,且訂購者在初始同步時已在訂購數據庫中創建了同名、同結構的表,那么訂購者是如何接收這些復制數據呢?可采用以下幾種方式:將表刪除后再重建;刪除那些與從出版者復制過來的數據相匹配的數據行,而保留不匹配的數據行;刪除表中數據但保留表結構;不刪除表和表中數據,而將數據添加到表中。
    在name conflict 區域可以選擇一種數據接收方式,即名字沖突的解決方式。在copy objects to destination 區域設置在將主鍵索引拷貝到目標數據庫的同時是否也將復制其它選項,比如出版表上的聚簇索引或非聚簇索引、參照完整性約束、用戶自定義的觸發器等。 convert user_defined to base data type 復選框用來確定是否將出版表中用戶和自定義數據類型在復制到目標表后轉換成其源數據類型(sql server 支持的基本數據類型)。
(11) 單擊“確定”按鈕,回到specify article 對話框,然后單擊“下一步”按鈕,打開article issue 對話框,如圖16-34 所示。
(12) 打開select publication name and description 對話框,如圖16-35 所示。在publication name 文本框中輸入出版物的名稱;在publication description 文本框中輸入有關出版物的描述文字。
    我們建議除了默認了描述信息外,應該輸入其它一些信息,這樣當在該出版數據上創建多個出版物不至于混淆。

(13) 單擊“下一步”,打開customize the properties of the publication 對話框,如圖16-36 所示。
    可通過選中yes 或no 選項來決定是否對有關出版物的其它屬性項進行自定義設置或使用sql server 的默認設置。在滑動框內可以瀏覽出版物的默認屬性。在這里我們選擇 yes, i will define data filters…選項。

(14) 單擊“下一步”打開filter data 對話框,如圖16-37 所示。如果準備提高應用程序性能,提高復制數據在網絡上的傳輸速度,盡力減少訂購數據庫存儲和維護復制數據的數據量,則應根據各訂購者對數據的具體要求選擇適當的過濾類型,如垂直過濾或水平過濾。在這里我們將兩個選項全部選中。

(15) 單擊“下一步”按鈕,打開filter table column 對話框,如圖16-38 所示。在columns in selected table 下的表格內清空左邊的復選框表示出版論文中不包括該列。

注意:合并復制不支持表的垂直分割,即不能進行列過濾(只復制某些列),不允許論文件中不包括主鍵列。若配置了立即更新訂購者選項,則不能允許論文中不包括時時戳(timestamp)列。
(16)單出“下一步”,打開filter table rows對話框,如圖16-39所示。從表格中選中要進行過濾的論文,然后單擊該行最右邊的按鈕,打開specify fileter對話框,如圖16-40所示。在該對話框的空白區域輸入過濾條件。在本例中使用如下條件:au_id like'20%.

注意:在空白區域輸入的不是整個select語句,也不必輸入where關鍵字,只需在where關鍵字后輸入條件表達式即可,條件表達中出現的列必須包含在出版表中。
(17) 單擊“下一步”,打開allow anonymous subscribers 對話框,如圖16-41 所示,選擇yes 表示允許匿名訂購者訂購出版物;選擇no 表示只有那些被啟用為訂購者角色的服務器才可以訂購出版物。

    注意:匿名訂購者是比較特別的拉訂購。因為通常情況下,出版者存儲維護與訂購者有關的信息,分發者存儲維護與訂購者性能有關的信息。為了避免因存儲維護這些信息而使系統負載過重,常使用匿名訂購者,尤其有多個訂購者且通過internet進行出版復制。
(18) 單擊“下一步”,彈出set snapshot agent schedule 對話框,如圖16-42 所示。如果選中create the first snapshot immediately 表示在單擊“下一步”按鈕后會立即創建快照若不使用默認的快照代理執行時間設置,可單擊change 按鈕進行設置。

(19) 單擊“下一步”,打開創建出版物完成對話框,如圖16-43 所示。在滑動窗口可瀏覽出版物的創建信息,若想更改某些設置,可按“上一步”,回到上個對話框。單擊“finish”, 完成出版物創建。


16.3.3 訂購出版物
在創建完出版物之后,必須訂購出版物才能實現數據的復制。在訂購出版物之前應在訂購者上創建訂購數據庫。在訂購時要進行以下選項的設置:
由哪些訂購者來訂購出版物
選擇目標(訂購)數據庫
訂購屬性
在sql server enterprise manager 中,利用推(拉)訂購向導來訂購出版物需執行以下步驟:
(1) 啟動sql server enterprise manager, 選中出版者服務器。
(2) 在主菜單中選擇tools, 在下拉菜單中選擇replication, 然后選擇push subscriptions to others 選項,此時會打開create and manage publications on ‘publisher’ 對話框。單擊出版數據庫旁的“+ ”,會顯示當前出版數據庫中的所有出版物。如圖16-44 所示。
(3) 選中將被訂購的出版物,單擊push new subscription 按鈕,打開welcome to the push subscription wizard 對話框,選中show advanced option in the wizard 復選框。單擊“下一步”打開choose subscribers 對話框。如圖16-45 所示。
(4) 在enabled subscribers 下選擇已被啟用的訂購者,單擊“下一步”打開choose destination databases 對話框,如圖16-46 所示。
(5) 在subscription database name 下的編輯框中輸入目標數據庫名稱,或單擊 browse or create 按鈕,將會彈出browse databases 對話框。在空白框中列出選中訂購者上的所有數據,從中選擇某個數據庫來準備接收復制數據,也可以單擊“create new” 來創建新訂購數據庫。

(6) 單擊“下一步”,打開set distribution agent schedule 對話框,如圖16-47 所示。如果希望出版者與訂購者之間迅速實現數據的一致性,可選擇continuously 選項,表示分發代理處于不斷的運行狀態。選擇using the follow scheduling 表示在規劃的時間運行分發代理。
(7) 單擊“下一步”彈出initialize subscription 對話框,如圖16-48 所示,訂購初始化是指快照代理開始運行并在訂購者生成同步集合(描述文件和數據文件),隨后分發代理將同步集合分發到訂購者。如果已經進行手工同步,則不必進行訂購初始化。yes ,initialize the schema and data at the subscriber 選項表示由sql server 來完成訂購初始化工作。

(8) 單擊“下一步”,打開updatable subscription 對話框,如圖16-49 所示。其各選項的具體含義請參看“16.6 復制選項”一節。
(9) 單擊“下一步”,打開start required service 對話框,如圖16-50 所示,在該對話框的表格內列出運行同步處理的服務。所有復制類型都需要啟動sql server agent, 如果是立即更新訂購者的快照復制和事務復制,則還需要ms dtc 。若選中左邊的復選框,則訂購創建后該服務就會自動啟動,否則必須以后手工啟動。

(10) 單擊“下一步”,打開completing the push subscription wizard 對話框,如圖16-51 所示。單擊“完成”,結束訂購創建操作。


16.3.4 管理出版物
    在創建出版物結束之后,或在設置了拉或推訂購之后,仍可對絕大多數復制選項進行重新設置。其中主要包括:論文的內容、訂購的屬性、快照文件的位置、具有存取出版物的用戶、復制更新相關選項等。而且也可以將出版物刪除,重新創建新的出版物。在 enterprise manager 中,對于出版物相關的復制選項進行重新設置要執行以下步驟:
(1) 單擊tools 菜單項,在下拉菜單中選擇replication, 然后再選擇create andmanage publication 選項,打開對話框。
(2) 在databases and publications 中選中已創建的出版物,然后再單擊properties and subscriptions 按鈕,打開publication properties 對話框,如圖16-52 所示。通過選中各相關標簽頁,可以重新對其屬性進行設置,各選項的具體含義請參看本章前面所作的介紹。

上一篇:Linux數據庫大比拚(三)

下一篇:配置復制

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安溪县| 眉山市| 铜陵市| 夏河县| 宁河县| 漾濞| 东安县| 嘉定区| 锦屏县| 淮北市| 尼勒克县| 新郑市| 神木县| 天台县| 保康县| 新绛县| 朔州市| 莱芜市| 邢台县| 岚皋县| 浦东新区| 安泽县| 铅山县| 寻甸| 上饶市| 封开县| 曲麻莱县| 宜昌市| 谢通门县| 泉州市| 准格尔旗| 铁力市| 台前县| 大宁县| 天水市| 江安县| 伽师县| 杭锦后旗| 信阳市| 沙雅县| 开江县|