SQL Server中Service Broker的一些应用_第1页
SQL Server中Service Broker的一些应用_第2页
SQL Server中Service Broker的一些应用_第3页
SQL Server中Service Broker的一些应用_第4页
SQL Server中Service Broker的一些应用_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Service Broker应用1.简述Service Broker事件通知功能事件通知是集成到Service Broker的功能,使用它可以在SQL Server实例中异步捕捉SQL事件,将事件消息路由到特定的队列中。只需最小的系统开销,就可以跟踪发生在SQL Server实例中的事件,比如用户登录、存储过程编译、权限修改、对象处理(例如对数据库、程序集、角色或表的Create/Alter/Drop事件)。不像创建自己的Service Broker应用程序,因为可以控制发起方组件,使用事件通知后只需创建队列和Service Broker组件。用来捕捉和发送事件通知的发起方组件(消息类型和约定

2、)已经内建在SQL Server中。使用CREATE EVENT NOTIFICATION(重要说明:事件通知功能与SQL Trace相似,不同之处在于,它是异步的,并且对SQL Server实例整体性能影响最小。下面是一个示例,演示了如何通过事件通知捕捉所有在SQL Server实例中执行的Create Login、Alter Login、和Drop Login命令。/*downmoon 3w*/- Capturing Login Commands-创建示例数据库IF EXISTS (SELECT name FROM sys.databases WHERE name = 'Event

3、Tracking')drop database EventTrackingGOCREATE DATABASE EventTrackingGOUSE EventTrackingGO-创建队列Create QUEUE SQLEventQueueWITH STATUS=ON;GO-创建服务,并关联到内建的事件通知约定CREATE SERVICE /AP4/TrackLoginModificationServiceON QUEUE SQLEventQueue(GO-对系统目录视图sys.databases进行查询select service_broker_guidfrom sys.databa

4、sesWHERE name = 'EventTracking'/*service_broker_guid18FD2712-E551-4B6A-BC88-58E16D8D5BCD*/-在Server范围内创建事件通知来跟踪所有登录名的创建、修改和删除操作-DROP EVENT NOTIFICATION EN_LoginEvents-ON Server;Create EVENT NOTIFICATION EN_LoginEventsON SERVERFOR CREATE_LOGIN, ALTER_LOGIN, DROP_LOGINTO SERVICE '/AP4/Track

5、LoginModificationService','18FD2712-E551-4B6A-BC88-58E16D8D5BCD'-测试新的事件通知,创建一个登录名-DROP login TrishelleN-goCreate LOGIN TrishelleN WITH PASSWORD = 'AR!3i2ou4'GO-使用Select或Recieve(其中Recieve会删除队列中的事件消息)查询队列SELECT CAST(message_body as xml) EventInfoFROM dbo.SQLEventQueue/*<EVENT_IN

6、STANCE><EventType>DROP_LOGIN</EventType><PostTime>2011-05-05T17:10:50.610</PostTime><SPID>52</SPID><ServerName>AP4AGRONET09</ServerName><LoginName>AP4Administrator</LoginName><ObjectName>TrishelleN</ObjectName><ObjectType&

7、gt;LOGIN</ObjectType><DefaultLanguage>us_english</DefaultLanguage><DefaultDatabase>master</DefaultDatabase><LoginType>SQL Login</LoginType><SID>ukcT55ooZECq0+bpBuvi1A=</SID><TSQLCommand><SetOptions ANSI_NULLS="ON" ANSI_NULL_DEF

8、AULT="ON" ANSI_PADDING="ON"QUOTED_IDENTIFIER="ON" ENCRYPTED="FALSE" /><CommandText>DROP login TrishelleN</CommandText></TSQLCommand></EVENT_INSTANCE>*/  小结本例演示了通过执行如下步骤来设置事件通知:1、在已有数据库中创建新队列2、创建绑定到新队列和内建事件通知约定的新服务3、使用CREATE EVEN

9、T NOTIFICATION命令跟踪一个或多个事件或事件组事件通知功能提供了跟踪SQL Server实例、数据库、或Service Broker应用程序级别的活动的低开销的方法。正如示例中所见,跟踪事件只需要极少量的代码。这个新功能对于IT安全或业务级别审计需求特别有用。例如,当捕获到登录名创建事件时,也会捕获到创建它的用户,以及登录名的类型(登录名)、默认数据库、语言和新登录名的安全标识符。2. Service Broker的基本概念及建立一个Service Broker应用程序的基本步骤。一、前言:Service Broker为SQL Server提供消息队列,这提供了从数据库中发送异步事

10、务性消息队列的方法。Service Broker消息可以保证以适当的顺序或原始的发送顺序不重复地一次性接收。并且因为内建在SQL Server中,这些消息在数据库发生故障时是可以恢复的,也可以随数据库一起备份。在SQL Server 2008中,还引入了使用Create Broker Priority命令对会话设定优先级,可以对重要的或不重要的会话进行优先级设定,以保证消息合理地处理。本文假定一个在线数据库BookStore中存储了一些业务订单。我们使用Service Broker应用程序将消息发送到另一个数据库BookDistribution,该数据库是分离的应用程序调用,该应用程序控制仓库

11、入库和出库交付, 并返回消息给BookStore。创建Service Broker应用程序大体步骤如下:1、定义希望应用程序执行的异步任务。2、确定Service Broker的发起方服务和目标服务是否创建在同一个SQL Server实例中。如果是两个实例,实例间的通信还需要创建经过证书认证或NT安全的身份认证,并且要创建端点、路由以及对话安全模式。3、如果没有启用,则在多方参与的数据库中使用Alter Database命令设置Enable_broker以及Truseworthy数据库选项。4、为所有多方参与的数据库创建数据库主密钥。5、创建希望在服务之间发送的消息类型。6、创建契约(Cont

12、ract)来定义可以由发起方发送的各种消息以及由目标发送的消息类型的种类。7、同时在两方参与的数据库中创建用于保存消息的队列。8、同时在绑定特定约定到特定队列的多方参与的数据库中创建服务。二、实例下面我们通过一个示例来实现以上步骤:(一)、启用数据库的Service Broker活动- Enabling Databases for Service Broker ActivityUSE masterGOIF NOT EXISTS (SELECT name FROM sys.databases WHERE name = 'BookStore')CREATE DATABASE Boo

13、kStoreGOIF NOT EXISTS (SELECT name FROM sys.databases WHERE name = 'BookDistribution')CREATE DATABASE BookDistributionGOALTER DATABASE BookStore SET ENABLE_BROKERGOALTER DATABASE BookStore SET TRUSTWORTHY ONGOALTER DATABASE BookDistribution SET ENABLE_BROKERGOALTER DATABASE BookDistribution

14、SET TRUSTWORTHY ON(二)、创建数据库主密钥- Creating the DatabaseMaster Key for EncryptionUSE BookStoreGOCREATE MASTER KEYENCRYPTION BY PASSWORD = 'I5Q7w1d3'GOUSE BookDistributionGOCREATE MASTER KEYENCRYPTION BY PASSWORD = 'D1J3q5z8X6y4'GO(三)、管理消息类型使用CREATE MESSAGE TYPE()命令,- Managing Message Ty

15、pesUse BookStoreGO- 发送图书订单的消息类型CREATE MESSAGE TYPE /SackConsulting/SendBookOrderVALIDATION = WELL_FORMED_XMLGO-目标数据库发送的消息类型CREATE MESSAGE TYPE /SackConsulting/BookOrderReceivedVALIDATION = WELL_FORMED_XMLGO-执行同样的定义Use BookDistributionGO- 发送图书订单的消息类型CREATE MESSAGE TYPE /SackConsulting/SendBookOrderVA

16、LIDATION = WELL_FORMED_XMLGO-目标数据库发送的消息类型CREATE MESSAGE TYPE /SackConsulting/BookOrderReceivedVALIDATION = WELL_FORMED_XMLGO -注意,此处没有定义消息的内容。实际的消息是消息类型的实例。(四)、创建契约(Contract)使用Create Contract()- Creating ContractsUse BookStoreGOCREATE CONTRACT/SackConsulting/BookOrderContract( /SackConsulting/SendBoo

17、kOrderSENT BY INITIATOR,/SackConsulting/BookOrderReceivedSENT BY TARGET)GOUSE BookDistributionGOCREATE CONTRACT/SackConsulting/BookOrderContract( /SackConsulting/SendBookOrderSENT BY INITIATOR,/SackConsulting/BookOrderReceivedSENT BY TARGET)GO-发起方和目标的定义必须相同(五)、创建队列队列用来保存数据。使用命令Create queue()- Creati

18、ng QueuesUse BookStoreGO-保存BookDistribution过来的消息CREATE QUEUE BookStoreQueueWITH STATUS=ONGOUSE BookDistributionGO-保存BookStore过来的消息CREATE QUEUE BookDistributionQueueWITH STATUS=ONGO(六)、创建服务服务定义端点,然后使用它来将消息队列绑定到一个或多个契约上。服务使用队列和契约来定义一个或一组任务。有点拗口,是不是?服务是消息的发起方和接收方强制约定的规则,并将消息路由到正确的序列。使用Create Service()命

19、令。- Creating ServicesUse BookStoreGOCREATE SERVICE /SackConsulting/BookOrderServiceON QUEUE dbo.BookStoreQueue-指定的队列绑定到契约(/SackConsulting/BookOrderContract)GOUSE BookDistributionGOCREATE SERVICE /SackConsulting/BookDistributionServiceON QUEUE dbo.BookDistributionQueue-指定的队列绑定到契约(/SackConsulting/Book

20、OrderContract)GO(七)、启动对话对话会话(dialog conservation)是在服务之间进行消息交换的操作。使用Begin Dialog Conversation() 命令创建新的会话。使用Send()来发送消息。使用End Conversation命令()结束会话。- Initiating a DialogUse BookStoreGO-保存会话句柄和订单信息DECLARE Conv_Handler uniqueidentifierDECLARE OrderMsg xml;BEGIN DIALOG CONVERSATION Conv_Handler-创建会话FROM S

21、ERVICE /SackConsulting/BookOrderServiceTO SERVICE '/SackConsulting/BookDistributionService'ON CONTRACT /SackConsulting/BookOrderContract;SET OrderMsg ='<order id="3439" customer="22" orderdate="2/15/2011"><LineItem ItemNumber="1" ISBN=&quo

22、t;1-59059-592-0" Quantity="1" /></order>'SEND ON CONVERSATION Conv_Handler-发送到BookDistribution数据库的队列中MESSAGE TYPE /SackConsulting/SendBookOrder(OrderMsg);(八)、查询队列中传入的消息- Querying the Queue for IncomingMessagesUSE BookDistributionGOSELECT message_type_name, CAST(message_bo

23、dy as xml) message,queuing_order, conversation_handle, conversation_group_idFROM dbo.BookDistributionQueue 查询结果:(九)、检索并响应消息使用Receive语句()从队列中读取行(消息),也可以删除已经读取的消息。Receive的结果可以填充到常规表中,也可以在局部变量中执行其他操作,或发送到其他service Broker消息。如果消息是XML数据类型的消息,则可以直接借助TSQL的XQuery来操作。- Receiving and Responding to aMessageUSE

24、BookDistributionGO-创建一个表存放接收到的订单信息CREATE TABLE dbo.BookOrderReceived(BookOrderReceivedID int IDENTITY (1,1) NOT NULL,conversation_handle uniqueidentifier NOT NULL,conversation_group_id uniqueidentifier NOT NULL,message_body xml NOT NULL)GO- 声明变量DECLARE Conv_Handler uniqueidentifierDECLARE Conv_Group

25、 uniqueidentifierDECLARE OrderMsg xmlDECLARE TextResponseMsg varchar(8000)DECLARE ResponseMsg xmlDECLARE OrderID int;-从队列中获取消息,将接收值赋于局部变量RECEIVE TOP(1) OrderMsg = message_body,-TOP指定最多一条消息Conv_Handler = conversation_handle,Conv_Group = conversation_group_idFROM dbo.BookDistributionQueue;- 将变量值插入表中IN

26、SERT dbo.BookOrderReceived(conversation_handle, conversation_group_id, message_body)VALUES(Conv_Handler,Conv_Group, OrderMsg )- 使用XQuery进行抽取以响应消息订单SELECT OrderID = OrderMsg.value('(/order/id)1', 'int' )SELECT TextResponseMsg ='<orderreceived id= "' +CAST(OrderID as va

27、rchar(10) +'"/>'SELECT ResponseMsg = CAST(TextResponseMsg as xml);- 使用既有的会话句柄,发送响应消息到发起方SEND ON CONVERSATION Conv_HandlerMESSAGE TYPE /SackConsulting/BookOrderReceived (十)、结束会话- Ending a ConversationUSE BookStoreGO- 创建订单确认表CREATE TABLE dbo.BookOrderConfirmation(BookOrderConfirmationI

28、D int IDENTITY (1,1) NOT NULL,conversation_handle uniqueidentifier NOT NULL,DateReceived datetime NOT NULL DEFAULT GETDATE(),message_body xml NOT NULL)DECLARE Conv_Handler uniqueidentifierDECLARE Conv_Group uniqueidentifierDECLARE OrderMsg xmlDECLARE TextResponseMsg varchar(8000);RECEIVE TOP(1) Conv

29、_Handler = conversation_handle,OrderMsg = message_bodyFROM dbo.BookStoreQueueINSERT dbo.BookOrderConfirmation(conversation_handle, message_body)VALUES (Conv_Handler,OrderMsg );END CONVERSATION Conv_Handler;GOUSE BookDistributionGODECLARE Conv_Handler uniqueidentifierDECLARE Conv_Group uniqueidentifi

30、erDECLARE OrderMsg xmlDECLARE message_type_name nvarchar(256);RECEIVE TOP(1) Conv_Handler = conversation_handle,OrderMsg = message_body,message_type_name = message_type_nameFROM dbo.BookDistributionQueue- 双方必须都结束会话IFmessage_type_name = 'BEGINEND CONVERSATION Conv_Handler;END -查询会话状态SELECT state_

31、desc, conversation_handleFROM sys.conversation_endpoints 三、小结本文通过一个实例演示了一个用来发送图书订单消息分发控制数据库的简单的消息交换应用程序。发起方发送图书订单,发回一个响应,并在两个数据库上使用END Conservation结束会话。现实场景中可以转换为其他消息类型、契约、服务和队列。合理运用Service Broker应用程序的异步特性可以防止因应用程序挂起而导致业务系统产生瓶颈。3. Service Broker的设置会话优先级,存储过程中实现。一、Service Broker的设置会话优先级自SQL Server 20

32、08起,对非常活跃的Service Broker应用程序,提供了设置优先级的命令CREATE BROKER PRIORITY()。通过该命令,可以设置从1至10共10个等级的颗粒度来调试会话的优先级,默认为5。在此之前,你必须得首先打开HONOR_BROKER_PRIORITY开关。- 设置会话优先级-启用会话优先级选项ALTER DATABASE BookStoreSET HONOR_BROKER_PRIORITY ON-启用会话优先级选项ALTER DATABASE BOOKDistributionSET HONOR_BROKER_PRIORITY ON-查看设置结果SELECT name

33、, is_honor_broker_priority_onFROM sys.databasesWHERE name IN ('BookStore', 'BookDistribution')/*name is_honor_broker_priority_onBookStore 1BookDistribution 1*/USE BookStoreGOCREATE BROKER PRIORITY Conv_Priority_BookOrderContract_BookOrderServiceFOR CONVERSATIONSET (CONTRACT_NAME = /S

34、ackConsulting/BookOrderContract,-特定的契约LOCAL_SERVICE_NAME = /SackConsulting/BookOrderService,-本地服务REMOTE_SERVICE_NAME = ANY,-远程服务为ANY,即Service Broker端点的任何相关服务PRIORITY_LEVEL =10)-设置优先级为10通过sys.conversation_priorities目录视图,查询优先级:SELECT name, priority, service_contract_id,local_service_id,remote_service_

35、nameFROM sys.conversation_priorities cp/*name priority service_contract_id local_service_id remote_service_nameConv_Priority_BookOrderContract_BookOrderService 10 65536 65536 NULL*/如果你希望包含服务和契约名称,可以将服务和从sys.conversation_priorities()返回的契约ID与sys.service_contracts(),sys.services()目录视图关联起来。USE BookDistr

36、ibutionGO-创建目标服务的优先级,与发起方的优先级保持一致,-以使会话的优先级设置覆盖整个会话的生命周期CREATE BROKER PRIORITY Conv_Priority_BookOrderContract_BookDistributionServiceFOR CONVERSATIONSET (CONTRACT_NAME = /SackConsulting/BookOrderContract,LOCAL_SERVICE_NAME = /SackConsulting/BookDistributionService,REMOTE_SERVICE_NAME = ANY,PRIORITY

37、_LEVEL = 10)USE BookStoreGOALTER BROKER PRIORITY Conv_Priority_BookOrderContract_BookOrderServiceFOR CONVERSATIONSET (REMOTE_SERVICE_NAME = '/SackConsulting/BookDistributionService')-修改远程服务名称ALTER BROKER PRIORITY Conv_Priority_BookOrderContract_BookOrderServiceFOR CONVERSATIONSET (PRIORITY_L

38、EVEL = 9)-设置优先级-删除优先级设置DROP BROKER PRIORITY Conv_Priority_BookOrderContract_BookOrderService二、Service Broker的存储过程实现在上文中,我们使用的临时T-SQL来演示Service broker的步骤,事实上, 我们完全可以通过存储过程或外部应用程序自动激活并处理队列中的消息。使用Create Queue()和Alter Queue()选项,也可以指定可以激活并处理在同一队列中传入的消息的、同时执行的相同服务程序的数量。继续上文的示例:- Creating the Bookstore Sto

39、red ProcedureUSE BookDistributionGOCREATE PROCEDURE dbo.usp_SB_ReceiveOrdersASDECLARE Conv_Handler uniqueidentifierDECLARE Conv_Group uniqueidentifierDECLARE OrderMsg xmlDECLARE TextResponseMsg varchar(8000)DECLARE ResponseMsg xmlDECLARE Message_Type_Name nvarchar(256);DECLARE OrderID int;- XACT_ABO

40、RT automatically rolls back the transaction when a runtime error occursSET XACT_ABORT ONBEGIN TRAN;RECEIVE TOP(1) OrderMsg = message_body,Conv_Handler = conversation_handle,Conv_Group = conversation_group_id,Message_Type_Name = message_type_nameFROM dbo.BookDistributionQueue;IF Message_Type_Name = &

41、#39;/SackConsulting/SendBookOrder'BEGININSERT dbo.BookOrderReceived(conversation_handle, conversation_group_id, message_body)VALUES(Conv_Handler,Conv_Group, OrderMsg )SELECT OrderID = OrderMsg.value('(/order/id)1', 'int' )SELECT TextResponseMsg ='<orderreceived id= "&

42、#39; +CAST(OrderID as varchar(10) +'"/>'SELECT ResponseMsg = CAST(TextResponseMsg as xml);SEND ON CONVERSATION Conv_HandlerMESSAGE TYPE /SackConsulting/BookOrderReceived(ResponseMsg );ENDIF Message_Type_Name = 'BEGINEND CONVERSATION Conv_Handler;ENDCOMMIT TRANGO解析:该存储过程包含处理/SackC

43、onsulting/SendBookOrder和消息类型的逻辑。如果发送发后者,特定会话的句柄的特定会话会结束。如果接收到图书订单消息类型,它的消息将插入到表中,并且返回订单确认信息。可以使用Alter Queue命令修改既有的队列。这个命令使用与Create Queue相同的选项,它允许改变队列的状态与保持期、待激活的存储过程、队列读取存储过程实例的最大数量以及过程的安全模式契约。Alter Queue包括一个额外的参数Drop,它用来删除队列的所有存储过程激活设置。使用Alter Queue命令将存储过程绑定到既有的队列:-使用Alter Queue命令将存储过程绑定到既有的队列ALTER

44、 QUEUE dbo.BookDistributionQueueWITH ACTIVATION (STATUS = ON,PROCEDURE_NAME = dbo.usp_SB_ReceiveOrders,MAX_QUEUE_READERS = 2,-独立处理队列中不同消息的同一存储过程同时执行的最大数量EXECUTE AS SELF)-即存储过程将以与执行Alter Queue命令的主体的相同的权限来执行为了测试BookStore数据库的新服务程序,开始一个会话并设置新顺序:Use BookStoreGODECLARE Conv_Handler uniqueidentifierDECLARE

45、 OrderMsg xml;BEGIN DIALOG CONVERSATION conv_handlerFROM SERVICE /SackConsulting/BookOrderServiceTO SERVICE '/SackConsulting/BookDistributionService'ON CONTRACT /SackConsulting/BookOrderContract;SET OrderMsg ='<order id="3490" customer="29" orderdate="7/22/200

46、8"><LineItem ItemNumber="1" ISBN="1-59059-592-0" Quantity="2" /></order>'SEND ON CONVERSATION Conv_HandlerMESSAGE TYPE /SackConsulting/SendBookOrder(OrderMsg); 当队列StatusON并且队列中到到达新消息时,执行存储过程来处理传入的消息。可以使用存储过程或外部程序,但使用存储过程的好处是,它们提供了处理消息、自动执行所有需要的响应

47、和相关业务任务的简单的封装好的组件。如果在目标队列上有存储过程被执行,并且激活新的接收到的消息,那么应该已经有订单确认消息返回到dbo.BookStoreQueue:SELECT conversation_handle, CAST(message_body as xml) messageFROM dbo.BookStoreQueue/*conversation_handle messageA7B7FA73-5B5F-E011-8B4E-001C23FA56DD <orderreceived id="3439" />*/4. SQL Server 2008中远程S

48、ervice Broker实现演示了在同一个SQL Server实例的不同数据库之间实现Service Broker,其实,更常见的是在不同的SQL Server实例之间进行通信,本文将通过实例演示如何进行Service Broker远程通信。以下是实现远程Service Broker的基本步骤:一、启用传输安全二、启用对话安全三、创建路由四、创建远程服务绑定下图显示的是两个 SQL Server 实例间的 Service Broker 网络通信的高级视图。准备工作:/*/-远程Service Broker-源服务器实例,在本例中为ap4agronet09USE masterGO- Enabl

49、e Service Broker for the databaseALTER DATABASE BookStore SET ENABLE_BROKERGOALTER DATABASE BookStore SET TRUSTWORTHY ONGO USE BookStoreGO- Create the messagesCREATE MESSAGE TYPE /SackConsulting/SendBookOrderVALIDATION = WELL_FORMED_XMLGOCREATE MESSAGE TYPE /SackConsulting/BookOrderReceivedVALIDATIO

50、N = WELL_FORMED_XMLGO - Create the contractCREATE CONTRACT/SackConsulting/BookOrderContract( /SackConsulting/SendBookOrderSENT BY INITIATOR,/SackConsulting/BookOrderReceivedSENT BY TARGET)GO - Create the queueCREATE QUEUE BookStoreQueueWITH STATUS=ONGO - Create the serviceCREATE SERVICE /SackConsult

51、ing/BookOrderServiceON QUEUE dbo.BookStoreQueue(/SackConsulting/BookOrderContract)GO -目标服务器实例,在本例中为ap2agronetserverUSE masterGOIF NOT EXISTS (SELECT nameFROM sys.databasesWHERE name = 'BookDistribution')CREATE DATABASE BookDistributionGO - Enable Service Broker for the databaseALTER DATABASE

52、 BookDistribution SET ENABLE_BROKERGOALTER DATABASE BookDistribution SET TRUSTWORTHY ONGO USE BookDistributionGO- Create the messagesCREATE MESSAGE TYPE /SackConsulting/SendBookOrderVALIDATION = WELL_FORMED_XMLGOCREATE MESSAGE TYPE /SackConsulting/BookOrderReceivedVALIDATION = WELL_FORMED_XMLGO - Cr

53、eate the contractCREATE CONTRACT/SackConsulting/BookOrderContract( /SackConsulting/SendBookOrderSENT BY INITIATOR,/SackConsulting/BookOrderReceivedSENT BY TARGET)GO - Create the queueCREATE QUEUE BookDistributionQueueWITH STATUS=ONGO - Create the serviceCREATE SERVICE /SackConsulting/BookDistributio

54、nServiceON QUEUE dbo.BookDistributionQueue(/SackConsulting/BookOrderContract)GO一、启用传输安全在Service Broker的安全传输,是指两个SQL Server实例之间进行网络连接时,启用或限制它们之间的加密通信。传输安全是在SQL Server实例级别,因此这个示例演示如何创建在两个SQL Server实例的主数据库对象。您可以选择两种形式的运输安全:Windows身份验证或基于证书的安全认证。- Enabling Transport Security- 在源实例上执行 Ap4agronet09USE mas

55、terGOCREATE MASTER KEY ENCRYPTION BY PASSWORD = '1294934A!'- 在目标实例上执行 Ap2agronetserverUSE masterGOCREATE MASTER KEY ENCRYPTION BY PASSWORD = '1294934B!'- 在源实例上执行 Ap4agronet09CREATE CERTIFICATE AP4MasterCertWITH SUBJECT = 'Ap4 Transport Security SB',EXPIRY_DATE = '5/4/2012'GO- 在目标实例上执行 Ap2agronetserverCREATE CERTIFICATE AP2MasterCertWITH SUBJECT = 'AP2 Transport Security SB',EXPIRY_DATE = &#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论