SET CONTEXT_INFO (Transact-SQL)SET CONTEXT_INFO (Transact-SQL)

ESTE TEMA SE APLICA A:síSQL Server (a partir de 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Asocia hasta 128 bytes de información binaria con la sesión o la conexión actual.Associates up to 128 bytes of binary information with the current session or connection.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax


SET CONTEXT_INFO { binary_str | @binary_var }  

ArgumentosArguments

binary_strbinary_str
Es un binario constante o una constante que es implícitamente convertible a binario, para asociarla a la sesión o conexión actual.Is a binary constant, or a constant that is implicitly convertible to binary, to associate with the current session or connection.

@binary_var@ binary_var
Es un varbinary o binario variable que contiene un valor de contexto para asociarlo con la sesión o conexión actual.Is a varbinary or binary variable holding a context value to associate with the current session or connection.

ComentariosRemarks

El modo preferido para recuperar la información de contexto para la sesión actual es utilizar la función CONTEXT_INFO.The preferred way to retrieve the context information for the current session is to use the CONTEXT_INFO function. Información de contexto de sesión se almacena también en el context_info columnas en las vistas del sistema siguientes:Session context information is also stored in the context_info columns in the following system views:

  • sys.dm_exec_requestssys.dm_exec_requests

  • sys.dm_exec_sessionssys.dm_exec_sessions

  • sys.sysprocessessys.sysprocesses

    SET CONTEXT_INFO no se puede especificar en una función definida por el usuario.SET CONTEXT_INFO cannot be specified in a user-defined function. No puede proporcionar un valor NULL para SET CONTEXT_INFO porque las vistas que albergan los valores no permiten valores NULL.You cannot supply a null value to SET CONTEXT_INFO because the views holding the values do not allow for null values.

    SET CONTEXT_INFO no acepta expresiones distintas de nombres de constantes o variables.SET CONTEXT_INFO does not accept expressions other than constants or variable names. Para establecer la información de contexto en el resultado de una llamada de función, se debe incluir el resultado de la llamada de función en un binario o varbinary variable.To set the context information to the result of a function call, you must first include the result of the function call in a binary or varbinary variable.

    Cuando emite SET CONTEXT_INFO en un procedimiento almacenado o un desencadenador, a diferencia de otras instrucciones SET, los nuevos valores de la información de contexto persisten después de completarse el desencadenador o el procedimiento almacenado.When you issue SET CONTEXT_INFO in a stored procedure or trigger, unlike in other SET statements, the new value set for the context information persists after the stored procedure or trigger is completed.

EjemplosExamples

A.A. Establecer información de contexto utilizando una constanteSetting context information by using a constant

El ejemplo siguiente muestra SET CONTEXT_INFO estableciendo el valor y mostrando los resultados.The following example demonstrates SET CONTEXT_INFO by setting the value and displaying the results. Tenga en cuenta que para consultar sys.dm_exec_sessions se requieren permisos SELECT y VIEW SERVER STATE, mientras que el uso de la función CONTEXT_INFO no los requiere.Note that querying sys.dm_exec_sessions requires SELECT and VIEW SERVER STATE permissions, whereas using the CONTEXT_INFO function does not.

SET CONTEXT_INFO 0x01010101;  
GO  
SELECT context_info   
FROM sys.dm_exec_sessions  
WHERE session_id = @@SPID;  
GO  

B.B. Establecer información de contexto utilizando una funciónSetting context information by using a function

En el ejemplo siguiente se muestra cómo utilizar el resultado de una función para establecer el valor de contexto, donde el valor de la función se debe colocar en primer lugar en un binario variable.The following example demonstrates using the output of a function to set the context value, where the value from the function must be first placed in a binary variable.

DECLARE @BinVar varbinary(128);  
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );  
SET CONTEXT_INFO @BinVar;  

SELECT CONTEXT_INFO() AS MyContextInfo;  
GO  

Vea tambiénSee Also

Instrucciones SET (Transact-SQL) SET Statements (Transact-SQL)
Sys.dm_exec_requests ( Transact-SQL ) sys.dm_exec_requests (Transact-SQL)
Sys.dm_exec_sessions ( Transact-SQL ) sys.dm_exec_sessions (Transact-SQL)
CONTEXT_INFO ( Transact-SQL )CONTEXT_INFO (Transact-SQL)