Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server会话_Sql Server_Sql Server 2005_Sql Server 2008 - Fatal编程技术网

Sql server SQL Server会话

Sql server SQL Server会话,sql-server,sql-server-2005,sql-server-2008,Sql Server,Sql Server 2005,Sql Server 2008,在sql server中被视为会话的内容。 我正在尝试使用sp_getapplock,文档说明: 放置在资源上的锁与当前事务或当前会话相关联。当事务提交或回滚时,将释放与当前事务关联的锁。当会话注销时,将释放与会话关联的锁。当服务器因任何原因关闭时,所有锁都将被释放 “当会话注销时,将释放与会话关联的锁” 我需要知道什么被认为是一个会议。使用ManagementStudio连接到数据库是一个会话;使用asp.net连接到sql server也会创建会话 如果我使用ADO.net和连接池,连接池中

在sql server中被视为会话的内容。 我正在尝试使用sp_getapplock,文档说明:

放置在资源上的锁与当前事务或当前会话相关联。当事务提交或回滚时,将释放与当前事务关联的锁。当会话注销时,将释放与会话关联的锁。当服务器因任何原因关闭时,所有锁都将被释放

“当会话注销时,将释放与会话关联的锁”

我需要知道什么被认为是一个会议。使用ManagementStudio连接到数据库是一个会话;使用asp.net连接到sql server也会创建会话

如果我使用ADO.net和连接池,连接池中的每个连接都会被视为不同的会话吗

如果我使用ADO.net和连接池,连接池中的每个连接都被认为是不同的会话吗


有点。几乎每次打开/关闭新连接时,都是一个会话。但是,连接池的一个“功能”是,它并不总是在命令下打开/关闭,当它看到您重复打开和关闭一组连接时,它会在后台使用单个连接,我相信这会导致sql server上的单个会话。

使用连接池,请注意,
sp\u reset\u connection
是在每次重新分配重用的连接之间调用的。详细介绍sp_reset_connection完成的清理

编辑
在您问题的上下文中,
sp\u reset\u connection
“释放已获取的锁”。sp\u getapplock的@LockOwner指的是释放锁的时间:

  • “会话”:在会话结束时
  • “事务”:提交或回滚时

基本上,sys.sysprocesss中的SPID是一个“会话”

“…我相信它会导致sql server上的单个会话”。这听起来像纯粹的猜测,即使它是这样工作的,它似乎没有被记录下来,因此不应该被依赖。