第 3 課:完成目標交談物件
新增: 2007 年 9 月 15 日
在本課程中,您將學習建立從 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
後續的步驟
您已成功完成設定,讓目標資料庫支援 Service Broker 與起始端資料庫的交談。接下來,您將會在起始端資料庫中開始交談,並傳送要求訊息至目標服務。請參閱<第 4 課:開始交談>。
請參閱
其他資源
CREATE REMOTE SERVICE BINDING (Transact-SQL)
CREATE ROUTE (Transact-SQL)
CREATE USER (Transact-SQL)
EXECUTE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
Service Broker 路由和網路
網路和遠端安全性