SQL Server數據庫同步問題分享(二)---操作步驟[未完,待續]
(一) 修改FTP連接
在數據同步的時候,發布服務器需要生成數據快照,保存在本地一個文件夾中。這個當然沒有任何問題,但是在訂閱服務器需要能夠讀取這個文件夾中的快照文件包。
在同一個網段內,我們使用共享文件夾的確可以讀取到這些文件,如果是公網和內網之間的同步,是公網非一個網段同步怎么辦,我們這里可以使用FTP來連接下來
選擇本地發布右鍵屬性:
選擇允許訂閱服務器使用FTP下載快照文件。這里使用ftp就可以很好的解決非同一網段讀取快照文件的問題。
上面FTP的相關信息可以根據自己的需要設置,並且這里一定要注意FTP根文件夾開始的路徑一定要指向快照生成的位置,填寫路徑比如”/ftp/”. 應用確定之后會提升是否要重新生成快照文件,這里重新生成一次就好了,然后到客戶機使用FTP客戶端下載一次看是否可以,當然同步的時候不是使用客戶端下載。
FTP服務端很多,在發布服務器上新建FTP站點的方式很多,Windows2003有自帶的ftp服務,也可以使用Server_U,總之要能夠下載快照文件就可以。
(二) 查看發布程序運行狀況
如果數據很大,這里生成的快照可能會很慢的,點擊監視可以查看具體運行狀況
在這里面可以看到運行的狀況,如果任何一個發布出現文件,上面都會顯示警告的
(三) 新建訂閱
選擇發布服務器,即新建發布的那台機器
(四) 選擇訂閱內容
(五) 分發代理服務器選擇
這里也可以選擇多個訂閱服務器,上面已經解釋過發布訂閱的一個構造,訂閱服務器就好比報刊的讀者,某一個發行報刊可以有多個讀者
(六) 分發代理安全性設置
選擇在windows賬戶下運行,用戶名和密碼填寫發布服務器的用戶名和密碼
連接到分發服務器使用SQL Server登錄名:這里填寫發布服務器,也就是上面設置的那台機器的。設置好之后下一步下一步完成就可以了
(七) 單個用戶問題
use master
go
declare @SQL varchar( max)
set @SQL = ''
select @SQL = @SQL + ' ;kill ' + RTRIM(spid)
from master..sysprocesses
where dbid = DB_ID( ' DBNAME ')
exec ( @SQL)
go
alter database DBNAME set multi_user
(八) 無法打開明確指定的數據庫
數據庫日志中顯示,服務打開明確的數據庫,這里就要檢查數據訪問權限是否足夠。
當然還有一種情況
如果出現這個問題嘗試關閉這個服務試試!不能確保一定是這個問題,但是這個服務也能夠引起這樣的問題
(九) 進程無法沖FTP站點下載文件
這個問題遇到的太多了,出現這種問題很多,下載文件過大下載中斷,但是本人做這個同步的時候因為涉及到多台機器,有些機器是正常運行有些機器出現這個問題,在使用萬網的機器的時候就會有這樣一個問題,花費了很長時間這是萬網對端口禁用的問題
(十) 分布式事務
上面使用事務復制,多台機器之間建立事務關系,這應該屬於分布式事務,所以在windows上必須開啟相關服務!
這個服務需要開啟。
還有MSDTC也要開啟相關設置。在命令行輸入dcomcnfg 命令,我的電腦à MSDTCà安全配置
以上是windows2003 上面的配置圖
這個是win7系統配置效果圖