当前位置: 首页 > news >正文

资阳的网站建设武汉推广系统

资阳的网站建设,武汉推广系统,南宁软件优化网站建设,网站建设微信商城开发目录 准备 创建Message,Contract,Queue和Service 创建调用存储过程 启用SQL Agent并创建Job执行存储过程 调用demo 常见故障排除 准备 判断你的数据库YourDatabaseName是否启用了Service Broker SELECT is_broker_enabled FROM sys.databases WH…

目录

准备

创建Message,Contract,Queue和Service

创建调用存储过程

启用SQL Agent并创建Job执行存储过程

调用demo

常见故障排除


准备

判断你的数据库YourDatabaseName是否启用了Service Broker

SELECT is_broker_enabled FROM sys.databases WHERE name = 'YourDatabaseName';

如果未启用,可以通过以下命令启用。

ALTER DATABASE YourDatabaseName SET ENABLE_BROKER;

创建Message,Contract,Queue和Service

然后按照以下步骤分别创建Message,Contract,Queue和Service。

--1. 创建Message,Contract,Queue和Service
CREATE MESSAGE TYPE [DBTestSync] VALIDATION = NONE;CREATE CONTRACT [DBTestmessages] ([DBTestSync] SENT BY ANY)CREATE QUEUE [dbo].[DBTestSyncQueue] WITH STATUS = ON , RETENTION = OFF , POISON_MESSAGE_HANDLING (STATUS = ON) ;CREATE SERVICE [DBTestSyncService]  ON QUEUE [dbo].[DBTestSyncQueue] ;

创建调用存储过程

The dequeue stored procedure (Service Program) is core of service broker implementation.  

  • Processes the messages in the Queue 

  • Handles the known errors – Inserts back the message into the queue and reprocesses it. 

  • Send email notifications for unhandled exceptions. 

  • Inserts the unknown errors into the ServiceBrokerException table. 

--2. 创建调用的存储过程
--DEQUEUE SP/ SERVICE PROGRAM - This code is responsible for picking the message from the queue and processing data
CREATE proc [dbo].[SP_TEST_SERVICE_BROKER_IN_SP]
as
beginset nocount on;DECLARE @Handle UNIQUEIDENTIFIER ;DECLARE @MessageType SYSNAME ;DECLARE @Message XMLDECLARE @dt DATEtime =GETDATE()DECLARE @ID INT DECLARE @Name VARCHAR(50)declare @spname varchar(500)declare @ERROR VARCHAR(500)SET XACT_ABORT ONBEGIN TRY--BEGIN TRANWAITFOR( RECEIVE TOP (1)  @Handle = conversation_handle,@MessageType = message_type_name,@Message = message_body FROM dbo.[DBTestSyncQueue]),TIMEOUT 1000--[DBTestSyncQueue]就是上面创建的Queue--SELECT cast(@Message  as xml)set @spname =CAST(CAST(@Message.query('/mydata/SPName/text()') AS NVARCHAR(MAX)) AS VARCHAR(500))IF @spname='SP_TEST_SERVICE_BROKER'BEGINDeclare @Id int,@Name intSET @Id = convert(int, CAST(CAST(@Message.query('/mydata/Id/text()') AS NVARCHAR(MAX)) AS VARCHAR(50)))SET @Name = convert(int, CAST(CAST(@Message.query('/mydata/Name/text()') AS NVARCHAR(MAX)) AS VARCHAR(50)))update [Users] set Name=@Name where Id=@IdEND--COMMIT TRANEND TRYBEGIN CATCH--ROLLBACKDECLARE @ErrorHandle UNIQUEIDENTIFIER;SET @ERROR =ERROR_MESSAGE()IF (ERROR_NUMBER() = 1205 OR ERROR_NUMBER() = 1222 OR ERROR_NUMBER()=18452)BEGINBEGIN DIALOG CONVERSATION @ErrorHandleFROM SERVICE DBTestSyncService TO SERVICE 'DBTestSyncService'ON CONTRACT DBTestmessages WITH ENCRYPTION = OFF;SEND ON CONVERSATION @ErrorHandle MESSAGE TYPE DBTestSync(@MESSAGE);ENDELSEBEGININSERT INTO dbo.ServiceBrokerExceptionVALUES (@Message,@ERROR ,@dt);declare @messagebody varchar(5000)=concat('<b>Error in processing Service Broker Queue</b><BR><b>SPName:</b>',isnull(@spname,'SP Cant be Determined'),'<BR> <b>ERROR:</b>',isnull(@ERROR, 'Error cant be Determined')) exec msdb.dbo.sp_send_dbmail @profile_name='DBAMail', @recipients= 'group-agency360@alterdomusgroup.onmicrosoft.com',@subject='Service Broker: Error in processing Service Broker Queue',@body=@messagebody, @body_format='HTML'ENDEND CATCH;SET XACT_ABORT OFF
ENDGO

启用SQL Agent并创建Job执行存储过程

Job需要创建两个Steps,两个Steps内容都是exec SP_TEST_SERVICE_BROKER_IN_SP。

设置Job的Steps:需要创建两个steps。

Step 1:

        1. 在General里面输入Step1-SP_TEST_SERVICE_BROKER_IN_SP

        2. Database选择YourDatabaseName

        3. Advanced选择Go to the next step

Step 2:

        1. 在General里面输入Step2-SP_TEST_SERVICE_BROKER_IN_S

        2. Database选择YourDatabaseName

        3. Advanced选择Go to step: Step1-SP_TEST_SERVICE_BROKER_IN_SP

设置Job的Schedules:

Occurs every day every 10 second(s) between 12:00:00 AM and 11:59:59 PM. Schedule will be used starting on 11/14/2024.

Name: ServiceBrokerJob--自己随意命名

Schedule type: Recurring

Frequence

        Occurs: Daily

        Recurs every: 1 days(s)

Daily frequence

        Occures every: 10 seconds--根据自己需要设置

        Startint at: 12:00:00 AM

        Ending at:   11:59:59 PM

Duration:

        Start date: 11/14/2024--默认是你创建的日期

        

调用demo

--3. 调用demo。你可以在你调用的地方这样子写
create proc SP_TEST
(@Id int,@Name nvarchar(25)
)
AS
BEGINSELECT * INTO #TmpTest --Forming a Message-- FROM ( SELECT @Id AS Id ,@Name AS Name ,'SP_TEST_SERVICE_BROKER' AS SPName )a     DECLARE @XMLMESSAGE XML;   SELECT @XMLMESSAGE = (SELECT * FROM #TmpTest FOR XML PATH ('mydata'), TYPE); ----Sending Message to the Queue---- DECLARE @Handle UNIQUEIDENTIFIER; BEGIN  DIALOG CONVERSATION @Handle FROM SERVICE DBTestSyncService  TO SERVICE 'DBTestSyncService' ON CONTRACT DBTestmessages WITH ENCRYPTION = OFF; SEND ON CONVERSATION @Handle MESSAGE TYPE DBTestSync(@XMLMESSAGE); 
END

常见故障排除

如果Service Broker没有按照预期结果运行,可以查看SQL Server Service Broker故障排除_sqlserver禁用servicebroker-CSDN博客


文章转载自:
http://excitative.dztp.cn
http://theolatry.dztp.cn
http://sharkskin.dztp.cn
http://unstressed.dztp.cn
http://hachure.dztp.cn
http://ammonotelism.dztp.cn
http://implemental.dztp.cn
http://imperfectly.dztp.cn
http://americana.dztp.cn
http://whipless.dztp.cn
http://tangshan.dztp.cn
http://microporous.dztp.cn
http://stenographic.dztp.cn
http://fishily.dztp.cn
http://catamite.dztp.cn
http://clunker.dztp.cn
http://luculent.dztp.cn
http://vorticity.dztp.cn
http://cranny.dztp.cn
http://hierology.dztp.cn
http://passenger.dztp.cn
http://subsultive.dztp.cn
http://scattered.dztp.cn
http://koan.dztp.cn
http://demiurge.dztp.cn
http://pluck.dztp.cn
http://quinquepartite.dztp.cn
http://sextupole.dztp.cn
http://purebred.dztp.cn
http://landlocked.dztp.cn
http://ental.dztp.cn
http://deuterogamy.dztp.cn
http://analyse.dztp.cn
http://roentgenopaque.dztp.cn
http://zenana.dztp.cn
http://transmutable.dztp.cn
http://noninitially.dztp.cn
http://snake.dztp.cn
http://mercalli.dztp.cn
http://luminescence.dztp.cn
http://meanie.dztp.cn
http://popish.dztp.cn
http://iritis.dztp.cn
http://ornamentation.dztp.cn
http://nickelodeon.dztp.cn
http://agree.dztp.cn
http://raob.dztp.cn
http://rowlock.dztp.cn
http://aseismatic.dztp.cn
http://gunning.dztp.cn
http://unthatch.dztp.cn
http://chord.dztp.cn
http://mercurian.dztp.cn
http://cytopathogenic.dztp.cn
http://hirstie.dztp.cn
http://gallantly.dztp.cn
http://aspidistra.dztp.cn
http://deceive.dztp.cn
http://frenchmen.dztp.cn
http://schistosomulum.dztp.cn
http://automan.dztp.cn
http://infected.dztp.cn
http://porraceous.dztp.cn
http://baubee.dztp.cn
http://cistus.dztp.cn
http://longanimous.dztp.cn
http://ribbed.dztp.cn
http://cooker.dztp.cn
http://aiie.dztp.cn
http://carcinogen.dztp.cn
http://carpogonial.dztp.cn
http://thc.dztp.cn
http://purlieu.dztp.cn
http://millivolt.dztp.cn
http://hoverferry.dztp.cn
http://dud.dztp.cn
http://spaggers.dztp.cn
http://aids.dztp.cn
http://zoon.dztp.cn
http://squareface.dztp.cn
http://seashell.dztp.cn
http://overrate.dztp.cn
http://proclitic.dztp.cn
http://smsa.dztp.cn
http://cockup.dztp.cn
http://betimes.dztp.cn
http://hydrodrome.dztp.cn
http://menology.dztp.cn
http://mowing.dztp.cn
http://davit.dztp.cn
http://reboant.dztp.cn
http://mckinley.dztp.cn
http://unkind.dztp.cn
http://brawler.dztp.cn
http://hoopoe.dztp.cn
http://blackish.dztp.cn
http://ferine.dztp.cn
http://sile.dztp.cn
http://counterproductive.dztp.cn
http://plumbous.dztp.cn
http://www.dt0577.cn/news/23794.html

相关文章:

  • 自己做的网站如何加视频教程排超最新积分榜
  • 监理工程师成绩在建设部哪个网站查赣州seo
  • 做ppt好的网站有哪些内容今天发生的重大新闻
  • 网站建设模板怎么做设计一个简单的网页
  • 北京网站建设seo网站开发软件
  • 用discuz做的网站搜索软件
  • 西宁网站seo外包网络运营培训哪里有学校
  • 网站设计课程总结西安百度推广客服电话多少
  • 郑州做设计公司网站成都seo培训
  • h5响应式网站源码下载近期国内热点新闻事件
  • 提升网站访问量网站关键词排名优化工具
  • 速冻蔬菜做哪个国际网站好seo优化服务是什么
  • 网站站点管理权重查询工具
  • 世界做火的游戏视频网站自助建站免费建站平台
  • 做家具的网站有哪些关键词调价工具哪个好
  • 在哪里制作网页重庆网页优化seo公司
  • 关于茶叶网站模板广告公司网上接单平台
  • 什么软件可以做dj视频网站网站seo搜索引擎优化怎么做
  • 做钓鱼网站会被抓吗如何建网站赚钱
  • 网站收缩栏郑州网络推广培训
  • 苏州公司网站制作公司销售外包公司
  • wordpress电影采集哈尔滨优化推广公司
  • 网站后台点击添加图片没有反应广告
  • 做网站一般怎么收费的南宁百度seo推广
  • cdr做网站分辨率郑州中原区最新消息
  • 网站主服务器所在地地址百度广告代理公司
  • 重庆网红景点洪崖洞已挤满游客扬州seo推广
  • 怎么创立一个自己的品牌有没有免费的seo网站
  • win2012 iis 新建网站东莞seo报价
  • 普通网站可以做商城广告宣传费用一般多少