首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

执行SELECT语句时出现Audit Logoin和Audit Logout是何原因,该如何解决

2012-03-01 
执行SELECT语句时出现Audit Logoin和Audit Logout是何原因请各位赐教!!郁闷了好几天[汗]环境:D6+SQLServer

执行SELECT语句时出现Audit Logoin和Audit Logout是何原因
请各位赐教!!郁闷了好几天[汗]
环境:D6+SQL   Server2000+TADOQuery
数据表说明:Field1和Field2是主健,在Field1是聚集索引字段
在执行
with   qryTest   do
begin
Sql.Text:= 'Select   Field1,   Field2,   Sum(Field3)   from   test   where   field1= ' 'AA ' '   AND   Field2= ' 'xx ' '   group   by   field1,   field2   ';
open;
end;时,在事件探查里发现在执行完
exec   sp_prepexec   @P1   output,   NULL,   N 'Select   Field1,   Field2,   Sum(Field3)   from   test   where   field1= ' 'AA ' '   AND   Field2= ' 'xx ' '   group   by   field1,   field2  
后还有
4、Audit   Login--   ?为什么?客户请求一个与运行   SQL   Server的服务器的连接
5、SET   NO_BROWSETABLE   ON     --?怎么会有锁表的操作??
6、declare   @P1   intset   @P1=1exec   sp_prepare   @P1   output,   NULL,   N 'SELECT   *   FROM   test ',   1select   @P1     --??
7、Audit   Logout   --   CPU高达62016   为什么会发生新的断开连接事件
8、Audit   Login           --   ??
9、exec   [TEST]..sp_primary_keys_rowset   N 'test ',   NULL
10、Audit   Logout--   CPU高达62016
=======
当把SQL语句换成
'Select   Field1,   Field2,   Sum(Field3)   from   test(NoLock)   where   field1= ' 'AA ' '   AND   Field2= ' 'xx ' '   group   by   field1,   field2   ';
时,后面的4~10步就不会出现,速度大大的提高,是何原因呀?一个SELECT语句怎么会锁表呢?加上(NoLock)有什么影响吗?怎么又会发生4~10步的事件呢??


[解决办法]
sqlserver帮助
NOLOCK:不要发出共享锁,并且不要提供排它锁。当此选项生效时,可能会读取未提交的事务或一组在读取中间回滚的页面。有可能发生脏读。仅应用于 SELECT 语句。

如果表(包括系统表)中包含计算列,而这些计算列由访问其它表中的列的表达式或函数计算而得,则不在那些表上使用表提示(不传播表提示)。例如,在查询中的表上指定 NOLOCK 表提示。该表包含由访问另一表中的列的表达式和函数组合计算到的计算列。这些由表达式和函数引用的表在被访问时并不使用 NOLOCK 表提示。

热点排行