Messaggio di errore nel registro applicazioni di un computer che esegue BizTalk Server

Questo articolo illustra le possibili cause e soluzioni per il messaggio di errore nel registro applicazioni di un server che esegue Microsoft BizTalk Server 2006 o BizTalk Server 2004.

Versione originale del prodotto: BizTalk Server 2009 Developer, BizTalk Server 2009 Enterprise, BizTalk Server 2009 Standard
Numero KB originale: 841334

Sintomi

Nel registro applicazioni di un server che esegue BizTalk Server 2006 o BizTalk Server 2004 viene visualizzato un messaggio di errore simile al seguente:

Errore di lettura. Informazioni sull'eccezione: TDDS non è riuscito a leggere dal database di origine.
SQLServer: SQLSERVER, Database: BizTalkMsgBoxDb.

È anche possibile ricevere uno dei messaggi di errore seguenti nel registro eventi dell'applicazione:

  • Messaggio di errore 1

    Un altro TDDS sta elaborando gli stessi dati o è presente una sessione orfana in SQL Server che contiene il blocco TDDS. SQL Server: Database SQLSERVER: BizTalkMsgBoxDb

  • Messaggio di errore 2

    Un altro TDDS sta elaborando gli stessi dati o è presente una sessione orfana in SQL Server che contiene il blocco TDDS. Impossibile aprire il database richiesto nell'account di accesso 'Login'. L'accesso non riesce.

  • Messaggio di errore 3

    Un altro TDDS sta elaborando gli stessi dati o è presente una sessione orfana in SQL Server che contiene il blocco TDDS. La proprietà ConnectionString non è stata inizializzata. SQLServer: SQLSERVER, Database: BizTalkMsgBoxDb

    Nota

    SQLSERVER rappresenta il nome del computer che esegue SQL Server che ospita il database BizTalk MessageBox, Login è un segnaposto per un nome utente ed BizTalkMsgBoxDb è un segnaposto per il nome del database MessageBox BizTalk Server.

Causa

È possibile che venga visualizzato questo messaggio di errore per i motivi seguenti:

  • L'account utente specificato come accesso per un'istanza host BizTalk Server per cui è abilitato il rilevamento non è un membro del gruppo Utenti applicazioni BizTalk nel computer che esegue SQL Server che ospita i database Monitoraggio integrità e attività, Monitoraggio attività business e MessageBox.

  • Una sessione SQL orfana impedisce l'avvio del servizio TDDS (Tracking Data Decode Service), noto anche come servizio bus di eventi BAM.

Risoluzione

Per risolvere il problema, controllare il testo della descrizione dell'errore che segue immediatamente il testo dell'errore elencato nella sezione Sintomi. A seconda del testo della descrizione dell'errore che segue immediatamente il testo dell'errore, seguire questa procedura:

  • Se il testo dell'errore visualizzato è simile al messaggio di errore seguente:

    Autorizzazione EXECUTE negata per l'oggetto 'TDDS_Lock', tabella 'xxx', proprietario 'xxx'. SQLServer: xxx, Database: xxx.

    Assicurarsi che l'account utente specificato come accesso per un'istanza host di BizTalk Server per cui è abilitato il rilevamento sia un membro del gruppo Utenti applicazione BizTalk nel computer che esegue SQL Server che ospita i database Monitoraggio integrità e attività, Monitoraggio attività business e MessageBox. Assicurarsi inoltre che nessun altro server BizTalk eserciti gli stessi dati di rilevamento dallo stesso database BizTalk MessageBox.

    Nota

    xxx è un segnaposto per il nome effettivo della tabella, il proprietario del database, il computer che esegue SQL Server e il nome del database.

  • Se il testo dell'errore visualizzato è simile al messaggio di errore seguente:

    Timeout scaduto. È trascorso il periodo di timeout prima del completamento dell'operazione oppure il server non risponde.

Stato

Si tratta di un comportamento legato alla progettazione del prodotto.

Ulteriori informazioni

Un altro TDDS sta elaborando gli stessi dati o è presente una sessione orfana in SQL Server che contiene il messaggio di errore di blocco TDDS indica che più di un servizio TDDS (Tracking Data Decode Service) viene elaborato contemporaneamente e sugli stessi dati. Questo comportamento blocca i dati e impedisce l'accesso ai dati. Se viene visualizzato questo messaggio di errore in un ambiente BizTalk Server cluster o multinodo, seguire questa procedura per assicurarsi che i gruppi di dominio vengano aggiunti ai ruoli di database SQL Server corretti creati quando viene installato BizTalk Server.

Nota

È necessario seguire questa procedura in ogni istanza di SQL Server in cui è installato BizTalk Server.

Microsoft SQL Server 2005

  • Configurare il database BAMArchive

    1. Aprire SQL Server Management Studio.
    2. Espandere l'istanza di SQL Server da configurare, espandere Database, BAMArchive, Sicurezza, Ruoli e quindi fare clic su Ruoli database.
    3. Fare doppio clic su BTS_ADMIN_USERS. Se il gruppo BizTalk Server Administrators non è membro di questo ruolo, aggiungere il gruppo BizTalk Server Administrators al ruolo e quindi fare clic su OK.
    4. Fare clic su Utenti. Se il gruppo BizTalk Isolated Host Users non è un account di accesso per questo database, aggiungere l'account di accesso del gruppo BizTalk Isolated Host Users al database e quindi fare clic su OK.
    5. Fare clic su Ruoli database e quindi fare doppio clic su BTS_HOST_USERS. Se il gruppo BizTalk Isolated Host Users non è membro del ruolo BTS_HOST_USERS , aggiungere l'account di accesso del gruppo BizTalk Isolated Host Users al ruolo BTS_HOST_USERS e quindi fare clic su OK.
  • Configurare il database BAMPrimaryImport

    1. In Database espandere BAMPrimaryImport.
    2. Espandere Sicurezza e quindi fare clic su Utenti.
    3. Aggiungere l'account del servizio BizTalk (BtsService) come utente. Questo passaggio non viene eseguito automaticamente quando si esegue la Configurazione guidata BizTalk Server (Configuration.exe). A tale scopo, fare clic con il pulsante destro del mouse su Utenti, quindi scegliere Nuovo utente, aggiungere l'utente e quindi fare clic su OK.
    4. Espandere Ruoli e quindi fare clic su Ruoli database.
    5. Fare doppio clic su BAM_EVENT_WRITER, aggiungere l'account del servizio BizTalk e gli account di accesso del gruppo BizTalk Server Administrators al ruolo BAM_EVENT_WRITER e quindi fare clic su OK.
    6. Fare doppio clic su BAM_ManagementWS, aggiungere l'account del servizio BizTalk e gli account di accesso del gruppo BizTalk Server Administrators al ruolo BAM_ManagementWS e quindi fare clic su OK.
  • Configurare il database BizTalkDTADb

    1. In Database espandere BizTalkDTADb.
    2. Espandere Sicurezza, Ruoli e quindi fare clic su Ruoli database.
    3. Fare doppio clic su BAM_EVENT_WRITER. Aggiungere l'account di accesso del gruppo BizTalk Server Administrators e l'account di servizio BizTalk al ruolo BAM_EVENT_WRITER e quindi fare clic su OK.
    4. Fare doppio clic su HM_EVENT_WRITER. Aggiungere l'account di accesso BizTalk Server gruppo Administrators e l'account di accesso del servizio BizTalk al ruolo HM_EVENT_WRITER e quindi fare clic su OK.
  • Configurare il database BizTalkMgmtDb

    1. In Database espandere BizTalkMgmtDb.
    2. Espandere Sicurezza, Ruoli e quindi fare clic su Ruoli database.
    3. Fare doppio clic su BAM_CONFIG_READER. Aggiungere l'account di accesso del gruppo administrators BizTalk Server e l'account di accesso dell'account del servizio BizTalk al ruolo BAM_CONFIG_READER e quindi fare clic su OK.
  • Configurare il database BizTalkMsgBoxDb

    1. In Database espandere BizTalkMgmtDb.
    2. Espandere Sicurezza e quindi fare clic su Utenti.
    3. Fare clic con il pulsante destro del mouse sul riquadro destro, scegliere Nuovo utente, aggiungere l'account del servizio BizTalk come account di accesso al database e quindi fare clic su OK.
    4. Espandere Ruoli e quindi fare clic su Ruoli database.
    5. Fare doppio clic su BAM_EVENT_READER, aggiungere l'account di accesso del servizio BizTalk al ruolo BAM_EVENT_WRITER e quindi fare clic su OK.

Microsoft SQL Server 2000

  • Configurare il database BAMArchive

    1. Aprire SQL Server Enterprise Manager.

    2. Espandere l'istanza di SQL Server da configurare, espandere Database, BAMArchive e quindi fare clic su Ruoli.

    3. Fare doppio clic su BTS_ADMIN_USERS.

      Se il gruppo BizTalk Server Administrators non è membro di questo ruolo, fare clic su Aggiungi per aggiungere il gruppo e quindi fare clic su OK.

      Nota

      Se il gruppo BizTalk Server Administrators non è disponibile, seguire questa procedura:

      1. Fare clic su Annulla.
      2. Fare clic su Account di accesso.
      3. Aggiungere il gruppo BizTalk Server Administrators come nuovo account di accesso per il database e quindi fare clic su OK.
      4. Fare clic su Ruoli.
      5. Fare clic su Aggiungi per aggiungere il gruppo BizTalk Server Administrators al ruolo.
      6. Fare clic su OK.
    4. Fare clic su Utenti.

      Se il gruppo Utenti host isolato BizTalk non è un account di accesso per il database, fare clic con il pulsante destro del mouse sul riquadro destro, scegliere Nuovo utente, aggiungere l'account di accesso del gruppo Utenti host isolato BizTalk al database e quindi fare clic su OK.

    5. Fare clic su Ruoli, quindi fare doppio clic su BTS_HOST_USERS.

      Se il gruppo BizTalk Isolated Host Users non è membro del ruolo BTS_HOST_USERS , fare clic su Aggiungi per aggiungere l'account di accesso del gruppo BizTalk Isolated Host Users al ruolo BTS_HOST_USERS e quindi fare clic su OK.

  • Configurare il database BAMPrimaryImport

    1. In Database espandere BAMPrimaryImport.

    2. È necessario aggiungere l'account del servizio BizTalk (BtsService) come utente. Questo passaggio non viene eseguito automaticamente quando si esegue la Configurazione guidata BizTalk Server (ConfigFramework.exe). A tal fine, attenersi alla seguente procedura:

      1. Fare clic su Utenti.
      2. Fare clic con il pulsante destro del mouse sul riquadro destro, scegliere Nuovo utente e quindi aggiungere l'account di accesso del servizio BizTalk al database.
      3. Fare clic su OK.
    3. Fare clic su Ruoli e quindi fare doppio clic su BAM_EVENT_WRITER.

    4. Aggiungere l'account del servizio BizTalk e gli account di accesso del gruppo Administrators BizTalk Server al ruolo BAM_EVENT_WRITER.

    5. Fare clic su OK.

    6. In BizTalk Server 2003 fare doppio clic su BAMQueryWS in Ruoli. In BizTalk Server 2006 fare doppio clic su GestioneWS in Ruoli.

    7. Aggiungere l'account del servizio BizTalk e gli account di accesso del gruppo BizTalk Isolated Host Users al ruolo BAMQueryWS .

    8. Fare clic su OK.

  • Configurare il database BizTalkDTADb

    1. In Database espandere BizTalkDTADb.
    2. Fare clic su Ruoli e quindi fare doppio clic su BAM_EVENT_WRITER.
    3. Aggiungere l'account di accesso del gruppo BizTalk Server Administrators e l'account di accesso dell'account del servizio BizTalk al ruolo BAM_EVENT_WRITER.
    4. Fare clic su OK.
    5. In Ruoli fare doppio clic su HM_EVENT_WRITER.
    6. Aggiungere il gruppo BizTalk Server Administrators e l'account di accesso del servizio BizTalk al ruolo HM_EVENT_WRITER.
    7. Fare clic su OK.
  • Configurare il database BizTalkMgmtDb

    1. In Database espandere BizTalkMgmtDb.
    2. Fare clic su Ruoli e quindi fare doppio clic su BAM_CONFIG_READER.
    3. Aggiungere l'account del servizio BizTalk al ruolo BAM_CONFIG_READER .
    4. Fare clic su OK.
  • Configurare il database BizTalkMsgBoxDb

    1. In Database espandere BizTalkMsgBoxDb.
    2. Fare clic su Utenti.
    3. Fare clic con il pulsante destro del mouse sul riquadro destro, scegliere Nuovo utente e quindi aggiungere l'account del servizio come account di accesso al database.
    4. Fare clic su OK.
    5. In Ruoli fare doppio clic sul ruolo BAM_EVENT_READER .
    6. Aggiungere l'account del servizio BizTalk al ruolo BAM_EVENT_READER .
    7. Fare clic su OK.

Importante

Per impostazione predefinita, queste impostazioni di sicurezza del database sono già impostate quando si configura BizTalk Server 2004.