SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

La procédure expire à partir d'ADO.NET mais pas dans SSMS

Vous pouvez comparer les options SET de la session qui expire à celles de la session qui ne l'est pas :

SELECT
    session_id,
    [ansi_defaults],
    [ansi_null_dflt_on],
    [ansi_nulls],
    [ansi_padding],
    [ansi_warnings],
    [arithabort],
    [concat_null_yields_null],
    [deadlock_priority],
    [quoted_identifier],
    [transaction_isolation_level]
FROM
    sys.dm_exec_sessions
WHERE
    session_id IN (<spid1>, <spid2>);

Lorsque vous en trouvez qui sont différents, essayez de changer chaque paramètre à l'opposé dans votre requête SSMS jusqu'à ce que vous obteniez le délai d'expiration (ou définissez manuellement la ou les options dans votre code d'application avant d'envoyer la requête). Maintenant, je n'ai pas d'instance 2005 à portée de main, donc je n'ai pas testé cette requête. Vous devrez peut-être commenter un ou plusieurs noms de colonne.