BizTalk Rulez

About BizTalk and Connected puzzled
posts - 225, comments - 7840, trackbacks - 21

My Links

Archives

.Me

.MVP

.Net 3.0

Adapters

Administering

BizTalk Docs

BizTalk Poster

BizTalk Server Developer Center

EDI

Hot!

Info

Microsoft Net

MOM

Nino's TechNet Articles

Quicklink

RFID

SAP

Tools

VM

Webcast

Eliminare i messaggi in suspended da database

Per pulire un MessageBox database è possibile utilizzare una stored procedure di nome bts_CleanupMsgbox.
Questa stored si trova chiaramante nel database di messagebox, nel caso non sia disponibile è possibile crearla in questo modo.

Aprire SQL Server Query Analizer e aprire il file msgbox_cleanup_logic.sql che è presente nella directory <Dir di installazione BizTalk>\Schema
Creare la stored eseguendo lo script.

Attenzione perchè questa Stored ha due particolarità, la prima è che cancella tutti i messaggi in suspended di tutte le istanze e applicazioni e
secondo, Microsoft non supporta l' utilizzo di questa stored procedure su un BizTalk Server in produzione ma solo in ambiente di test e sviluppo.

E' chiaramente possibile adattare questa stored per eseguire la pulizia di una sola host application in questo modo.

Modificare questo punto della stored....

declare @nvcAppName nvarchar(256)
declare curse cursor for
    SELECT nvcApplicationName FROM Applications
open curse
FETCH NEXT FROM curse INTO @nvcAppName
WHILE (@@FETCH_STATUS = 0)
BEGIN
    exec ('truncate table [' + @nvcAppName + 'Q]')
    exec ('truncate table [' + @nvcAppName + 'Q_Suspended]')
    exec ('truncate table [InstanceStateMessageReferences_' + @nvcAppName + ']')
    exec ('truncate table [DynamicStateInfo_' + @nvcAppName + ']')
    exec ('truncate table [' + @nvcAppName + '_MessageRefCountLog]')
    FETCH NEXT FROM curse INTO @nvcAppName
END
close curse
deallocate curse

in questo modo:

.........

BEGIN
    exec ('truncate table [' + @nvcAppName + 'Q]')
    exec ('truncate table [' + @nvcAppName + 'Q_Suspended]')
    exec ('truncate table [InstanceStateMessageReferences_' + @nvcAppName + ']')
    exec ('truncate table [DynamicStateInfo_' + @nvcAppName + ']')
    exec ('truncate table [' + @nvcAppName + '_MessageRefCountLog]')
    FETCH NEXT FROM curse INTO @nvcAppName
END

.......

E dichiarare un parametro nella stored in questo modo:

ALTER PROCEDURE [dbo].[bts_CleanupMsgbox]
@fLeaveActSubs int = 1,
@nvcAppName nvarchar(256)

AS

..........

Adesso è possibile ripulire la messagebox di BizTalk Server molto velocemente e sulla base di un singolo handler,
per questa ragione in BizTalk Server è consigliabile utilizzare più host Handler di ricezione, invio e processing,

questo metodo offre la possibilità di lavorare in modo più capillare oltre che scalabile.

Print | posted on lunedì 24 settembre 2007 06:45 |

Feedback

Gravatar

# Eliminare i messaggi in suspended da database

Thanks for sharing Eliminare i messaggi in suspended da database i really like this post Song Lyrics hope you will also like this.
06/07/2017 07:11 | Yaku
Gravatar

# re: Eliminare i messaggi in suspended da database

Thanks a lot for the post!
12/07/2017 14:14 | Chloe Will
Gravatar

# re: Eliminare i messaggi in suspended da database

According to the company website, the goal of www.achieve.com is to, “improve literacy for all learners.” This online tool gives users access to over 10,000 standards-aligned English and Spanish non-fiction texts.
02/06/2018 01:33 | xvoszisy
Gravatar

# har har

https://achieve3000loginz.com/
09/06/2018 11:07 | khushal
Gravatar

# re: Eliminare i messaggi in suspended da database

I am often to blogging and i really appreciate your content. The article has really peaks my interest. I am going to bookmark your site and keep checking for new information.

Click Here
Dcurbanmom.com
26/06/2018 16:33 | HardyKohei
Gravatar

# nice

amazing post man Hotmail Sign in Login
14/11/2018 09:31 | Hotmail Sign in Login
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET