Freigeben über


Verwalten von Nichtabstreitbarkeits-Datenbanktabellen

Microsoft BizTalk Accelerator for RosettaNet (BTARN) speichert Nachrichten für Nicht-Ablehnungszwecke in den Tabellen MessageStorageIn und MessageStorageOut der BTARNArchive-Datenbank. Viele Nachrichten in diesen Tabellen können sich auf die Systemleistung auswirken. Sie können diese Datenbanktabellen ohne Ablehnung beibehalten, indem Sie nachrichten aus diesen Tabellen regelmäßig löschen und archivieren.

Routinemäßige Datenbankwartung

Wenn BTARN eine Nachricht empfängt, wird die Nachricht immer in der Tabelle MessageStorageIn gespeichert und das Feld ToBePurged zunächst auf "1" festgelegt, was angibt, dass die Nachricht keine Ablehnung erfordert. BTARN entschlüsselt und decodiert dann die Nachricht, um zu bestimmen, was die Vereinbarung ist. Nach dem Entschlüsseln und Decodieren untersucht BTARN die Vereinbarung, um festzustellen, ob die Nachricht für Nicht-Ablehnungszwecke gespeichert werden muss. Wenn ja, legt es das ToBePurged-Feld auf "0" fest und füllt die anderen Felder der Nachricht aus. Andernfalls verbleibt das ToBePurged-Feld als "1" und füllt die anderen Felder der Nachricht nicht aus.

BTARN löscht nicht automatisch Nachrichten, bei denen das ToBePurged-Feld auf "1" festgelegt ist. Darüber hinaus werden keine Nachrichten archiviert, die zur Nichtabweisung an andere Tabellen gespeichert wurden. Diese beiden Sätze von Nachrichten können sich in der Tabelle MessageStorageIn aufbauen und sich auf die Leistung auswirken. Im Rahmen der routinemäßigen Wartung der Datenbank können Sie folgendes tun:

  • Führen Sie eine gespeicherte Prozedur mit der folgenden SQL-Anweisung aus, um alle Nachrichten in der Tabelle MessageStorageIn zu löschen, deren ToBePurged-Feld nicht gleich "0" ist:

    delete MessageStorageIn where ToBePurged <> 0  
    
  • Führen Sie nach einem angemessenen Zeitraum (den die Unternehmensrichtlinie möglicherweise vorschreibt) eine gespeicherte Prozedur aus, um Nicht-Ablehnungsmeldungen in einer Offlinedatenbank zu archivieren, die sich nicht auf die Leistung auswirkt. Sie können diesen Zeitraum mithilfe des Felds TimeCreated in der Tabelle MessageStorageIn bestimmen. Nachdem der Zeitraum ohne Ablehnung für eine Nachricht abgelaufen ist, können Sie die Nachricht mithilfe der folgenden SQL-Anweisung aus der Archivdatenbank löschen (die Nachrichten löscht, die älter als sieben Tage sind):

    delete <archive table name> where datediff(d, TimeCreated, GetUTCDATA())>7  
    

Hinweis

Das TimeCreated-Feld in der Tabelle MessageStorageIn befindet sich in UTC.

Hinweis

Sie sollten keine eingehende Nachricht löschen, die weniger als eine Stunde alt ist.

Wenn BTARN eine ausgehende Nachricht sendet, hat es Zugriff auf die Nicht-Ablehnungsvereinbarung. Wenn die Vereinbarung keine Ablehnung erfordert, speichert BTARN die Nachricht in der Tabelle MessageStorageOut. Andernfalls wird die Nachricht nicht in der Tabelle gespeichert. Dies bedeutet, dass in dieser Tabelle kein ToBePurged-Feld erforderlich ist. Die einzige erforderliche Wartung für die MessageStorageOut-Tabelle besteht darin, Nicht-Ablehnungsmeldungen nach einem angemessenen Zeitraum in einer Offlinedatenbank zu archivieren und jede Nachricht zu löschen, nachdem der Zeitraum ohne Ablehnung abgelaufen ist. Sie können dies mit der folgenden SQL-Anweisung tun (die Nachrichten löscht, die älter als sieben Tage sind):

delete MessageStorageOut where datediff(d, TimeCreated, GetUTCDATA())>7  

Weitere Informationen

RNIF-Nachrichtenverarbeitung
Verwalten der Konfiguration, der Zertifikate, der Datenbanken und der Sicherheit