2007-02-05

SQL Server常用到的几个设置选项

来源: 本站收集整理 作者:佚名 评论 0 条
  1. SET DEADLOCK_PRIORITY
  2. SET LOCK_TIMEOUT
  3.@@LOCK_TIMEOUT
  4.SET IDENTITY_INSERT
  5.SET IMPLICIT_TRANSACTIONS
  6.SET NOCOUNT
  7.@@ROWCOUNT
  8.SET ROWCOUNT
  9.SET TRANSACTION ISOLATION LEVEL
  10.SET XACT_ABORT
  1. SET DEADLOCK_PRIORITY

  说明:控制在发生死锁情况时会话的反应方式。假如两个进程都锁定数据,并且直到其它进程释放自己的锁时,每个进程才能释放自己的锁,即发生死锁情况。

  语法:SET DEADLOCK_PRIORITY { LOW | NORMAL | @deadlock_var }

  参数:LOW 指定当前会话为首选死锁牺牲品。Microsoft® SQL Server™ 自动回滚死锁牺牲品的事务,并给客户端应用程序返回 1205 号死锁错误信息。
  NORMAL 指定会话返回到默认的死锁处理方法。
  @deadlock_var 是指定死锁处理方法的字符变量。假如指定 LOW,则 @deadlock_var 为 3;假如指定 NORMAL,则 @deadlock_var 为 6。

  注释:SET DEADLOCK_PRIORITY 的设置是在执行或运行时设置,而不是在分析时设置。

  权限:SET DEADLOCK_PRIORITY 权限默认授予所有用户。

  2. SET LOCK_TIMEOUT

  说明:指定语句等待锁释放的毫秒数。

  语法:SET LOCK_TIMEOUT timeout_period

  参数:timeout_period 是在 Microsoft® SQL Server™ 返回锁定错误前经过的毫秒数。值为 -1(默认值)时表示没有超时期限(即无限期等待)。
  当锁等待超过超时值时,将返回错误。值为 0 时表示根本不等待,并且一碰到锁就返回信息。

  注释:在连接开始时,该设置的值为 -1。设置更改后,新设置在其余的连接时间里一直有效。
  SET LOCK_TIMEOUT 的设置是在执行或运行时设置,而不是在分析时设置。
  READPAST 锁定提示为该 SET 选项提供了另一种方式。

  权限:SET LOCK_TIMEOUT 权限默认授予所有用户。

  示例:下例将锁超时期限设置为 1,800 毫秒。

  SET LOCK_TIMEOUT 1800
  GO

  3. @@LOCK_TIMEOUT

  说明:返回当前会话的当前锁超时设置,单位为毫秒。

  语法:@@LOCK_TIMEOUT

  返回类型:integer

  注释:SET LOCK_TIMEOUT 答应应用程序设置语句等待阻塞资源的最长时间。当一条语句已等待超过 LOCK_TIMEOUT 所设置的时间,则被锁住的语句将自动取消,并给应用程序返回一条错误信息。
  在一个连接的开始,@@LOCK_TIMEOUT 返回一个 –1值。

  示例:下面的示例显示当一个 LOCK_TIMEOUT 值未被设置时的结果集。

  SELECT @@LOCK_TIMEOUT
  下面是结果集:
  ----------------
  -1

  下面的示例设置 LOCK_TIMEOUT 为 1800 毫秒,然后调用 @@LOCK_TIMEOUT。

  SET LOCK_TIMEOUT 1800
  SELECT @@LOCK_TIMEOUT

  下面是结果集:
  ------------------------------
  1800

  4. SET IDENTITY_INSERT

  说明:答应将显式值插入表的标识列中。

  语法:SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }

  参数:database 是指定的表所驻留的数据库名称。
  owner 是表所有者的名称。
  table 是含有标识列的表名。

  注释:任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。假如某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。
共5页: 上一页 1 [2] [3] [4] [5] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:SQL server 2000存储过程  
下一篇:获取SQL Server元数据的几种方法
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号