`
ainidehsj
  • 浏览: 135997 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

数据库死锁!!!触发器中向链接服务器插入数据,<font color='red'>数据库马上瘫痪!!!</font>

阅读更多
/*
该触发器主要是为了同步生产系统与人事系统中的人员表变动,
*该触发器建立在ms2000上
*CODEBAR 是连接服务器的别名 安装在另外一台服务器,数据库是ms2005
*MPTM 为链接服务器中要操作的数据
*/
CREATE      TRIGGER employee_InsDel
ON employee
FOR INSERT
AS
SET NOCOUNT ON

DECLARE @empNo varchar(50)
IF EXISTS(SELECT * FROM inserted)
BEGIN
SELECT @empNo=bh FROM inserted
INSERT INTO CODEBAR.MPTM.dbo.Employee(employeeNo) VALUES(@empNo)
print '新增用户:'+@empNo
END
/*
--如果删除人员也同步
ELSE
BEGIN
SELECT @empNo=bh FROM deleted
DELETE FROM CODEBAR.MPTM.dbo.Employee WHERE employeeNo=@empNo
END*/

//在查询分析器中向链接服务器插入数据
如:INSERT INTO CODEBAR.MPTM.dbo.Employee(employeeNo) VALUES('3334')
是可以执行成功的,但是到了触发器中(我把这条插入语句放到存储过程中,在触发器中调用也一样死),
该数据库(非连接服务器的数据库)就死了,其他用户无法再连接上该数据库,也无法重启服务。最后只有重启操作系统。
0
0
分享到:
评论

相关推荐

    Oracle第三方工具pl\sql developer绿色中文版

    自己一直以来用PLSQL Developer,但有时候用起来还不是很方便,决定给自己量身订做一个,不仅可以管理数据库,&lt;br/&gt;&lt;br/&gt;而且还是一个学习oracle的好工具主要特点有:&lt;br/&gt;&lt;br/&gt; 1.本软件的框架风格布局美观大方,对象...

    JavaEE C3P0简单案例

    接下来,你需要在代码中注入数据源,并通过它来获取数据库连接。在Spring框架中,你可以使用`@Autowired`注解来完成这一操作: ```java @Autowired private DataSource dataSource; public void someMethod() { ...

    C#编程经验技巧宝典

    103&lt;br&gt;&lt;br&gt;0167 锁定文本框内的文本 103&lt;br&gt;&lt;br&gt;0168 使用Message.Show输出用户信息 104&lt;br&gt;&lt;br&gt;5.3 图片数据处理技巧 104&lt;br&gt;&lt;br&gt;0169 如何将图片存入数据库 104&lt;br&gt;&lt;br&gt;0170 如何将图片从数据库中读取...

    查看数据库死锁信息

    在数据库管理中,死锁是一个常见的问题,尤其是在高并发的环境中。死锁指的是两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力干涉它们将无法继续执行。本篇文章将详细讲解如何查看和...

    spring + c3p0 连接池

    在Java Web开发中,数据库连接管理是至关重要的。Spring框架作为一个强大的应用框架,提供了与多种数据库连接池集成的能力,其中包括C3P0。本示例将深入探讨如何在Spring项目中配置并使用C3P0连接池,以实现高效、...

    sql数据库死锁查询工具

    在SQL数据库管理中,死锁和阻塞是常见的问题,特别是在多用户环境下,它们可能导致系统性能下降甚至数据丢失。理解并有效地处理这些问题至关重要。本文将深入探讨“sql数据库死锁查询工具”及其在解决数据库死锁和...

    c3p0连接池的使用

    C3P0连接池是Java应用中常用的数据库连接池组件,它能有效地管理和优化数据库连接,提高应用程序的性能。在大型分布式系统中,数据库连接的创建和关闭是相对昂贵的操作,而连接池则通过复用已存在的连接来避免频繁...

    sqlcore数据库防注入分析系统

    sqlcore是一套方便的基于java应用系统数据的的检查工具,方便简单,是现代系统的自动化检测的有效工具 sqlcore可以用于如下的使用场景: 1.数据库的注入分析 2.数据库sql的执行效率分析 3.平台的监控和业务逻辑的...

    数据库阻塞/死锁检查处理方法

    当应用服务器发生阻塞时,特别是在集群环境中,应先检查数据库,以判明应用服务器阻塞是否由数据库阻塞引起。可以按照以下步骤进行检查: 1. 查看 `dba_waiters` 表中的记录,如果有输出,转到阻塞情形 A。 2. 如果...

    数据库死锁-解决死锁问题的三种办法

    数据库死锁是多用户共享资源环境下常见的问题,尤其在事务处理密集的应用场景中更为突出。死锁发生时,两个或更多的事务互相等待对方释放资源,从而导致所有事务都无法继续执行,形成僵局。针对这一问题,数据库管理...

    较实用的ORACLE数据库死锁查杀

    ### ORACLE数据库死锁查杀方法详解 #### 一、引言 在Oracle数据库系统中,当两个或多个事务在等待对方释放资源时,就会出现死锁现象。死锁不仅会降低系统的整体性能,还可能导致某些重要事务长时间无法完成,严重...

    分布式数据库死锁检测算法分析

    分布式课堂上分享讲的ppt,简要介绍了死锁检测的基本概念,以及分布式数据库几种常见的死锁检测算法。

    数据库死锁原理实验

    SQLServer数据库死锁介绍,以及使用独立的事务模拟死锁的产生。

    并发访问ORACLE数据库的数据死锁分析和解决措施.pdf

    在实际应用中,高并发访问数据库可能会导致数据死锁问题,本文将对数据死锁分析和解决措施进行详细介绍。 数据死锁的概念 在关系型数据库中,数据死锁是指多个事务在访问同一个资源时,相互等待对方释放资源,...

    数据库连接池在web开发中的应用

    这大大减少了应用程序启动时的延迟以及数据库服务器的压力,因为频繁的连接创建和关闭操作是昂贵的。 在Java Web开发中,常见的数据库连接池工具有Apache的DBCP、C3P0,以及更现代的HikariCP。这些工具提供了一种...

    数据库 死锁的解决

    ### 数据库死锁解决方案详解 #### 一、死锁的本质及常见表现形式 在数据库管理领域,死锁问题一直是困扰开发者的重要难题之一。死锁的根本原因在于资源竞争,特别是当两个或多个进程试图以不同的顺序锁定同一组...

    Orcal 数据库触发器文件

    Oracle数据库触发器是数据库管理系统中的一种重要特性,它允许开发者在特定的数据操作(如INSERT、UPDATE、DELETE)之前或之后执行自定义的SQL代码或PL/SQL块。这些代码可以用来实现业务规则、数据验证、审计跟踪等...

    获取数据库死锁信息过程

    一个经典的获取SQLSERVEr数据库死锁及引起锁定的进程的存储过程。执行时,必须具有数据库超级管理员权限。

    dbcp连接池包

    DBCP(Database Connection Pool)是Apache软件基金会的Commons DBCP项目提供的一个数据库连接池组件,它在Java应用程序中用于管理和复用数据库连接。数据库连接池是提高数据库访问性能的关键技术之一,通过预先创建...

Global site tag (gtag.js) - Google Analytics