實踐sqlserver2005資料庫映象功能

msdnchina發表於2011-08-07
環境如下:

主體資料庫(ip: 192.168.0.11) winxp sp3 sqlserver2005 sp3 32bit , 資料庫名字為cwbase2
映象資料庫(ip: 192.168.0.12)win2003 sp2 sqlserver2005 sp3 32bit , 資料庫名字為cwbase2

不使用見證伺服器,採用非同步資料庫映象(高效能模式)

準備工作:

將主體資料庫cwbase2 改為full恢復模式
將映象資料庫cwbase2 改為full恢復模式

將主體機器上的sqlserver 服務,sqlserver agent服務,sqlserver browser服務,改為由administrator啟動,並設定為自動啟動
將映象機器上的sqlserver 服務,sqlserver agent服務,sqlserver browser服務,改為由administrator啟動,並設定為自動啟動


將主體機器的administrator 的密碼與 映象機器的administrator 的密碼 設定成一樣的密碼


將主體機器的主機名改為host.com,映象機器的主機名也改為如此.com形式的主機名

將主體機器和映象機器的hosts檔案裡邊寫好兩臺機器的資訊。

開始配置資料庫映象,配置時,備份主體資料庫(cwbase2.bak),和主體資料庫的日誌(cwbase2log.bak)
在映象機器上將cwbase2.bak恢復,恢復選項一定要選擇norecovery,
在映象機器上將cwbase2log.bak恢復,恢復選項一定要選擇norecovery.


當配置資料庫映象的最後一步時,報錯:


伺服器網路地址 "TCP://testamd.com:5022" 無法訪問或不存在。請檢查網路地址名稱,並檢查本地和遠端端點的埠是否正常執行。 (.Net SqlClient Data Provider)
------------------------------
有關幫助資訊,請單擊:

------------------------------
伺服器名稱: .
錯誤號: 1418
嚴重性: 16
狀態: 1
行號: 1


此錯誤網上也是有各種不同的解決方法,我都試過這些解決方法,是無效的。
後來,我去檢視了主體機器sqlserver2005 的sqlserver日誌,發現如下提示:

Database Mirroring login attempt by user 'WINXPAdministrator.' failed with error: 'Connection handshake failed. The login 'WINXPGuest' does not have CONNECT permission on the endpoint. State 84.'. [CLIENT: 192.168.0.12]

於是我禁用了主體機器上的guest賬戶,然後,重新配置映象,還是報:伺服器網路地址 "TCP://testamd.com:5022" 無法訪問或不存在。

再去檢視主體機器sqlserver2005 的sqlserver日誌,發現如下提示:
Database Mirroring login attempt failed with error: 'Connection handshake failed. An OS call failed: (8009030c) 0x8009030c(登入沒有成功). State 67.'. [CLIENT: 192.168.0.12]

於是我在映象機器上使用winxp訪問主體機器,訪問不了,

於是在主體機器(winxp機器)上修改組策略:"開始選單 執行"→"gpedit.msc"→"計算機配置"→"windows設定"→"安全設定"→"本地策略"→"安全選項"→"網路訪問本地帳號的共享和安全模式" ---修改成經典

然後,重新配置映象,就成功了。[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-1053511/,如需轉載,請註明出處,否則將追究法律責任。

相關文章