新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 如何創建目標數據庫

        如何創建目標數據庫

        作者: 時間:2011-06-16 來源:網絡 收藏

        在文您將學習創建目標數據庫和所有與發起方數據庫不存在依賴關系的 Service Broker 目標對象。從與數據庫引擎目標實例運行在同一臺計算機上的 Management Studio 副本中執行這些步驟。

        過程
        創建 Service Broker 端點
        1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。然后,運行代碼為此數據庫引擎實例創建 Service Broker 端點。Service Broker 端點建立了 Service Broker 消息發送到的網絡地址。該端點使用 Service Broker 默認 TCP 端口 4022,建立將使用 Windows 身份驗證連接來發送消息的數據庫引擎遠程實例。

          Windows 身份驗證在兩臺計算機處于相同的域或可信任域中時有效。如果計算機不在可信任的域中,請將證書安全設置用于端點。

          復制代碼
          USE master; GO IF EXISTS (SELECT * FROM master.sys.endpoints WHERE name = N'InstTargetEndpoint') DROP ENDPOINT InstTargetEndpoint; GO CREATE ENDPOINT InstTargetEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = 4022 ) FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS ); GO
        創建目標數據庫、主密鑰和用戶
        1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。在 CREATE MASTER KEY 語句中更改密碼。然后,運行代碼以創建用于本教程的目標數據庫。默認情況下,新數據庫將 ENABLE_BROKER 選項設置為 ON。該代碼還會創建用于支持加密和遠程連接的主密鑰和用戶。

          USE master; GO IF EXISTS (SELECT * FROM sys.databases WHERE name = N'InstTargetDB') DROP DATABASE InstTargetDB; GO CREATE DATABASE InstTargetDB; GO USE InstTargetDB; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = N'EnterStrongPassword1Here>'; GO CREATE USER TargetUser WITHOUT LOGIN; GO
        創建目標證書
        1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。更改 BACKUP CERTIFICATE 語句中指定的文件名,以引用系統中的某個文件夾。然后,運行代碼來創建用于加密消息的目標證書。您指定的文件夾的權限設置應當只允許您的 Windows 帳戶和用于運行數據庫引擎實例的 Windows 帳戶訪問該文件夾,其他帳戶一概不能訪問。為了進行第 2 課,必須手動將 InstTargetCertificate.cer 文件復制到可從發起方實例訪問的文件夾。

          CREATE CERTIFICATE InstTargetCertificate AUTHORIZATION TargetUser WITH SUBJECT = 'Target Certificate', EXPIRY_DATE = N'12/31/2010'; BACKUP CERTIFICATE InstTargetCertificate TO FILE = N'C:storedcerts$ampleSSBCertsInstTargetCertificate.cer'; GO
        創建消息類型
        1. 復制以下代碼并將其粘貼到查詢編輯器窗口,然后運行代碼為會話創建消息類型。此處指定的消息類型名稱和屬性必須與下一課在 InstInitiatorDB 中創建的消息類型名稱和屬性相同。

          CREATE MESSAGE TYPE [//BothDB/2InstSample/RequestMessage] VALIDATION = WELL_FORMED_XML; CREATE MESSAGE TYPE [//BothDB/2InstSample/ReplyMessage] VALIDATION = WELL_FORMED_XML; GO
        創建約定
        1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。然后,運行代碼為會話創建約定。此處指定的約定名稱和屬性必須與下一課在 InstInitiatorDB 中創建的約定名稱和屬性相同。

          CREATE CONTRACT [//BothDB/2InstSample/SimpleContract] ([//BothDB/2InstSample/RequestMessage] SENT BY INITIATOR, [//BothDB/2InstSample/ReplyMessage] SENT BY TARGET ); GO
        創建目標隊列和服務
        1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。然后,運行代碼以創建要用于目標的隊列和服務。CREATE SERVICE 語句將該服務與 InstTargetQueue 相關聯,以便將所有發送到該服務的消息接收到 InstTargetQueue 中。CREATE SERVICE 還指定只有使用先前創建的 //BothDB/ 2InstSample/SimpleContract 的會話才能將該服務用作目標服務。

          復制代碼
          CREATE QUEUE InstTargetQueue; CREATE SERVICE [//TgtDB/2InstSample/TargetService] AUTHORIZATION TargetUser ON QUEUE InstTargetQueue ([//BothDB/2InstSample/SimpleContract]); GO

        您已經成功創建了將要用于本教程的數據庫。接下來,將創建 InstInitiatorDB 并使用支持 Service Broker 會話發起方端點所需的對象來配置它。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 峨眉山市| 分宜县| 安丘市| 三亚市| 津南区| 苍梧县| 吉林市| 普陀区| 揭东县| 青州市| 都江堰市| 旬邑县| 满城县| 海城市| 利辛县| 卢湾区| 海兴县| 双江| 伽师县| 宕昌县| 天柱县| 湖北省| 公主岭市| 旅游| 腾冲县| 龙游县| 中卫市| 烟台市| 梁河县| 青岛市| 大厂| 睢宁县| 蒲江县| 金塔县| 武义县| 黎川县| 通山县| 广南县| 宕昌县| 行唐县| 和顺县|