① sql server2008,同一資料庫里的兩張不同的表怎麼實現同步
更新
create trigger up_table on aaa
for update
as
if update(a1)or update(a2)
begin
update t2
set b1=t1.a1,b2=t1.a2
from inserted t1,
bbb t2
where t1.aid=t2.bid
end
插入
create trigger in_table on aaa
for insert
as
insert into bbb(b1,b2)
select a1,a2 from inserted
end
② sql server 2008 r2怎樣同步資料庫
機器A、B分別新建標准用戶repluser,用於訪問初始快照共享文件。
機器A新建X_DB資料庫,表persion
選擇復制菜單->本地發布,右鍵新建發布,next->選擇資料庫X_DB.
選擇發布類型,這里有四種:快照發布、事務發布、可更新訂閱的事務發布、合並發布。快照發布和合並發布都是定期取數據,不同的是合並發布可獨立更新,可把訂閱端的數據更新同步到發布端;測試發現如果兩端同時更新,發布端的更新會覆蓋掉訂閱端的更新。事務發布是事務驅動,只要有更新,立馬同步更新。
這里我選擇事務同步->next
選擇需要復制的表,這里有個限制:只有帶主鍵的表才能復制.一路next
設置代理賬號,next。最後輸入發布名稱,發布成功.
選擇剛才創建的發布,右鍵屬性,選擇快照設置共享路徑;也可以選擇FTP快照進行FTP共享。這樣訂閱端就訪問這個路徑讀取初始快照。至此發布端設置完成。
機器B訂閱端選擇復制->本地訂閱-》新建訂閱。
選擇發布伺服器,選擇x_db下的x_db_publish
沒有x_db,可以自己創建資料庫。設置分發與訂閱賬號。
③ 兩個異地sql server 2008資料庫怎麼實現數據同步
要麼做主從
要麼加入一台新的主伺服器
所有的寫入操作,都通過分伺服器提交到主伺服器,具體辦法,可以採用SSB技術什麼的
然後再主伺服器,在同步鏈等方式,同步到分伺服器用於讀取。
通過這個方式實現讀寫分離,和同步
這樣可以達到實時同步
還有個方案就是你可以考慮簡歷不同的庫,然後主從方式互相作為主從(當然也可以考慮做事務日誌傳輸的方式實現這一步)
分別寫入各自的庫,讀的時候可以考慮視圖方式實現統一讀取
你覺得麻煩,就上cluster吧!
④ sql server2008資料庫實時同步怎麼做一台伺服器在電信,另一台是本地機
SQL Server在數據同步方面應用比較多還是復制技術,通過事務復制可以實現准實時同步,准實時同步的意思並不是真正的實時同步,總會有一定延遲的,這主要取決於兩台伺服器間的網路狀況,即便網路狀況非常好,比如內網中的2台機器,也是會有一定延遲的,一般在幾秒吧。
另外事務復制對表結構要求比較嚴格,需要有主鍵。如果需要整庫同步,可以考慮使用資料庫鏡像,這對表沒有太多要求。
通過備份方式也可以實現,SQL Server本身也提供了日誌傳送功能來通過備份進行同步,但是這樣數據延遲就更大了,取決於備份恢復的頻率,可能並不符合樓主需要。
復制和資料庫鏡像這兩項技術都不是一兩句話能說清楚的,詳細信息可以查看微軟MSDN文檔
http://msdn.microsoft.com/zh-cn/library/bb500346%28v=SQL.100%29.aspx
http://msdn.microsoft.com/zh-cn/library/bb934127%28v=SQL.100%29.aspx
⑤ MS SQL Server 2008資料庫怎麼實現資料庫同步備份
sql server 2008資料庫復制是通過發布/訂閱的機制進行多台伺服器之間的數據同步,我們把它用於資料庫的同步備份。這里的同步備份指的是備份伺服器與主伺服器進行實時數據同步,正常情況下只使用主資料庫伺服器,備份伺服器只在主伺服器出現故障時投入使用。它是一種優於文件備份的資料庫備份解決方案。
⑥ MS SQL Server 2008資料庫怎麼實現資料庫同步備份
1.測試環境:Windows Server 2008 R2 SP1 + SQL Server 2008 R2 SP1
2.安裝FTP 組件,FTP全部打勾,並在IIS裡面新建FTP站點,並設置,這里要注意的地方有兩點。
第一:要設置一個正常的登錄用戶,有密碼和名字的那種,測試的時候,我同時也開啟了匿名用戶
第二:就是FTP 的目錄調整好,一般可能會調整兩次以上,做好再調整的准備,原則是,所制定的位置就是發布伺服器的生成位置,並在設置的時候設置正確。
3.防火牆,防火牆要設置好,避免測試的時候,製造麻煩。可以先關閉。
4.Hosts ,這里要在兩台伺服器Host裡面把自己和對方的計算機名字對應iP地址都寫在雙方的兩個伺服器裡面,用與 在連接的時候使用計算機名進行連接,看到很多網友都說要使用計算機名登錄,而不是IP地址。
5.盡量用Windows 身份驗證,同時要開啟sa 的登錄方式。用戶必須在sysadmin 組裡面,這里說的組是SQL Server 的用戶組。
6.兩台電腦一定要啟動 SQL Server 代理
7.建立的所有資料庫的恢復模式為:完整
8.SQL Server 的安裝 一定要記得 ,將 資料庫復制等復選框都選擇上,之選一個關系資料庫是不行的,其包含的復選框也都選擇上。
⑦ sql server 2008實時同步mysql要怎麼實現
實現兩個Mysql資料庫之間同步同步原理:
MySQL 為了實現replication 必須打開bin-log 項,也是打開二進制的MySQL 日誌記錄選項。MySQL 的bin log 二
進制日誌,可以記錄所有影響到資料庫表中存儲記錄內容的sql 操作,如insert / update / delete 操作,而不記錄
select 這樣的操作。因此,我們可以通過二進制日誌把某一時間段內丟失的數據可以恢復到資料庫中(如果二進制日
志中記錄的日誌項,包涵資料庫表中所有數據,那麼, 就可以恢復本地資料庫的全部數據了)。 而這個二進制日誌,
如果用作遠程資料庫恢復,那就是replication 了。這就是使用replication 而不用sync 的原因。這也是為什麼要設
置bin-log = 這個選項的原因。
在同步過程中,最重要的同步參照物,就是同步使用那一個二進制日誌文件,從那一條記錄開始同步。下面就介紹
下怎樣實現兩個Mysql資料庫之間的主從同步。
一、 概述
MySQL從3.23.15版本以後提供資料庫復制(replication)功能,利用該功能可以實現兩個資料庫同步、主從模式、
互相備份模式的功能。本文檔主要闡述了如何在linux系統中利用mysql的replication進行雙機熱備的配置。
二、 環境
操作系統:Linux 2.6.23.1-42.fc8 # SMP(不安裝XEN)
Mysql版本:5.0.45-4.fc8
設備環境:PC(或者虛擬機)兩台
三、 配置
資料庫同步復制功能的設置都在MySQL的配置文件中體現,MySQL的配置文件(一般是my.cnf):在本環境下
為/etc/my.cnf。
3.1 設置環境:
IP的設置:
A主機 IP:10.10.0.119
Mask:255.255.0.0
B主機 IP:10.10.8.112
Mask:255.255.0.0
在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service iptables status查看防火牆狀態
。如果防火牆狀態為仍在運行。使用service iptables stop來停用防火牆。如果想啟動關閉防火牆,可以使用setup命
令來禁用或定製。
最終以兩台主機可以相互ping通為佳。
3.2 配置A主(master) B從(slave)模式
3.2.1 配置A 為master
1、增加一個用戶同步使用的帳號:
GRANT FILE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
GRANTREPLICATION SLAVE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
賦予10.10.8.112也就是Slave機器有File許可權,只賦予Slave機器有File許可權還不行,還要給它REPLICATION SLAVE的權
限才可以。
2、增加一個資料庫作為同步資料庫:
create databbse test;
3、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
4、修改配置文件:
修改A的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id = 1 #Server標識
log-bin
binlog-do-db=test #指定需要日誌的資料庫
5、重起資料庫服務:
service mysqld restart
查看server-id:
show variable like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
6、用show master status/G命令看日誌情況。
正常為:
mysql> show master status/G
*************************** 1. row ***************************
File: mysqld-bin.000002
positiion: 198
Binlog_Do_DB: test,test
Binlog_Ignore_DB:
1 row in set (0.08 sec)
3.2.2 配置B 為slave
1、增加一個資料庫作為同步資料庫:
create databbse test;
2、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
3、修改配置文件:
修改B的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id=2
master-host=10.10. 0.119
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔60秒
replicate-do-db=test #告訴slave只做backup資料庫的更新
5、重起資料庫服務:
service mysqld restart
查看server-id:
show variables like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
6、用show slave status/G命令看日誌情況。
正常為:
mysql> show slave status/G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.0.119
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqld-bin.000001
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 236
Relay_Master_Log_File: mysqld-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test,test
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 236
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.01 sec)
3.2.3 驗證配置
分別使用insert, delete , update在A主機進行增刪改查資料庫;查看B主機的資料庫是否與A主機一致;若一致,則配
置成功。
3.3雙機互備模式
如果在A主機加入slave設置,在B主機加入master設置,則可以做B->A的同步。
1、在A主機的配置文件中 mysqld配置項加入以下設置:
master-host=10.10.8.112
master-user=backup
master-password=1234
replicate-do-db=test
master-connect-retry=10
2、在B的配置文件中 mysqld配置項加入以下設置:
log-bin
binlog-do-db=test
注意:當有錯誤產生時,*.err日誌文件同步的線程退出,當糾正錯誤後,要讓同步機制進行工作,運行slave
start。
重起A、B機器,則可以實現雙向的熱備份。
總之,成功完成以上配置後,在主伺服器A的test庫里添加數據或刪除數據,在從伺服器B的test庫里馬上也能
看到相應的變更。兩台伺服器的同步操作可以說是瞬間完成的。
⑧ 本地SQL2008如何同步到雲端SQL
最近在琢磨主從資料庫之間的同步,公司正好也需要,在園子里找了一下,看到這篇博文比較詳細,比較簡單,本人親自按步驟來過,現在分享給大家。
在這里要提醒大家的是(為了更好的理解,以下是本人自己理解,如有錯誤,請指出):主資料庫一般是把數據發布出去,然後在連接從資料庫對發布的數據進行訂閱,同步到從資料庫中。
1、發布。發布需要用實際的伺服器名稱,不能使用伺服器的IP地址進行。能發布的信息包括【表】、【存儲過程】、【用戶函數】如果使用IP會有錯誤,如下圖:
具體發布過程如下:
1、找到資料庫伺服器下的【復制】--【本地發布】,選擇【新建發布】。如下圖:
2.選擇待發布的資料庫。如下圖:
3、選擇發布類型。這里選擇的默認類型【快照發布】。幾種發布類型的區別,SQL SERVER都在下面給出了說明。如下圖:
4、選擇待發布的類容。如下圖:
上圖中右側就是篩選的SQL語句。
5、設置快照代理。如下圖:
更改同步頻率如下圖:
6、設置代理安全性。如下圖:
7、填寫發布名稱
8、完成發布。如下圖:
2、訂閱。訂閱是對資料庫發布的快照進行同步,將發布的數據源數據同步到目標資料庫。具體訂閱過程如下;
1、找到資料庫伺服器下的【復制】--【本地訂閱】,選擇【新建訂閱】。如下圖:
2、選擇訂閱的發布。如下圖:
3、選擇分發代理的位置;如下圖:
4、選擇訂閱伺服器上的存放同步過來的數據的一個或者多個目標資料庫。如下圖:
若要添加多個訂閱資料庫,則點擊【添加訂閱伺服器】。如下圖:
5、設置分發代理的安全性。如下圖:
6、設置同步計劃。如下圖:
7、完成訂閱。如下圖:
這樣就完成了發布與訂閱的整個流程。
這里,和上節一起就介紹完了SQL Server資料庫同步的兩種方式,希望對你有用。
⑨ 兩個SQL Server2008資料庫如何實現跨區域網、跨伺服器的數據同步
樓主好,想實現這個的話,可以使用SQL自帶的VS開發工具,做一個ETL包,然後部署發布到伺服器資料庫上,添加作業,設定同步時間即可。跨區域網和跨伺服器基本上在SQL連接中,本身就不太好解決,需要有伺服器之間的鏈接訪問權才可以建立連接。但是ETL不受這一點限制。唯一不足的地方在於,如果你有100張表數據需要同步,做ETL包是個麻煩事,同一個模式,你要做非常多的ETL流程,不管是做在一個包中也好,多個包中也好,都會顯得比較繁瑣。但是好處是不受伺服器限制,另外要注意,如果同步的表有外鍵,那麼需要在做ETL的時候添加執行順序,才能確保表數據同步成功的。如果想了解更多可加我,646443736