Is It Possible To Disable Poison Message Detection?
Aug 3, 2006
Hi,
I'm using the Service Broker to parallize my processes (I know that the Service Broker was not designed for that purpose), however it's working quite well.
I use the broker procedure to start procedures which all process all a part of the workload. When the procedure fails because of a lock timeout (or for that concern, for whatever reason), I rollback the transaction (which also roll back my message received on the queue so that it can be retried at a later time.). And this is where my problem lies, if there are 5 sequential rollbacks of messages then the poison message detection kicks in and disables the queue, stopping all the processing. :(
Is there a way to disable poison message detection? I have implemented my own stop-mechanism through a counter system on a per sub-task system so if I could disable poison message detection that would be ideal.
If this is not possible is there a way to turn the queue back on automatically so that it will continue processing the messages on the queue?
Cheers,
Peter.
View 7 Replies
ADVERTISEMENT
May 14, 2007
Hallo,
I have some problems to handle the poison messages.
Messages are exchanged between 2 databases on the same SQL Server instance.
I created a Trigger on the insert , that call the sp that begin the conversation(10 minutes Timeout) and send the message to the target queue.
On the target queue I activated a SP and the main code is:
BEGIN TRANSACTION
WAIT FOR (Receive (1) ..) timeout 5000
IF (@ErrorSave <> 0)
BEGIN
INSERT INTO [TestSender].[dbo].[tblErrorXMLMessages] VALUES ();
END
ELSE
if (@messagetypeName = N'Message')
BEGIN
exec [dbo].[sp_ProcessMessage] @message_body
END
ELSE IF (@messagetypeName = N'EndOfStream')
BEGIN
END CONVERSATION @dialog
END
COMMIT TRANSACTION
My communication has a strange behaviour:
if I type
Begin
insert into TriggerTable values(XMLMessage)
insert into TriggerTable values(XMLMessage)
....
insert into TriggerTable values(XMLMessage)
end
Everything work fine but If I write an insert of 1000 message coming from an another table and I use the
cursor login after I while the transmission stop because the Target queue become inactive.
I can see my messages stuck in the Initiator transmission_queue so I think that there is some Poison message that cause 5 rollback and disable the receiver queue.
First I would like to isolate the wrong message and carry on with the insert, my application doesn't have to stop the conversation or return any error, but If I use the Sql server Debugger I'm not able to debug the Target queue's stored procedure.
I suppose that some error happens on the Target queue's stored procedure but how can I first at all find it out?
Maybe it has something to do with the transition wrapped around the RECEIVE command?
thank you for any helps!
Marina B.
View 2 Replies
View Related
May 11, 2006
I know I have to build in some ability to deal with a posion message. I was thinking that (sort of mentioned in the article http://msdn2.microsoft.com/en-us/library/ms166137.aspx) I would write a special stored procedure that would handle this situation. I don't know how I could activate this. I don't want to poll of course in a waitfor.
Does anyone have a good idea on this?
View 1 Replies
View Related
Oct 11, 2007
Hi!
I have crl stored procedure with distributed transaction in it. I really need such transaction. When a poison message occurs 5 time my queue is turned off.
I've read about handling poison messages in msdn (save transaction and rollback part of it), but it works only with local transaction. What should I do?
An important point is that messages shoold be processed in right order, I can't receive message and put it to the end of queue.
I want to try process poison message constantly.
I doesn't want to stop receiving messages in that queue.
Thanks.
kostya
View 1 Replies
View Related
Oct 2, 2006
I am getting the following Error and I can't find it in the Manual.
Failure to send an event notification instance of type 'BROKER_QUEUE_DISABLED' on conversation handle '{5D273374-E84F-DB11-B3BC-0004239AB15C}'. Error Code = '8429'.
I have checked the service name for the notification and it appears to be okay.
Any ideas would be welcomed,
Gary
View 4 Replies
View Related
Aug 1, 2007
Hi all, i searched everywhere but couldn't find any info on the following error that i'm currently receiving:
"The conversation endpoint is not in a valid state for SEND. The current endpoint state is 'DI'."
I understand that this is due to some problem in my send/receive protocol but how do i fix this problem so that i can continue with my testing? Right now i'm forced to drop my entire test database and reinstall everytime this message shows up because i can't send/receive any messages at that point. Is there anyway to get rid of it?
Thanks in advance. This is driving me nuts.
View 9 Replies
View Related
Jul 23, 2005
Hi,I have a few create table statements which create temporary tablesthat has row definitions which exceeds the 8060 size limit, this causesa warning message being generated (Message 1708).Is there a way I can disable/avoid the warning message from beingprinted ?Thanks,joe
View 2 Replies
View Related
Jan 13, 2006
Hello again,
I have some poison message detection in place, based on the BOL sample. My problem is that after the 5th message retry my queue goes down - that is the fifth retry on any message. In actuallity, the first message is retried 3 times and it is taken off the queue [for real], the second message comes in and on the second retry - pooof - the queue is down.
I though the poison mechanism should work on a per message basis. It there a setting for the queue I missed? Is my only chance for to fix this: re-enable the queue upon BROKER_QUEUE_DISABLED event notification?
Thanks,
Lubomir
View 6 Replies
View Related
Jul 28, 2005
In the "Example: Detecting a Poison Message" section, it reads: This Transact-SQL example shows a simple, stateless service that includes logic for handling poison messages. Before the stored procedure receives a message, the procedure saves the transaction. When the procedure cannot process a message, the procedure rolls the transaction back to the save point. The partial rollback returns the message to the queue while continuing to hold a lock on the conversation group for the message.
View 1 Replies
View Related
Dec 21, 2003
how do they provide the dialog box in the start kits, the one with the combo boxes of available servers, and a test connection button?
You can add custom forms in visual studio setup wizard project, but I haven't been able to figure it out yet - what do they use in the starter kits?
View 1 Replies
View Related
Feb 17, 2008
hi;
What is conflict detection in sqldatasource control?
Thanks,mohsen
View 1 Replies
View Related
Sep 14, 2000
Anyone working with databases with this option turned on? How does it affect performance?
View 3 Replies
View Related
Jan 7, 2005
Hi, We recently had one of our drives (RAID5) replaced because of failure. This has resulted in a torn page being detected on one of our smaller SQL 2000 databases. We have one or two larger SQL databases (30-70GB) on the same drive amongst several others and are now concerned that we may have a problem with these databases also. (The original torn page only came to light when a query was run on one of the tables). Is there anyway I can run a procedure on each of the databases to find out if we have any problems with torn pages? I obviously don't want to restore the databases as this will take a substantial amount of time that we just don't have at the moment. Any ideas that could put our minds at rest would be much appreciated.
Many thanks.
View 4 Replies
View Related
May 22, 2007
I want to switch this setting off on all db's - that's easy.
But I presume that means the problem could occur without me knowing for weeks (maybe due to a defective disk driver). So is there a way I can schedule a maintainance task that will check for this problem out of hours? (Maybe by switching the DB option on for a while and then back off? If you switch the option on, does it check the whole database? Or does it just do checks during the actual update?) Hopefully there is a better way than that to do it...
Also, am I right in saying that CHECKSUM is new to 2005?
And what do you guys use: Checksum, Torn Page Detection or None?
View 8 Replies
View Related
Jul 23, 2005
Hello faculties,i'm encountering a strange a deadlock problem on my remote serverwhich is used to give application demo to the client. It has happenedthat on one of the databases a deadlock situation is taking place.What is the most detailed way to detect such the cause of such adeadlock to the innermost level of detail, like what statements, storedprocedures and locks are causing the deadlock to occur.Guys! please help me out!Thanks in advanceDebian*** Sent via Developersdex http://www.developersdex.com ***
View 1 Replies
View Related
Mar 14, 2008
Hi,
I have been trying to use the Clustering algorithm for Anomaly Detection, but it has been quite difficult to get correct results for PredictCaseLikelihood.
Using a very large number of clusters helped, but there are other problems.
The algorithm does not take into account all the columns in my nested table, but only uses Exists/Not Exists for the nested table key column. In my case the nested table contains also a column with a count of key attribute.
I am about to abandon the Sql Data Mining.
Does anyone have more insights into tuning the Clustering algorithm for anomaly detection?
Thanks
View 1 Replies
View Related
Mar 25, 2015
The following was found as a solution to detecting non-printable characters in a string. I can find no explanation of how the COLLATE function is used.
how the COLLATE function affects the search string to find the non-printable characters?
patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, titlel) as [Position]
View 3 Replies
View Related
May 7, 2007
Are there any issues turning this ON?
I have inherited a database which started life under SQL 7 (where Torn page Detection was OFF by default), and I'd like to turn it on. Will this reshuffle all the pages to make room for the extra check-sum, or is that stored in a single block somewhere else such that it can easily be added?
Is the change going to block access for long? (DB = between 2~5GB)
Thanks
Kristen
View 5 Replies
View Related
Jul 28, 2007
Hi
My table’s data is deleted by unknown person.
I can detect some thing about it i.e. user name, time, etc of this event?
Is there any way to rollback changes though logs?
Wishes
Jawad
View 2 Replies
View Related
Jul 29, 2015
what are the best ways to action on the Deadlock issues. I am aware how a deadlock is occurred and we can get the queries causing by the Trace, and Profiler. What will en best steps to Investigate from DBA end later collecting the stats.What steps will ensure to get these deadlocks addressed.
View 4 Replies
View Related
Jan 20, 2008
Hi,
I'm would like know if the analysis service data mining enables to detect anomalies from "normal" behavior/patterns of data (1), and alert about such anomalies when detected (2). both above sql server relational DB (3).
Thanks,
Eyal
View 5 Replies
View Related
Mar 3, 2007
I am trying to install RS on Vista. I notice that the list of IIS features to turn on, listed in the KB article and blog entries, mentions a "Windows Authentication" IIS feature to check under Security. I don't have that (although I have one labeled "Basic Authentication") -- I'm on a "workgroup" computer at home.
Does this mean that you simply can't install RS on Vista unless you're joined to a domain? Thanks,
-Doug
View 18 Replies
View Related
Feb 16, 2006
Hello everybody,First: SQL Server 2000 sp3a, HP cluster server, MS 2003 server,database recovery model simpleTorn page detection:When I have this option turned on, processes conected with updating andwriting in database, was MUCH more slower, than if I've this optionturned off.It seams to me, that when this option is turned on, the sqlserver ismuch more slower by any operation connected with writing, than withoutthis option.This option is required for ensurance, that the data are writtenproperly on the media.My question is:if I have my database running under cluster, with RAID hd system, whichcontains write cache, with additional checking, that the data will bewritten correctly, is it necessary for me to keep this option turnedon?Auto shrink:When it is turned on, does it affect performance?Personaly, I don't think so, but somebody is insysting on it, and Iwould like to have an information from independent source about that.Best regardsMatik
View 13 Replies
View Related
Jun 10, 2015
Is it possible to change the default detection interval time to reduce to less than 5 seconds.
We have latency in trouble shooting the deadlocks and causing blockings more on our critical Production server.
View 10 Replies
View Related
Aug 7, 2006
Any ideas how I can I block telnet connections to SQL Server ports ?
View 1 Replies
View Related
May 10, 2007
Hi,
I am monitoring my replication process and I have a problem with the loop detection, I can see origined transacctions in the server, executed in the same for the replication.
The subscriptions configuration is sp_helpsubscription
exec sp_addsubscription @publication = N'PUBLICATION',
@article = N'all',
@subscriber = N'192.168.0.23',
@destination_db = N'PRUEBABD',
@sync_type = N'none',
@update_mode = N'read only',
@offloadagent = 0,
@dts_package_location = N'distributor',
@loopback_detection = 'true'
GO
I need for help.
View 4 Replies
View Related
Mar 9, 2007
Our application installation setup needs to be able to detect:
Is SQL Server 2005 Express Installed?
If false, run the SP2 Installation
Is SQL Server 2005 Express or SQL Express SP1 Installed?
If false, run the SP2 Installation with Update Switch
Is SQL Server 2005 (not Express) Installed
If true, abort installation with a mesage.
Can you direct me to some documentation about testing for these environments or just if someone has some scripts that will run in InstallShield, that would be great.
ALSO, can you direct me to information about using the command line update switch for the Express SP2 Installer?
Thanks.
Pat
View 1 Replies
View Related
Jul 23, 2007
In my SQL Server, I see the below message in the Application Event Viewer
"18265 :
Log backed up: Database: HSD, creation date(time): 2007/01/06(05:05:05), first LSN: 1439:495055:1, last LSN: 1439:496675:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {'D:MSSQLBACKUPHSDHSD_tlog_200707141300.TRN'})."
When I save the application event viewer and open it in another server, I do not see the above message, instead I get the following message:
" Can't find or load message DLL. Message DLL must be in path or in current directory."
Any thoughts to overcome this problem is appreciated.
Thanks
Santhosh
View 3 Replies
View Related
Aug 8, 2007
I run SB between 2 SQL servers. In profiler on an initiator side I see next error: 'This message could not be delivered because its message timestamp has expired or is invalid'. For the conversation we use best practice, i.e. target closes a conversation. Target side succeed to close conversation, but initiator still stay in DO (disconnect_outbound).
What is a reasone for the error? What to do?
View 5 Replies
View Related
Aug 8, 2007
I see in profiler this error: "This message could not be delivered because its message timestamp has expired or is invalid"
What is a reason for error?
View 1 Replies
View Related
Jul 23, 2005
Please help,I am trying to install MSDE 2000 so that Backup exec will run on thisserver. I have gotten so far as to find an entry in my SQLSTP.TXT filethat says that c:mssql7 was detected so the install fails.Now, to start with there is no directory called C:mssql7 on thisserver. I have gone through all MS articles on manual removal of SQLserver and instances. I have searched the registry for mssql7 andremoved any keys that matched, as per MS article I have searched onSQLBOOT.dll and it is not present anywhere on my system and I still getthe same results.2:07:44 Begin Action: Detection12:07:44 SQL Server version already installed: 7.00.62312:07:44 Previous Install SQL Path: C:MSSQL712:07:44 Previous Install SQL Data Path: C:MSSQL712:07:44 End Action Detection12:07:44 Begin Action: ODBCLocked12:07:44 End Action ODBCLocked12:07:44 GetDefinition returned: 112:07:44 Previous SQL Server ProductType: MSDE [0x4]12:07:44 This combination of Package and Operating System allows a fullproduct install.can anyone think of anything here..what else could be causing the server to think there is a previousversion of SQL 7 on this box!!!?
View 1 Replies
View Related