Sql server 有没有办法在数据库或连接字符串级别设置锁定超时?

Sql server 有没有办法在数据库或连接字符串级别设置锁定超时?,sql-server,connection-string,Sql Server,Connection String,在SQL 2005/2008中,有任何方法可以设置默认的锁定超时值 服务器、数据库或连接字符串级别的任何设置都很好。锁定超时,即事务在失败之前等待锁定的时间量通常是一个“应用程序级别”设置,在连接打开后由set Lock\u timeout命令设置 根据这个JDBC驱动程序,还有一个连接字符串设置lockTimeout,这可能是您要查找的,但我还没有在ODBC中尝试过: 等待的毫秒数 在数据库报告锁之前 暂停。默认行为是 无限期地等待。如果指定了, 此值是所有项目的默认值 关于连接的声明。注 s

在SQL 2005/2008中,有任何方法可以设置默认的锁定超时值


服务器、数据库或连接字符串级别的任何设置都很好。

锁定超时,即事务在失败之前等待锁定的时间量通常是一个“应用程序级别”设置,在连接打开后由
set Lock\u timeout
命令设置

根据这个JDBC驱动程序,还有一个连接字符串设置
lockTimeout
,这可能是您要查找的,但我还没有在ODBC中尝试过:

等待的毫秒数 在数据库报告锁之前 暂停。默认行为是 无限期地等待。如果指定了, 此值是所有项目的默认值 关于连接的声明。注 setQueryTimeout()语句可以 用于设置的超时 具体声明。值可以是 0,它指定不等待


锁定超时,即事务在失败之前等待锁定的时间量通常是“应用程序级别”设置,在连接打开后由
set Lock\u timeout
命令设置

根据这个JDBC驱动程序,还有一个连接字符串设置
lockTimeout
,这可能是您要查找的,但我还没有在ODBC中尝试过:

等待的毫秒数 在数据库报告锁之前 暂停。默认行为是 无限期地等待。如果指定了, 此值是所有项目的默认值 关于连接的声明。注 setQueryTimeout()语句可以 用于设置的超时 具体声明。值可以是 0,它指定不等待


您不能在连接字符串中设置锁定超时,AFAIK。仅限设置锁定超时

但设置“”肯定会在每个连接中获得几乎相同的结果


还有由设置的服务器级别选项,但我没有使用它。

您不能在连接字符串中设置锁定超时,AFAIK。仅限设置锁定超时

但设置“”肯定会在每个连接中获得几乎相同的结果


还有由设置的服务器级别选项,但我没有使用它。

这是一个偶然的机会,但您确定要更改(降低?)锁定超时,而不是(比如)在数据库中启用读取提交的快照吗?这是一个相当大的更改-我只是想抓住批处理中罕见的死锁这是偶然的机会,但是您确定要更改(降低?)锁定超时,而不是(比如)在数据库中启用读取提交的快照吗?这是一个相当大的更改-我只是想抓住批处理中罕见的死锁。我有一个BI数据库,其中有许多“应用程序”连接到数据库。在客户机上设置它是可行的,但真的很难看。我听到了。我们对安全性也有类似的要求,要求在建立连接后直接运行一些代码。我们构建了一个应用程序使用的自定义SQL数据库提供程序,但是如果MS允许在用户的会话上下文中运行一些全局触发器,那么就更容易了!在Microsoft SQL Server 2014中的这一次,SET LOCK_TIMEOUT的行为显然是SET的典型行为,但不是文档中所说的,因为您可以在触发器、存储过程或“动态SQL”中更改设置,但该设置仅在特定代码执行时持续。因此,SQL中的文本触发器无法做到这一点。此外,不能从变量设置此值。(?)这就是我尝试的,在我尝试“动态SQL”之前,点击二;-)我有一个BI数据库,有很多“应用程序”连接到数据库。在客户机上设置它是可行的,但真的很难看。我听到了。我们对安全性也有类似的要求,要求在建立连接后直接运行一些代码。我们构建了一个应用程序使用的自定义SQL数据库提供程序,但是如果MS允许在用户的会话上下文中运行一些全局触发器,那么就更容易了!在Microsoft SQL Server 2014中的这一次,SET LOCK_TIMEOUT的行为显然是SET的典型行为,但不是文档中所说的,因为您可以在触发器、存储过程或“动态SQL”中更改设置,但该设置仅在特定代码执行时持续。因此,SQL中的文本触发器无法做到这一点。此外,不能从变量设置此值。(?)这就是我尝试的,在我尝试“动态SQL”之前,点击二;-)