Notice (8): file_put_contents(): Write of 272 bytes failed with errno=28 No space left on device [CORE/src/Log/Engine/FileLog.php, line 140]

Notice: file_put_contents() [function.file-put-contents]: Write of 1108 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 5437 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 3152 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): unserialize() [<a href='https://secure.php.net/function.unserialize'>function.unserialize</a>]: Error at offset 4079 of 4085 bytes [APP/Controller/NewsController.php, line 5571]

Notice: file_put_contents() [function.file-put-contents]: Write of 2758 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 822 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 3151 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Undefined array key "nsort" [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2074 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2098 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Undefined array key "nsort" [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2074 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2098 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
详解SQL死锁检测的方法 - 站长搜索
首页 > 资讯列表 > 编程/数据库 >>

详解SQL死锁检测的方法

Warning (2): Undefined array key "nsort" [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]
Notice: file_put_contents() [function.file-put-contents]: Write of 2422 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]

Notice: file_put_contents() [function.file-put-contents]: Write of 2446 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
">
Warning (2): Undefined array key "nsort" [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]

Notice: file_put_contents() [function.file-put-contents]: Write of 2422 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]

Notice: file_put_contents() [function.file-put-contents]: Write of 2446 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
2022-09-23 17:46:45 转载来源: 网络整理/侵权必删

sqlserver中的死锁是指进程之间互相永久阻塞的状态,下文就将为您介绍如何检测sqlserver死锁,希望对您有所帮助。死锁(deadlock)指进程之间互相永久阻塞的状态,SQL可以检测到死锁,并选择终止其中一个事务以干预sqlserver死锁状态

sql server中的死锁是指进程之间互相永久阻塞的状态,下文就将为您介绍如何检测sql server死锁,希望对您有所帮助。

死锁(deadlock)指进程之间互相永久阻塞的状态,SQL可以检测到死锁,并选择终止其中一个事务以干预sql server死锁状态。

第一步:首先创建两个测试表,表goods_sort和goods

表goods_sort:创建并写入测试数据

IF EXISTS(SELECT name FROM sysobjects WHERE name='goods_sort' AND xtype='U')DROP TABLE dbo.goods_sort--创建商品分类表CREATE TABLE dbo.goods_sort(iSortID int NOT NULLCONSTRAINT PK_iSortID PRIMARY KEYIDENTITY(1001,1),sSortName NVARCHAR(20) NOT NULL)GOINSERT INTO dbo.goods_sort VALUES('服饰')INSERT INTO dbo.goods_sort VALUES('女包')INSERT INTO dbo.goods_sort VALUES('鞋子')INSERT INTO dbo.goods_sort VALUES('首饰')INSERT INTO dbo.goods_sort VALUES('美容')GO

表goods:创建并写入测试数据

IF EXISTS(SELECT name FROM sysobjects WHERE name='goods' AND xtype='U')DROP TABLE dbo.goods;--创建商品表CREATE TABLE dbo.goods(iID int NOT NULLCONSTRAINT PK_iID PRIMARY KEYIDENTITY(1,1),iGoodsID varchar(20) NOT NULL,sGoodsName nvarchar(100) NOT NULL,iGoodTotal int NOT NULLCONSTRAINT DF_iGoodTotal DEFAULT(0),iPrice int NOT NULLCONSTRAINT DF_iPrice DEFAULT(0),iPriceTotal int NOT NULL,iSortID int NOT NULL,tAddDate smalldatetime NOT NULLCONSTRAINT DF_tAddDate DEFAULT getdate())GOINSERT INTO dbo.goods(iGoodsID,sGoodsName,iGoodTotal,iPrice,iPriceTotal,iSortID)VALUES('YR6001','瘦身羽绒服',20,200,4000,1001)INSERT INTO dbo.goods(iGoodsID,sGoodsName,iGoodTotal,iPrice,iPriceTotal,iSortID)VALUES('YR6002','加厚羽绒服',20,300,6000,1001)INSERT INTO dbo.goods(iGoodsID,sGoodsName,iGoodTotal,iPrice,iPriceTotal,iSortID)VALUES('BB7001','小黄牛皮马鞍包',30,100,3000,1002)INSERT INTO dbo.goods(iGoodsID,sGoodsName,iGoodTotal,iPrice,iPriceTotal,iSortID)VALUES('BB7002','十字绣流苏包',50,150,7500,1002)GO

第二步:创建两个会产生死锁的事务

事务1:

SET NOCOUNT ON;SET XACT_ABORT ON;GO--使用TRY-CATCH,使代码发生错误也继续运行BEGIN TRYBEGIN TRANUPDATE dbo.goods_sort SET sSortName='女鞋' WHERE iSortID=1003;WAITFOR DELAY '00:00:05';UPDATE dbo.goods SET sGoodsName='胖子羽绒服' WHERE iID=2;COMMIT TRANEND TRYBEGIN CATCHIF (XACT_STATE()=-1)ROLLBACK TRAN;--ERROR_NUMBER()值为1205则表示发生了死锁IF (ERROR_NUMBER() = 1205)PRINT '事务1发生了死锁'--写SQL Server日志或者返回错误给应用程序END CATCHSELECT iID,sGoodsName FROM dbo.goods WHERE iID=2;SELECT iSortID,sSortName FROM dbo.goods_sort WHERE iSortID=1003;GO 

事务2:

SET NOCOUNT ON;SET XACT_ABORT ON;GO--使用TRY-CATCH,使代码发生错误也继续运行BEGIN TRYBEGIN TRANUPDATE dbo.goods SET sGoodsName='瘦子羽绒服' WHERE iID=2;WAITFOR DELAY '00:00:05';UPDATE dbo.goods_sort SET sSortName='男鞋' WHERE iSortID=1003;COMMIT TRANEND TRYBEGIN CATCHIF (XACT_STATE()=-1)ROLLBACK TRAN;--ERROR_NUMBER()值为1205则表示发生了死锁IF (ERROR_NUMBER() = 1205)PRINT '事务2发生了死锁'--写SQL Server日志或者返回错误给应用程序END CATCHSELECT iID,sGoodsName FROM dbo.goods WHERE iID=2;SELECT iSortID,sSortName FROM dbo.goods_sort WHERE iSortID=1003;GO 

然后运行事务1,接着马上运行事务2,这种情况下某一个事务会提示发生了死锁,修改不成功。另外一个事务则完成。

第一点:使用TRY.CATCH让产生异常的事务能继续完成后面的代码。

第二点:使用WAITFOR DELAY产生造成死锁的发生环境。

第三点:使用ERROR_NUMBER()来判断是否发生事务。

第四点:发生死锁,写SQL Server日志或者返回应用程序去写日志。便于检查日志的时候发现存在死锁并做相应的修改。

以上内容给大家介绍了SQL死锁检测的方法,希望大家喜欢。

标签: 详解 SQL 死锁 检测 方法


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2025 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持