En el registro de aplicación de un equipo que ejecuta BizTalk Server recibe un mensaje de error "TDDS no pudo leer de la base de datos de origen."

Se aplica a: BizTalk Server 2009 DeveloperBizTalk Server 2009 EnterpriseBizTalk Server 2009 Standard

Síntomas


Recibirá un mensaje de error similar al siguiente en el registro de aplicación de un servidor que está ejecutando Microsoft BizTalk Server 2006 o Microsoft BizTalk Server 2004:
Error de lectura. Información de la excepción: TDDS no pudo leer de la base de datos de origen. SQLServer: SQL Server, base de datos:
BizTalkMsgBoxDb.
También puede recibir uno de los siguientes mensajes de error en el registro de sucesos de aplicación:
Mensaje de error 1
Otro TDDS está procesando los mismos datos o hay una sesión huérfana en el servidor SQL que bloquea el TDDS. SQL Server: Base de datos SQL Server :
BizTalkMsgBoxDb
Mensaje de error 2
Otro TDDS está procesando los mismos datos o hay una sesión huérfana en el servidor SQL que bloquea el TDDS. No se puede abrir la base de datos solicitada en el inicio de sesión 'sesión'. Error al iniciar sesión.
Mensaje de error 3
Otro TDDS está procesando los mismos datos o hay una sesión huérfana en el servidor SQL que bloquea el TDDS. No se ha inicializado la propiedad ConnectionString. SQLServer:
SQLSERVER, base de datos: BizTalkMsgBoxDb
Nota: SQLSERVER representa el nombre del equipo que está ejecutando SQL Server que aloja la base de datos de BizTalk MessageBox, Inicio de sesión es un marcador de posición para un nombre de usuario y BizTalkMsgBoxDb es un marcador de posición para el nombre de la base de datos de cuadro de mensaje de BizTalk Server.

Causa


Puede recibir este mensaje de error por los siguientes motivos:
  • La cuenta de usuario que se especifica como el inicio de sesión para un Host de BizTalk Server instancia dicho seguimiento está habilitado para no es un miembro del grupo de usuarios de la aplicación de BizTalk en el equipo que ejecuta SQL Server que aloja las bases de datos de estado y actividad de seguimiento, Business Activity Monitoring y MessageBox.
  • Una sesión de SQL huérfanos impide iniciar el seguimiento de datos descodificar servicio (TDDS), también conocido como el BAM Bus de servicio de sucesos.

Solución


Para resolver este problema, compruebe el texto de la descripción del error que sigue inmediatamente al texto de error que se enumera en la sección síntomas. Según el texto de la descripción del error que sigue inmediatamente al texto de error, siga estos pasos:
  • Si el texto de error que aparece es similar al mensaje de error siguiente:
    Permiso EXECUTE denegado para el objeto 'TDDS_Lock', tabla 'xxx', propietario 'xxx'. SQLServer: xxx, base de datos: xxx.
    Asegúrese de que la cuenta de usuario que se especifica como una instancia de Host de BizTalk Server para el que está habilitado el seguimiento en el inicio de sesión es un miembro del grupo de usuarios de la aplicación de BizTalk en el equipo que está ejecutando a SQL Server que aloja las bases de datos de estado y actividad de seguimiento, Business Activity Monitoring y MessageBox. También asegúrese de que no hay otros servidores BizTalk Server procesa los mismos datos de seguimiento de la misma base de datos de BizTalk MessageBox.

    Nota: xxx es un marcador de posición para el nombre real de la tabla, el propietario de la base de datos, el equipo que está ejecutando SQL Server y el nombre de la base de datos.
  • Si el texto de error que aparece es similar al mensaje de error siguiente:
    Tiempo de espera caducado. El tiempo de espera caducó antes de completar la operación o el servidor no responde.
    Siga los pasos que se enumeran en el siguiente artículo de Microsoft Developer Network (MSDN) para solucionar problemas de las sesiones huérfanas de SQL:

Estado


Este comportamiento es por diseño.

Más información


El mensaje de error "Otro TDDS está procesando los mismos datos o hay una sesión huérfana en el servidor SQL que bloquea el TDDS" indica que está procesando más de un seguimiento de datos descodificar Service (TDDS) al mismo tiempo y en los mismos datos. Este comportamiento bloquea los datos e impide el acceso a los datos. Si recibe este mensaje de error en un entorno clúster o de múltiples nodos de BizTalk Server, siga estos pasos para asegurarse de que los grupos de dominio se agregan a las funciones de base de datos de SQL Server correctas que se crean cuando se instala BizTalk Server.

Nota: Debe seguir estos pasos en cada instancia de SQL Server en el que está instalado BizTalk Server.

Microsoft SQL Server 2005

Configurar la base de datos de BAMArchive

  1. Abra SQL Server Management Studio.
  2. Expanda la instancia de SQL Server que desee configurar, expanda bases de datos,
    BAMArchive, expanda seguridad,
    Funcionesy, a continuación, haga clic en Funciones de base de datos.
  3. Haga doble clic en BTS_ADMIN_USERS. Si el grupo de administradores de BizTalk Server no es un miembro de esta función, agregue el grupo de administradores de BizTalk Server a la función y, a continuación, haga clic en
    OK.
  4. Haga clic en usuarios. Si el grupo de usuarios de Host aislado de BizTalk no es un inicio de sesión para esta base de datos, agregar el inicio de sesión de grupo de usuarios de Host aislado de BizTalk a la base de datos y, a continuación, haga clic en
    OK.
  5. Haga clic en Funciones de base de datosy, a continuación, haga doble clic en BTS_HOST_USERS. Si el grupo de usuarios de Host aislado de BizTalk no es un miembro de la función BTS_HOST_USERS, agregar el inicio de sesión de grupo de usuarios de Host aislado de BizTalk a la función BTS_HOST_USERS y, a continuación, haga clic en
    OK.

Configurar la base de datos de BAMPrimaryImport

  1. En las bases de datos, expanda
    BAMPrimaryImport.
  2. Expanda seguridady, a continuación, haga clic en
    Los usuarios.
  3. Agregue la cuenta de la cuenta de servicio de BizTalk (BtsService) como usuario. Este paso no se realiza automáticamente al ejecutar el Asistente para configuración de BizTalk Server (Configuration.exe). Para ello, haga clic en
    Los usuariosy, a continuación, haga clic en Nuevo usuario, agregar el usuario y, a continuación, haga clic en Aceptar.
  4. Expanda funcionesy, a continuación, haga clic en
    Funciones de base de datos.
  5. Haga doble clic en BAM_EVENT_WRITER, agregue la cuenta de servicio de BizTalk y los inicios de sesión a la función BAM_EVENT_WRITER de grupo los administradores de BizTalk Server y, a continuación, haga clic en Aceptar.
  6. Haga doble clic en BAM_ManagementWS, agregue la cuenta de servicio de BizTalk y los inicios de sesión a la función BAM_ManagementWS de grupo los administradores de BizTalk Server y, a continuación, haga clic en Aceptar.

Configurar la base de datos de BizTalkDTADb

  1. En las bases de datos, expanda
    BizTalkDTADb.
  2. Expanda seguridad,
    Funcionesy, a continuación, haga clic en Funciones de base de datos.
  3. Haga doble clic en BAM_EVENT_WRITER. Agregar el inicio de sesión del grupo de administradores de BizTalk Server y el inicio de sesión de cuenta de servicio de BizTalk a la función BAM_EVENT_WRITER y, a continuación, haga clic en Aceptar.
  4. Haga doble clic en HM_EVENT_WRITER. Agregar el inicio de sesión del grupo de administradores de BizTalk Server y el inicio de sesión de cuenta de servicio de BizTalk a la función HM_EVENT_WRITER y, a continuación, haga clic en Aceptar.

Configurar la base de datos de BizTalkMgmtDb

  1. En las bases de datos, expanda
    BizTalkMgmtDb.
  2. Expanda seguridad,
    Funcionesy, a continuación, haga clic en Funciones de base de datos.
  3. Haga doble clic en BAM_CONFIG_READER. Agregar el inicio de sesión del grupo de administradores de BizTalk Server y el inicio de sesión de cuenta de servicio de BizTalk a la función BAM_CONFIG_READER y, a continuación, haga clic en Aceptar.

Configurar la base de datos BizTalkMsgBoxDb

  1. En las bases de datos, expanda
    BizTalkMgmtDb.
  2. Expanda seguridady, a continuación, haga clic en
    Los usuarios.
  3. Haga clic en el panel derecho, haga clic en Nuevo usuario, agregue la cuenta de BizTalk Service como un inicio de sesión para esta base de datos y, a continuación, haga clic en Aceptar.
  4. Expanda funcionesy, a continuación, haga clic en
    Funciones de base de datos.
  5. Haga doble clic en BAM_EVENT_READER, agregar el inicio de sesión de cuenta de BizTalk Service a la función BAM_EVENT_WRITER y, a continuación, haga clic en
    OK.

Microsoft SQL Server 2000

Configurar la base de datos de BAMArchive

  1. Abra el Administrador corporativo de SQL Server.
  2. Expanda la instancia de SQL Server que desee configurar, expanda bases de datos,
    BAMArchivey, a continuación, haga clic en Roles.
  3. Haga doble clic en BTS_ADMIN_USERS.

    Si el grupo de administradores de BizTalk Server no es miembro de esta función, haga clic en
    Agregar para agregar el grupo y, a continuación, haga clic en
    OK.

    Nota: Si el grupo de administradores de BizTalk Server no está disponible, siga estos pasos:
    1. Haga clic en Cancelar.
    2. Haga clic en inicios de sesión.
    3. Agregue el grupo de administradores de BizTalk Server como un nuevo inicio de sesión para la base de datos y, a continuación, haga clic en Aceptar.
    4. Haga clic en Roles.
    5. Haga clic en Agregar para agregar el grupo de administradores de BizTalk Server a la función.
    6. Haga clic en Aceptar.
  4. Haga clic en usuarios.

    Si el grupo de usuarios de Host aislado de BizTalk no es un inicio de sesión para esta base de datos, haga clic en el panel derecho, haga clic en Nuevo usuario, agregar el inicio de sesión de grupo de usuarios de Host aislado de BizTalk a la base de datos y, a continuación, haga clic en
    OK.
  5. Haga clic en funcionesy, a continuación, haga doble clic en
    BTS_HOST_USERS.

    Si el grupo de usuarios de Host aislado de BizTalk no es un miembro de la función BTS_HOST_USERS, haga clic en Agregar para agregar el inicio de sesión de grupo de usuarios de Host aislado de BizTalk a la función BTS_HOST_USERS y, a continuación, haga clic en Aceptar

Configurar la base de datos de BAMPrimaryImport

  1. En las bases de datos, expanda
    BAMPrimaryImport.
  2. Debe agregar la cuenta de servicio de BizTalk (BtsService) como usuario. Este paso no se realiza automáticamente al ejecutar el Asistente para configuración de BizTalk Server (ConfigFramework.exe). Para ello, siga estos pasos:
    1. Haga clic en usuarios.
    2. (Ratón) en el panel derecho, haga clic en Nuevo usuarioy, a continuación, agregue el inicio de sesión de cuenta de servicio de BizTalk para esta base de datos.
    3. Haga clic en Aceptar.
  3. Haga clic en funcionesy, a continuación, haga doble clic en
    BAM_EVENT_WRITER.
  4. Agregue la cuenta de servicio de BizTalk y los inicios de sesión del grupo de administradores de BizTalk Server a la función BAM_EVENT_WRITER.
  5. Haga clic en Aceptar.
  6. En BizTalk Server 2003, haga doble clic en BAMQueryWS en funciones. En BizTalk Server 2006, haga doble clic en
    ManagementWS en las funciones.
  7. Agregue la cuenta de servicio de BizTalk y los inicios de sesión de grupo de usuarios de Host aislado de BizTalk a la función BAMQueryWS.
  8. Haga clic en Aceptar.

Configurar la base de datos de BizTalkDTADb

  1. En las bases de datos, expanda
    BizTalkDTADb.
  2. Haga clic en funcionesy, a continuación, haga doble clic en
    BAM_EVENT_WRITER.
  3. Agregar el inicio de sesión del grupo de administradores de BizTalk Server y el inicio de sesión de cuenta de servicio de BizTalk a la función BAM_EVENT_WRITER.
  4. Haga clic en Aceptar.
  5. En las funciones, haga doble clic en
    HM_EVENT_WRITER.
  6. Agregue el grupo de administradores de BizTalk Server y el inicio de sesión de cuenta de servicio de BizTalk a la función HM_EVENT_WRITER.
  7. Haga clic en Aceptar.

Configurar la base de datos de BizTalkMgmtDb

  1. En las bases de datos, expanda
    BizTalkMgmtDb.
  2. Haga clic en funcionesy, a continuación, haga doble clic en
    BAM_CONFIG_READER.
  3. Agregar la cuenta de servicio de BizTalk a la función BAM_CONFIG_READER.
  4. Haga clic en Aceptar.

Configurar la base de datos BizTalkMsgBoxDb

  1. En las bases de datos, expanda
    BizTalkMsgBoxDb.
  2. Haga clic en usuarios.
  3. Haga clic derecho en el panel derecho, haga clic en Nuevo usuarioy, a continuación, agregue la cuenta de servicio como un inicio de sesión para esta base de datos.
  4. Haga clic en Aceptar.
  5. En las funciones, haga doble clic en el
    Función BAM_EVENT_READER .
  6. Agregar la cuenta de servicio de BizTalk a la función BAM_EVENT_READER.
  7. Haga clic en Aceptar.
Importante: De forma predeterminada, esta configuración de seguridad de la base de datos ya se establece al configurar BizTalk Server 2004.

Para obtener más información acerca de las sesiones huérfanas, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):