请教高手,如何知道sql 2000数据库的触发器是否在运行???急!!! 触发器一定会自动作用啊。除非手工屏蔽掉。 alter table tableName disable trigger triggerName 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。触发器可以查询其它表,并可以包含复杂的 Transact-SQL 语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如,磁盘空间不足),则整个事务即自动回滚。 可以在触发器里写print语句(用完最好删除啊!),用来在查询分析器里查看你的语句是否有执行,然后在查询分析器里写SQL语句来触发触发器,不知道这样能不能得到你想要的结果,你可以试试看 TRIGGER_NESTLEVEL返回对激发触发器的 UPDATE、INSERT 或 DELETE 语句执行的触发器数量。TRIGGER_NESTLEVEL 用于触发器中以确定当前的嵌套级别。语法TRIGGER_NESTLEVEL ( [ object_id ] )参数object_id是触发器的对象 ID。如果指定了 object_id,则返回为该语句执行指定触发器的次数。如果未指定 object_id,则返回为该语句执行全部触发器的次数。 当 object_id 省略时(与空值不同),TRIGGER_NESTLEVEL 返回调用堆栈上的触发器数(包括它本身)。当触发器所执行命令导致其它触发器激发,或导致了触发器的连续激发时,可省略 object_id。 注释如果在触发器之外执行,且 object_id 不是 NULL,则 TRIGGER_NESTLEVEL 返回 0。TRIGGER_NESTLEVEL 以对象 ID 作为其可选参数。当 object_id 显式指定为 NULL 或所引用的对象 ID 无效时,无论 TRIGGER_NESTLEVEL 是在触发器内部还是外部使用,均返回 NULL 值。示例A. 测试某个特定触发器的嵌套级IF ( (SELECT trigger_nestlevel( object_ID('xyz') ) ) > 5 ) RAISERROR('Trigger xyz nested more than 5 levels.',16,-1)B. 测试所执行的全部触发器的嵌套级IF ( (SELECT trigger_nestlevel() ) > 5 ) RAISERROR ('This statement nested over 5 levels of triggers.',16,-1) 要不master库有问题,或者系统表数据有问题! shuiniu(飞扬的梦)兄,你的问题我也很想弄明白,所以来提这个问题啊... 会不会是TRIGGER写得有问题造成的? samuelpan(欧乐),日志该怎么看呢?能说详细些吗?? 可以使用一个第三方的软件Log Explorer 3.0 for Microsoft SQL Server,这是微软的人推荐的Log Explorerhttp://www.ttdown.com/SoftDown.asp?ID=14562http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471解压缩密码 www.heibai.nethttp://www.ttdown.com/softview_8647.htm注册机产生的是注册码,是两个用解压缩密码解开后,压缩包里也有一个注册机的打开log explorer file=>attach log file->选择服务器和登陆方式->connect->选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行T-sql代码就可以了例如 如果log是delete table where ...的话,生成的文件代码就是insert table .... 可以试试raiserror(),不知道有没有用,但是可以试试。 查询分析器中切换用户问题? sql 缓存问题 自动提交事务与SP_LOCK 如何解决:SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 请叫各位大哥一个两个表有相联关系,可我现在想在一个表中删除其中一条记录,请问怎么办才能删除啊,请各大哥能写代码举个例子,多谢 MS SQL SERVER 无法连接.出现以下报错,求解 如何得到某个数据库的物理文件和日志文件的绝对地址 sql 安装问题 菜鸟求助多表统计字段出现数量 求助sql语句 怎么登陆不上去了 数据库设计一个问题怎么解决! 序号问题
可以在触发器里写print语句(用完最好删除啊!),用来在查询分析器里查看你的语句是否有执行,然后在查询分析器里写SQL语句来触发触发器,不知道这样能不能得到你想要的结果,你可以试试看
返回对激发触发器的 UPDATE、INSERT 或 DELETE 语句执行的触发器数量。TRIGGER_NESTLEVEL 用于触发器中以确定当前的嵌套级别。语法
TRIGGER_NESTLEVEL ( [ object_id ] )参数
object_id是触发器的对象 ID。如果指定了 object_id,则返回为该语句执行指定触发器的次数。如果未指定 object_id,则返回为该语句执行全部触发器的次数。 当 object_id 省略时(与空值不同),TRIGGER_NESTLEVEL 返回调用堆栈上的触发器数(包括它本身)。当触发器所执行命令导致其它触发器激发,或导致了触发器的连续激发时,可省略 object_id。 注释
如果在触发器之外执行,且 object_id 不是 NULL,则 TRIGGER_NESTLEVEL 返回 0。TRIGGER_NESTLEVEL 以对象 ID 作为其可选参数。当 object_id 显式指定为 NULL 或所引用的对象 ID 无效时,无论 TRIGGER_NESTLEVEL 是在触发器内部还是外部使用,均返回 NULL 值。示例
A. 测试某个特定触发器的嵌套级
IF ( (SELECT trigger_nestlevel( object_ID('xyz') ) ) > 5 )
RAISERROR('Trigger xyz nested more than 5 levels.',16,-1)B. 测试所执行的全部触发器的嵌套级
IF ( (SELECT trigger_nestlevel() ) > 5 )
RAISERROR
('This statement nested over 5 levels of triggers.',16,-1)
Log Explorerhttp://www.ttdown.com/SoftDown.asp?ID=14562
http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
解压缩密码 www.heibai.nethttp://www.ttdown.com/softview_8647.htm
注册机产生的是注册码,是两个用解压缩密码解开后,压缩包里也有一个注册机的打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
T-sql代码就可以了例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....