<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 如何創(chuàng)建目標數(shù)據(jù)庫

          如何創(chuàng)建目標數(shù)據(jù)庫

          作者: 時間:2011-06-16 來源:網(wǎng)絡 收藏

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

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

            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
          創(chuàng)建目標數(shù)據(jù)庫、主密鑰和用戶
          1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。在 CREATE MASTER KEY 語句中更改密碼。然后,運行代碼以創(chuàng)建用于本教程的目標數(shù)據(jù)庫。默認情況下,新數(shù)據(jù)庫將 ENABLE_BROKER 選項設置為 ON。該代碼還會創(chuàng)建用于支持加密和遠程連接的主密鑰和用戶。

            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
          創(chuàng)建目標證書
          1. 復制以下代碼并將其粘貼到查詢編輯器窗口中。更改 BACKUP CERTIFICATE 語句中指定的文件名,以引用系統(tǒng)中的某個文件夾。然后,運行代碼來創(chuàng)建用于加密消息的目標證書。您指定的文件夾的權限設置應當只允許您的 Windows 帳戶和用于運行數(shù)據(jù)庫引擎實例的 Windows 帳戶訪問該文件夾,其他帳戶一概不能訪問。為了進行第 2 課,必須手動將 InstTargetCertificate.cer 文件復制到可從發(fā)起方實例訪問的文件夾。

            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
          創(chuàng)建消息類型
          1. 復制以下代碼并將其粘貼到查詢編輯器窗口,然后運行代碼為會話創(chuàng)建消息類型。此處指定的消息類型名稱和屬性必須與下一課在 InstInitiatorDB 中創(chuàng)建的消息類型名稱和屬性相同。

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

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

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

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



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();