SQL Server扩展存储过程

时间:2012-02-24 23:55:27

标签: sql-server windows stored-procedures

我知道扩展存储程序是昨天的新闻,但它们仍然有它们的位置。

有没有人知道如何从扩展存储过程中获取当前的连接ID?

感谢。

1 个答案:

答案 0 :(得分:0)

使用.NET中的扩展存储过程,您的代码将从托管到SQLServer的CLR执行。因此,您不需要重新登录",您可以使用context connection字符串" Context Connection = true"连接到现有上下文。然后,您可以使用@@SPID t-sql命令获取当前用户进程的会话ID。

试试这段代码:

using (var cnn = new SqlConnection("context connection=true"))
{
    cnn.Open();     
    using(var cmd = new SqlCommand("SELECT @@SPID", cnn))
    {
        Console.WriteLine(Convert.ToString(cmd.ExecuteScalar()));
    }
}