2011-03-23 92 views
0

我們有一個運行相當一段時間的服務代理(運行在同一臺服務器上)。現在我們要在兩臺服務器之間添加數據庫鏡像。數據庫鏡像和服務代理,鏡像路由不可操作

爲此,我們必須爲服務代理創建新路由和新端點(以支持故障切換時的鏡像)。

我們已經在運行完全相同版本的windows和sql-server的開發環境中嘗試了這一點。它是:

Microsoft Windows Server 2008 R2(RTM) - 10.50.1734.0(X64)2010年8月11日12:51:02版權所有(c)Windows NT 6.1上的Microsoft Corporation企業版(64位) :)

一個區別是開發環境在虛擬系統中運行。

當我們在生產環境中實現這一點時,我們遇到了在開發環境中從未見過的問題。

服務代理更新變得非常緩慢,但我們可以看到一些消息傳出。

,我們得到的錯誤信息是:

鏡子路線不工作。 'TCP://server1.domain.local:4022'充當'未知' []。 'TCP://server2.domain.local:4022'充當'未知' []。

鏡像路線是可操作的,但只連接到委託人。 'TCP://server1.domain.local:4022'充當'Principal'[]。 'TCP://server2.domain.local:4022'充當'未知'[]。

在我們的開發服務器,我們得到了類似的消息:

鏡子路線是運營。 'TCP://server1.devdomain.local:4022'充當'鏡像' []。 'TCP://server2.devdomain.local:4022'充當'Principal' []。

鏡像路線是可操作的,但只連接到委託人。 'TCP://server1.devdomain.local:4022'充當'未知'[]。 'TCP://server2.devdomain.local:4022'充當'Principal'[]。

正如您所看到的,我們得到有關鏡像路由在我們的生產服務器上無法運行的消息,但在我們的開發服務器上無法運行。

數據庫鏡像是建立在端口5022,服務經紀人4022

如何路由/創建端點的一些例子:

--created on booth principal and mirror 
CREATE ENDPOINT [Mirroring] 
    AUTHORIZATION [domain\sqlservice] 
    STATE=STARTED 
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
    FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = DISABLED) 

--created on booth principal and mirror 
CREATE ENDPOINT [BrokerEndpoint] 
    AUTHORIZATION [domain\sqlservice] 
    STATE=STARTED 
    AS TCP (LISTENER_PORT = 4022, LISTENER_IP = ALL) 
    FOR SERVICE_BROKER (MESSAGE_FORWARDING = DISABLED, MESSAGE_FORWARD_SIZE = 10, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = DISABLED) 

--created in DB1 (on principal) 
CREATE ROUTE [RouteToDB2] AUTHORIZATION [dbo] WITH SERVICE_NAME = N'ExecSPReceiveService' , BROKER_INSTANCE = N'DF46452B-97F3-4924-AD2A-A130FDC2016F' , ADDRESS = N'TCP://server1.domain.local:4022' , MIRROR_ADDRESS = N'TCP://server2.domain.local:4022' 

--created in DB2 (on principal) 
CREATE ROUTE [RouteToDB1] AUTHORIZATION [dbo] WITH SERVICE_NAME = N'ExecSPSendService' , BROKER_INSTANCE = N'91CBA730-48A2-47A8-95C8-0558706250AB' , ADDRESS = N'TCP://server1.domain.local:4022' , MIRROR_ADDRESS = N'TCP://server2.domain.local:4022' 

當我們刪除了數據庫鏡像端點一切開始再次正常工作。

任何想法?

謝謝!

回答

0

據我所知,這些消息不是錯誤,而是當委託人與鏡像服務器建立連接時得到記錄的預期信息消息。未使用的鏡像連接會在90秒不活動後丟棄,然後根據需要重新連接,因此根據鏡像數據移動模式的不同,您可能會多次或多次看到這些路由消息。

當你說服務代理更新變得非常慢時,你能否提供一些數據說明它比基線要慢多少?

+0

顯示的信息「快速數據推送」的例子頗爲相似,在我們的開發服務器的消息,但與與其說主/鏡像它說未知的差異。另外,我沒有任何號碼給你。由於這影響了我們的生產環境,我們不得不盡快修復它。我們試圖在我們的開發服務器上重新創建問題,但迄今尚未取得任何成功。 – Patrik 2011-03-23 20:57:34