¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

sp_bindsession (Transact-SQL)

Enlaza, o desenlaza, una sesión con otras sesiones en la misma instancia del Database Engine (Motor de base de datos) de SQL Server. Las sesiones enlazadas permiten que dos o más sesiones participen en la misma transacción y compartan bloqueos hasta que se emita una instrucción ROLLBACK TRANSACTION o COMMIT TRANSACTION.

Para obtener más información acerca de las conexiones enlazadas, vea Usar sesiones enlazadas.

Nota importante Importante

Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, utilice conjuntos de resultados activos múltiples (MARS) o transacciones distribuidas. Para obtener más información, vea Utilizar conjuntos de resultados activos múltiples (MARS) o Transacciones distribuidas (motor de base de datos).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


sp_bindsession { 'bind_token' | NULL }

' bind_token '

Es el token que identifica la transacción obtenida originalmente con sp_getbindtoken o con la función srv_getbindtoken de Servicios abiertos de datos. bind_tokenes de tipo varchar(255).

0 (correcto) o 1 (error)

Las dos sesiones enlazadas comparten sólo una transacción y bloqueos. Cada sesión conserva su propio nivel de aislamiento y la configuración de un nivel de aislamiento nuevo en una sesión no afecta al nivel de aislamiento de la otra sesión. Cada sesión sigue siendo identificada por su cuenta de seguridad y sólo puede tener acceso a los recursos de la base de datos para los que se ha concedido acceso a la cuenta.

sp_bindsession utiliza un token de enlace para enlazar dos o más sesiones de cliente existentes. Estas sesiones de cliente deben estar en la misma instancia del Database Engine (Motor de base de datos) desde la que se obtuvo el token de enlace. Una sesión es un cliente que ejecuta un comando. Las sesiones de bases de datos enlazadas comparten la transacción y el espacio de bloqueo.

Un token de enlace obtenido a partir de una instancia del Database Engine (Motor de base de datos) no puede utilizarse en una sesión de cliente que esté en otra instancia, incluso si se trata de una transacción DTC. Un token de enlace solamente es válido dentro de cada instancia y no se puede compartir entre varias. Para enlazar las sesiones de cliente a otra instancia del Database Engine (Motor de base de datos), debe obtener un token de enlace distinto mediante la ejecución de sp_getbindtoken.

sp_bindsession generará un error si se utiliza un token que no esté activo.

Se puede desenlazar una sesión con sp_bindsession sin especificar bind_token o si se pasa NULL en bind_token.

Requiere la pertenencia a la función public.

En el ejemplo siguiente se enlaza el token de enlace especificado a la sesión actual.

Nota Nota

El token de enlace mostrado en este ejemplo se obtuvo ejecutando sp_getbindtoken antes de ejecutar sp_bindsession.

USE master;
GO
EXEC sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ';
GO

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft