SQL Server数据库技术(69)
2007-11-11 08:02:49 来源:WEB开发网核心提示:11.5.1 锁的概念锁(Lock) 是在多用户环境下对资源访问的一种限制,机制当对一个数据源加锁后,SQL Server数据库技术(69),此数据源就有了一定的访问限制,我们就称对此数据源进行了“锁定”,除了使用本章讲述的语句更新数据外,还可以使用视图来更新数据,在sql server(WINDOWS平台上强大的数据
11.5.1 锁的概念
在sql server(WINDOWS平台上强大的数据库平台) 中,锁有两种分类方法。 (1) 从数据库系统的角度来看 锁分为以下三种类型:
锁分为以下两种类型:
11.5.3 隔离级别
SET TRANSACTION ISOLATION LEVEL {READ COMMITTED | READ UNCOMMITTED | REPEATABLE READ | SERIALIZABLE } 11.5.4 查看锁 可以通过企业管理器或存储过程来查看锁。 (1) 用Enterprise Manager 查看锁 在企业管理器中选择目录树窗口中“Management” 文件夹下,“Current Activity” 中的“Locks / Process ID” 节点,则可以查看当前锁定的进程;选择同级的“Locks / Object”节点下的相应字节点,则可以查看当前锁定的对象,如图11-1 所示。在图11-1 中,右键单击任务板窗口中的对象,从快捷菜单中选择“属性”选项,则会出现如图11-2 所示的锁的进程细节对话框。在此,可以刷新或杀死锁的进程。 杀死进程还可以用如下Transact-SQL 命令来进行: KILL spid spid 是System Process ID, 即系统进程编号的缩写,如图11-1 中所示。 图11-2 锁定的进程细节 (2) 用系统存储过程Sp_lock 查看锁 存储过程Sp_lock 的语法如下: sp_lock spid sql server(WINDOWS平台上强大的数据库平台) 的进程编号spid 可以在master.dbo.sysprocesses 系统表中查到。spid 是INT类型的数据,如果不指定spid ,则显示所有的锁。 (WINDOWS平台上强大的数据库平台)数据库技术(69)(图三)" /> 11.5.5 死锁及其防止 死锁(Deadlocking) 是在多用户或多进程状况下,为使用同一资源而产生的无法解决的争用状态,通俗地讲,就是两个用户各占用一个资源,两人都想使用对方的资源,但同时又不愿放弃自己的资源,就一直等待对方放弃资源,如果不进行外部干涉,就将一直耗下去。 死锁会造成资源的大量浪费,甚至会使系统崩溃。在sql server(WINDOWS平台上强大的数据库平台) 中解决死锁的原则是“牺牲一个比两个都死强”,即挑出一个进程作为牺牲者,将其事务回滚,并向执行此进程的程序发送编号为1205 的错误信息。而防止死锁的途径就是不能让满足死锁条件的情况发生,为此,用户需要遵循以下原则:
本章中介绍了数据更新的方法及事务和锁的概念。除了使用本章讲述的语句更新数据外,还可以使用视图来更新数据,有关视图的运用请参见第13 章“游标和视图”。 |
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接