1. 程式人生 > >利用資料庫複製技術 實現資料同步更新[摘]

利用資料庫複製技術 實現資料同步更新[摘]

相關連結:

複製的概念

Microsoft? SQL Server? 2000 的複製是在資料庫之間對資料和資料庫物件進行復制
和分發並進行同步以確保其一致性的一組技術。

使用複製可以將資料分發到不同位置,通過區域網、使用撥號連線、通過 Internet 分
發給遠端或移動使用者。複製還能夠使使用者提高應用程式效能,根據資料的使用方式物理
分隔資料(例如,將聯機事務處理 (OLTP) 和決策支援系統分開),或者跨越多個服務
器分佈資料庫處理。

---------------------------------------------------------------------------
SQL複製的基本元素包括

釋出伺服器、訂閱伺服器、分發伺服器、釋出、專案

  • 釋出伺服器
    釋出伺服器是提供資料以便複製到其它伺服器的伺服器。釋出伺服器可以具有一個或多個
    釋出,每個釋出代表一組邏輯相關的資料。除了指定其中哪些資料需要複製之外,釋出服
    務器還檢測事務複製期間發生更改的資料並維護有關此站點上所有釋出的資訊。
  • 分發伺服器
    分發伺服器是作為分發資料庫宿主並存儲歷史資料和/或事務以及元資料的伺服器。分發
    伺服器的角色根據執行的複製型別而不同。有關更多資訊,請參見複製型別。
    遠端分發伺服器是獨立於釋出伺服器並配置為複製的分發伺服器的伺服器。本地分發服務
    器是既配置為複製的釋出伺服器又配置為複製的分發伺服器的伺服器。
  • 訂閱伺服器
    訂閱伺服器是接收復制資料的伺服器。訂閱伺服器訂閱的是釋出而不是釋出中分離的專案;
    並且訂閱伺服器只訂閱其需要的釋出,而不是釋出伺服器上所有可用的釋出。根據複製的類
    型和所選擇的複製選項,訂閱伺服器還可以將資料更改傳播回釋出伺服器或將資料重新發布
    到其它訂閱伺服器。
  • 釋出
    釋出是一個數據庫中的一個或多個專案的集合。這種多個專案的分組使得指定邏輯相關的一
    組資料和資料庫物件以一起復制變得更容易。
  • 專案
    專案是指定要複製的資料表、資料分割槽或資料庫物件。專案可以是完整的表、某幾列(使用垂
    直篩選)、某幾行(使用水平篩選)、儲存過程或檢視定義、儲存過程的執行、檢視、索引檢視
    或使用者定義函式。
  • 訂閱
    訂閱是對資料或資料庫物件的複本的請求。訂閱定義將接收的釋出和接收的時間、地點。訂閱的
    同步或資料分發可以由釋出伺服器(強制訂閱)或訂閱伺服器(請求訂閱)請求。釋出可以支援
    強制訂閱和請求訂閱的混合。

---------------------------------------------------------------------------
SQL複製的工作原理
SQL SERVER 主要採用出版物、訂閱的方式來處理複製。源資料所在的伺服器是出版服務
器,負責發表資料。出版伺服器把要發表的資料的所有改變情況的拷貝複製到分發伺服器
分發伺服器包含有一個分發資料庫,可接收資料的所有改變,並儲存這些改變,再把這些
改變分發給訂閱伺服器

---------------------------------------------------------------------------
SQL SERVER複製技術型別,三種複製技術,分別是(詳細的說明參考SQL聯機幫助):
1、快照複製
2、事務複製
3、合併複製

============================================================================
下介紹實現複製的步驟。(以快照複製為例)

準備工作:

1.釋出伺服器,訂閱伺服器都建立一個同名的windows使用者,並設定相同的密碼,做為釋出快照資料夾的有效訪問使用者
--我的電腦
--控制面板
--管理工具
--計算機管理
--使用者和組
--右鍵使用者
--新建使用者
--建立一個隸屬於administrator組的登陸windows的使用者

2.在釋出伺服器上,新建一個共享目錄,做為釋出的快照檔案的存放目錄,操作:

我的電腦--D:/ 新建一個目錄,名為: PUB
--右鍵這個新建的目錄
--屬性--共享
--選擇"共享該資料夾"
--通過"許可權"按紐來設定具體的使用者許可權,保證第一步中建立的使用者具有對該資料夾的所有許可權
--確定


3.設定SQL代理(SQLSERVERAGENT)服務的啟動使用者(釋出/訂閱伺服器均做此設定)

開始--程式--管理工具--服務
--右鍵SQLSERVERAGENT
--屬性--登陸--選擇"此賬戶"
--輸入或者選擇第一步中建立的windows登入使用者名稱
--"密碼"中輸入該使用者的密碼

4.設定SQL Server身份驗證模式,解決連線時的許可權問題(釋出/訂閱伺服器均做此設定)

企業管理器
--右鍵SQL例項--屬性
--安全性--身份驗證
--選擇"SQL Server 和 Windows"
--確定

5.在釋出伺服器和訂閱伺服器上互相註冊
企業管理器
--右鍵SQL Server組
--新建SQL Server註冊...
--下一步--可用的伺服器中,輸入你要註冊的遠端伺服器名--新增
--下一步--連線使用,選擇第二個"SQL Server身份驗證"
--下一步--輸入使用者名稱和密碼
--下一步--選擇SQL Server組,也可以建立一個新組
--下一步--完成

6.對於只能用IP,不能用計算機名的,為其註冊伺服器別名
  (在連線端配置,比如,在訂閱伺服器上配置的話,伺服器名稱中輸入的是釋出伺服器的IP)
開始--程式--Microsoft SQL Server--客戶端網路實用工具
--別名--新增
--網路庫選擇"tcp/ip"--伺服器別名輸入SQL伺服器名
--連線引數--伺服器名稱中輸入SQL伺服器ip地址
--如果你修改了SQL的埠,取消選擇"動態決定埠",並輸入對應的埠號

==============================================================================

正式開始:

1.配置釋出伺服器

a. 選中指定 [伺服器] 節點
b. 從 [工具] 下拉選單的 [複製] 子選單中選擇 [釋出、訂閱伺服器和分發] 命令
c. 系統彈出一個對話方塊點 [下一步] 然後看著提示操作
--直到"指定快照資料夾"
--在"快照資料夾"中輸入準備工作中建立的目錄: //<伺服器名>/pub
一[下一步] 直操作到完成。
d. 當完成了出版伺服器的設定以後系統會為該伺服器的樹形結構中新增一個複製監視器
同時也生成一個分發資料庫(distribution)


---------------------------------------------------------------------------

2.建立釋出
a. 選中指定的伺服器
b. 從 [工具] 選單的 [複製] 子選單中選擇 [建立和管理髮布] 命令。此時系統會彈出
一個對話方塊
c. 選擇要建立釋出的資料庫,然後單擊 [建立釋出]
d. 在 [建立釋出嚮導] 的提示對話方塊中單擊 [下一步] 系統就會彈出一個對話方塊。對話
框上的內容是複製的三個型別。我們現在選第一個也就是預設的快照發布(其他兩個
大家可以去看看幫助)
e. 單擊 [下一步] 系統要求指定可以訂閱該釋出的資料庫伺服器型別,SQLSERVER允許在
不同的資料庫如 ORACLE或ACCESS之間進行資料複製。但是在這裡我們選擇執行
"SQL SERVER 2000"的資料庫伺服器
f. 單擊 [下一步] ,選擇要釋出的物件(如表,檢視,儲存過程,一般是表)
g. 然後 [下一步] 直到操作完成。當完成出版物的建立後創建出版物的資料庫也就變成了
一個共享資料庫。


---------------------------------------------------------------------------

3.設計訂閱
a. 選中指定的訂閱伺服器
b. 從 [工具] 下拉選單中選擇 [複製] 子選單的 [請求訂閱]
c. 按照提示單擊 [下一步] 操作直到系統會提示檢查SQL SERVER代理服務的執行狀態,執行
複製操作的前提條件是SQL SERVER代理服務必須已經啟動。
d. 單擊 [完成] 完成訂閱操作。


----------------------------------------------------------------------------

完成上面的步驟其實複製也就是成功了。但是如何來知道複製是否成功了呢?
這裡可以通過這種方法來快速看是否成功。
展開出版伺服器下面的複製——釋出內容——右鍵釋出內容——屬性——擊活——狀態然後點立即執行代理程式接著點代理程式屬性擊活排程
把排程設定為每一天發生,每一分鐘,在0:00:00和23:59:59之間。
接下來就是判斷複製是否成功了打
開C:/Program Files/Microsoft SQL Server/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面
看是不是有一些以時間做為檔名的資料夾差不多一分中就產生一個。

相關推薦

利用資料庫複製技術 實現資料同步更新[]

相關連結: 複製的概念 Microsoft? SQL Server? 2000 的複製是在資料庫之間對資料和資料庫物件進行復制和分發並進行同步以確保其一致性的一組技術。 使用複製可以將資料分發到不同位置,通過區域網、使用撥號連線、通過 Internet 分發給遠端或移動使用

利用資料庫複製技術 實現資料同步更新(轉)

複製的概念複製是將一組資料從一個數據源拷貝到多個數據源的技術,是將一份資料釋出到多個儲存站點上的有效方式。使用複製技術,使用者可以將一份資料釋出到多臺伺服器上,從而使不同的伺服器使用者都可以在許可權的許可的範圍內共享這份資料。複製技術可以確保分佈在不同地點的資料自動同步更新,

利用SQL2005資料庫複製技術 實現資料同步更新

一個手工同步的方案 --定時同步伺服器上的資料 --例子: --測試環境,SQL Server2000,遠端伺服器名:xz,使用者名稱為:sa,無密碼,測試資料庫:test --伺服器上的表(查詢分析器連線到伺服器上建立) create table [user](id int primary key,numb

MySQL組複製技術實現資料庫效能測試工具

測試環境 本文件是在 99Cloud Lab OpenStack 平臺虛機上面測試,僅供參考。 系統: CentOS 7.3 虛機: 2 核 4G 版本: MySQL 5.7 技術架構 MySQL Group Replication(簡稱 MGR)是官方推出的高可用解決方案,原生複製技術,基於外掛

SQLServer2000同步複製技術實現操作步驟

一、 預備工作 1.釋出伺服器,訂閱伺服器都建立一個同名的windows使用者,並設定相同的密碼,做為釋出快照資料夾的有效訪問使用者 --管理工具 --計算機管理 --使用者和組 --右鍵使用者 --新建使用者 --建立一個隸屬於administrator組的登陸wi

redis主從複製之新增節點實現資料同步原理

在Slave啟動並連線到Master後,將主動傳送SYNC命令。此後Master將啟動後臺存檔程序,將資料庫快照儲存到檔案中,同時收集新的寫命令(增、刪、改)並快取起來,在後臺程序執行寫檔案。完畢後,Master將傳送整個資料庫檔案到Slave,以完成一次完全同步。而Slave伺服器在接收到資料庫檔

資料庫複製技術在Internet上的實現

1. 引言在開發跨地域進銷存管理系統時,如何實現不同地區的資料同步,如何保持資料的一致性、及時性成為系統成敗的關鍵。我們成功地解決了這個問題,現介紹如下。系統環境資料庫系統:SQL Server 2000作業系統:WINDOWS 2000 Advance Server ,II

SpringCloud或SpringBoot+Mybatis-Plus利用AOP+mybatis外掛實現資料操作記錄及更新對比

引文   本文主要介紹如何使用Spring AOP + mybatis外掛實現攔截資料庫操作並根據不同需求進行資料對比分析,主要適用於系統中需要對資料操作進行記錄、在更新資料時準確記錄更新欄位 核心:AOP、mybatis外掛(攔截器)、mybatis-Plus實體規範、資料對比 1、相關技術簡介 mybat

c# 自定義事件傳參(控制元件資料同步更新)

下面是傳值的視窗程式碼   public partial class Form1 : Form {//自定義一個事件 public event EventHandler SetMsg; public Form1() {

使用人工智慧和區塊鏈技術實現資料的多樣化

人工智慧(AI)的一個令人印象深刻的特點是,該技術能夠提供計算能力,在機器中創造認知。然而,人工智慧評論家如今開始擔心,許多人工智慧專案都是集中控制的,因此會產生“狹義人工智”。 與人類的認知不同,狹義人工智慧不是有意識的,也不是由情感驅動的。更確切地說,狹義人工智是在一個預先確定的、預先定義的

使用Sqlserver事務釋出實現資料同步

下載網站:www.SyncNavigator.CN   客服QQ1793040 ----------------------------------------------------------     關於HKROnline

實現資料同步 -----將post, get 碼雲私有倉庫

# -*- coding: utf-8 -*- import requests import sqlite3 import time from demo_handle import sql_handle from bs4 import BeautifulSoup class post: d

利用electron-vue技術實現一個郵箱客戶端應用的專案總結

1.electron-vue是利用Chromium瀏覽器、vue-cli腳手架和nodejs來實現跨平臺的桌面應用程式     使用electron-packager或electron-builder打包應用程式,electron-packager打包方式比較簡單,想為哪個平

面試題(redis master和slave是怎麼實現資料同步的)

Redis的主從同步機制可以確保redis的master和slave之間的資料同步。按照同步內容的多少可以分為全同步和部分同步;按照同步的時機可以分為slave剛啟動時的初始化同步和正常執行過程中的資料修改同步;本文將對這兩種機制的流程進行分析。 全備份過程中,在sla

利用DPCM&Huffman編碼實現資料壓縮_C語言實現

一、實驗原理        DPCM是差分預測編碼調製的縮寫,它利用過去的抽樣值來預測當前的抽樣值,對它們的差值進行編碼。差值編碼可以提高編碼頻率,這種技術已應用於模擬訊號的數字通訊之中。影象內的畫素值之間並非相互獨立,某一畫素與周圍畫素之間存在一定的關係,這一關係導致整

Python連線單機版資料庫(Postgresql資料庫)並實現資料提取

import pandas as pd import psycopg2 conn=psycopg2.connect(database="****", user="postgres", password

Oracle分割槽表的分割槽互動技術實現資料快速轉移

有一個需求,將某業務表的某個時間點之前的記錄轉移到它的歷史表中。如果當前業務表不是基於這個業務時間點的分割槽表設定,那隻能insert再delete操作。這種轉移資料的方法非常非常低基礎。經常在初級的資料庫管理人員和開發人員的程式中出現。不是說這個方法不好,對於轉移的記錄數量

利用 Python 中 Bokeh 實現資料視覺化,第二部分:互動

原文地址:Data Visualization with Bokeh in Python, Part II: Interactions 原文作者:Will Koehrsen 譯文出自:掘金翻譯計劃 本文永久連結:github.com/xitu/gold-m… 譯者:Sta

python3 使用pymysql連線資料庫並用Matplotlib實現資料視覺化

    在python的資料視覺化中常用到Matplotlib庫,通過Matplotlib展示一些資料是十分方便的事情,但我們並不滿足處理一些“死資料”,如何將資料庫中的資料取出來並用好看的圖表展示呢!python提供了 MySQLdb ,Pymysql等庫給我們使用。   

怎麼通過web伺服器訪問MYSQL資料庫,使其資料同步到android SQLite資料庫

      通過web伺服器訪問MYSQL資料庫有以下幾個過程: 2、連線資料庫。 3、訪問資料庫      過程2、3 具體步驟: 1、在Myeclipse下新建一個web專案,為了好統一管理在WEB-INF下建一個web.xml用來載入伺服器啟動時的配置資訊。這