第 3 課:完成目標交談物件
在這一課,您將學會從 Database Engine 目標執行個體到起始端執行個體,建立連結的伺服器和路由。請從與目標執行個體在相同電腦上執行的 Management Studio 副本執行這些步驟。
程序
建立起始端物件的參考
將下列程式碼複製並貼入 [查詢編輯器] 視窗中。將 FROM FILE 子句變更為參考您在第 2 課步驟 4 中複製 InstInitiatorCertficate.cer 檔到其中的資料夾。然後,執行此程式碼以便建立起始端使用者並納入起始端憑證。
USE InstTargetDB GO CREATE USER InitiatorUser WITHOUT LOGIN; CREATE CERTIFICATE InstInitiatorCertificate AUTHORIZATION InitiatorUser FROM FILE = N'C:\storedcerts\$ampleSSBCerts\InstInitiatorCertificate.cer'; GO
建立路由
將下列程式碼複製並貼入 [查詢編輯器] 視窗中。將 MyInitiatorComputer 字串變更為執行起始端執行個體之電腦的名稱。然後,執行此程式碼以便建立目標服務與起始端服務的路由,以及讓 InitiatorUser 與起始端服務路由產生關聯的遠端服務繫結。
下列 CREATE ROUTE 陳述式會假設目標執行個體中沒有任何重複的服務名稱。如果目標執行個體上的多個資料庫包含具有相同名稱的服務,請使用 BROKER_INSTANCE 子句來指定您想要開啟交談的資料庫。
DECLARE @Cmd NVARCHAR(4000); SET @Cmd = N'USE InstTargetDB; CREATE ROUTE InstInitiatorRoute WITH SERVICE_NAME = N''//InstDB/2InstSample/InitiatorService'', ADDRESS = N''TCP://MyInitiatorComputer:4022'';'; EXEC (@Cmd); SET @Cmd = N'USE msdb CREATE ROUTE InstTargetRoute WITH SERVICE_NAME = N''//TgtDB/2InstSample/TargetService'', ADDRESS = N''LOCAL'''; EXEC (@Cmd); GO GRANT SEND ON SERVICE::[//TgtDB/2InstSample/TargetService] TO InitiatorUser; GO CREATE REMOTE SERVICE BINDING InitiatorBinding TO SERVICE N'//InstDB/2InstSample/InitiatorService' WITH USER = InitiatorUser; GO