1、对个别用户某天进行计算时提示数据库计算超时(30秒),检查发现当时服务器内存耗尽(从1.6G飙升到3.8G/共4G内存);
2、其它用户,或者该用户其它日期计算正常(2秒内,服务器内存没多大变化);
3、将库(MSSQL2008R2)拷贝到测试机测试(直接8G内存LOCALDB2014打开/直接附加到2G内存MSSQL2016)没有超时情况,一切正常;
生产机上没有调试环境,测试机上又重现不出问题。请问该怎么去分析问题?MSSQL2008R2有没有分析查找这个超时问题的功能?
--update
UPDATE W
SET W.price2 = CASE
WHEN W.is_ew = 0 THEN E.price
ELSE E.price -2.0000
END,
W.price2_time = CASE
WHEN W.price2_time = 0 THEN -1536366010
ELSE W.price2_time
END
FROM [waybill] W
INNER JOIN [area] A
ON W.customer_id = 331
AND W.daybill_id = 591
AND W.destination = A.destination
AND W.real_weight > 0
AND W.real_weight <= 1000
INNER JOIN [price_p] P
ON P.price_id = 317
AND A.province_id = P.province_id
INNER JOIN [price_w] E
ON E.price_id = 317
AND E.[catalog] = P.[catalog]
AND E.[weight] = 1000
AND E.price > 0
--query
SELECT W.price2,
CASE
WHEN W.is_ew = 0 THEN E.price
ELSE E.price -2.0000
END,
W.price2_time,
CASE
WHEN W.price2_time = 0 THEN -1536366010
ELSE W.price2_time
END
FROM [waybill] W
INNER JOIN [area] A
ON W.customer_id = 331
AND W.daybill_id = 591
AND W.destination = A.destination
AND W.real_weight > 0
AND W.real_weight <= 1000
INNER JOIN [price_p] P
ON P.price_id = 317
AND A.province_id = P.province_id
INNER JOIN [price_w] E
ON E.price_id = 317
AND E.[catalog] = P.[catalog]
AND E.[weight] = 1000
AND E.price > 0
BEGIN TRAN
BEGIN TRY
--表变量的主键,字段类型你按实际的来修改
DECLARE @t TABLE (
w主键 INT PRIMARY KEY,
price2 DECIMAL(18,4),
price2_time BIGINT
)
INSERT INTO @t(w主键,price2,price2_time)
SELECT W.主键, --自己改
CASE
WHEN W.is_ew = 0 THEN E.price
ELSE E.price -2.0000
END AS price2,
CASE
WHEN W.price2_time = 0 THEN -1536366010
ELSE W.price2_time
END AS price2_time
FROM [waybill] W WITH (XLOCK,ROWLOCK)
INNER JOIN [area] A WITH (UPDLOCK,ROWLOCK)
ON W.customer_id = 331
AND W.daybill_id = 591
AND W.destination = A.destination
AND W.real_weight > 0
AND W.real_weight <= 1000
INNER JOIN [price_p] P WITH (UPDLOCK,ROWLOCK)
ON P.price_id = 317
AND A.province_id = P.province_id
INNER JOIN [price_w] E WITH (UPDLOCK,ROWLOCK)
ON E.price_id = 317
AND E.[catalog] = P.[catalog]
AND E.[weight] = 1000
AND E.price > 0
UPDATE W
SET price2 = t.price2,price2_time = t.price2_time
FROM [waybill] W INNER JOIN @t t ON w.主键=t.w主键
COMMIT TRAN;
END TRY
BEGIN CATCH
DECLARE @errMsg NVARCHAR(MAX)
SET @errMsg=ERROR_MESSAGE()
RAISERROR(16,1,@errMsg)
ROLLBACK TRAN;
END CATCH
SELECT *
FROM sys.tables AS A WITH(NOLOCK) INNER JOIN
sys.columns AS B WITH(NOLOCK) ON a.object_id=b.object_id
164.导出excel 0kb 内存不够或者磁盘空间不足 163.Unresolvable Operation:mobile in class ReportDispatcher 排除jar包和插件影响的话,可能是LIC里面没有决策平台功能点 162.客户嵌入我们的url时出现报错...
164.导出excel 0kb 内存不够或者磁盘空间不足 163.Unresolvable Operation:mobile in class ReportDispatcher 排除jar包和插件影响的话,可能是LIC里面没有决策平台功能点 162.客户嵌入我们的url时出现报错...
一个奇怪的问题 有个任务报错如下 Invalid OperationHandle: OperationHandle [opType=EXECUTE_STATEMENT, getHandleIdentifier()=373ae075-499f-4ccf-a75b-43152be71c67] 查看hiveserver2的日志 2020-04-28 06...
最近有个多线程程序,连接...首先,不会有多个线程使用到同一个TADOConnection的状况;表的索引也建立了,单个查询不会超过1秒。继续,发现错误出现在开启程序30秒左右时,于是试着调整TADOCOnnection/TADOCOmmand/TAD
使用的是SQL2000数据库,编写了一个C#的应用程序,其中一个功能就是清空指定表的全部数据,一个奇怪的现象直到今天才被发现,那就是当这个表的数据的容量非常大的时候,我遇到的情况是该表内包含5800条数据,但是...
执行SQL时,需要关注其执行时花费的时间,避免SQL执行过长的时间,占用数据库的资源...假如查询操作频率不高,偶尔才会执行一次,那么最多只会占用一个数据库链接,并且在执行成功之后,程序打开的数据库链接对象即会被
执行SQL时,需要关注其执行时花费的时间,避免SQL执行过长的时间,占用数据库的...假如查询操作频率不高,偶尔才会执行一次,那么最多只会占用一个数据库链接,并且在执行成功之后,程序打开的数据库链接对象即会被释放
重一个奇怪的问题: 今天网站突然出现个特别奇怪的问题,访问不了了,然后提示:SQLSTATE[HY000] [2002] Connection timed out,以前访问好好的,怎么突然这样了,在网上找了很多方法,原来是一个ip地址写错了。 你...
写了一段程序,使用.net framework里的事务,设置了超时时间为30分钟,但是奇怪的是在10分钟的时候就报错了。搜索了一下,原来还需要修改machine.config(默认应该在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\...
一个假期回来,oracle也生疏多了,打开PL/SQL Deleveloper,登录,却发现这个软件已经过了试用期,于是下载一个。安装完毕后,登录,scott/tiger,这时出了问题:ORA-12170 TNS 连接超时。 解决办法: 我的...
当一组数据被某个用户锁定时,除非第一个用户结束修改并释放锁,否则其他用户就无法修改该组数据。 有些数据库,包括SQL Server,用锁来避免用户检索未递交的修改记录。在这些系统中,如果用户A在修改一组记录,则...
近期一个用户画像的项目,数据量庞大,用MySQL进行存取不太现实,所以采用Hbase集群的方案来实施。由于业务层使用的是PHP,所以研发同学首先想到的是PHP-Thrift来访问Hbase,编码实验了几天,效果不是太理想,尤其是...
当一组数据被某个用户锁定时,除非第一个用户结束修改并释放锁,否则其他用户就无法修改该组数据。有些数据库,包括SQL Server,用锁来避免用户检索未递交的修改记录。在这些系统中,如果用户A在修改一组记录,则...
前言: 今天发现服务器出现一个莫名奇妙的问题, 在执行SQL语句 delete from product_image WHERE ( product_id = ? ) 时报错 : ...
环境: XP delphi7 oracle9i,在Delphi中用ADO连接...但是在Win7下却提示ORA-01017错误,真是奇怪。 测试过程中同时发现: 1.如果是用ADO连接MSSQL,则不存在问题 2.看了一下sqlnet.log,发现错误的情况是ado试
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx 怎样将后台生成的在内存中的图象显示到客户端 Microsoft IE WebControls下载地址 如何在DATAGRID中使用JAVASCRIPT脚本控制 DataGrid中连接到...
项目环境:hibernate3.6.1 mysql5.7.3 驱动:mysql-connector-java-...问题描述:项目是从一个sqlserver 数据库翻转到mysql数据库上的。框架都不变, 代码部分: 平台输出: Hibernate: select l.id, userId,
最近写了一个数据库采集程序,大概过程是将SQLSERVER数据库的数据定时采集到Oracle数据库。1小时出一次数据,每次数据量在2W左右。环境采用Sping3+hibernate4,数据库连接池采用C3p0 奇怪的时候每隔一段时间都会报:...
NOLOCK的使用 NOLOCK可以忽略锁,直接从数据库读取数据。这意味着可以避开锁,从而提高性能和扩展性。但同时也意味着代码出错的可能性存在。你可能会读取到运行事务正在处理的无须验证的未递交数据。...
简单的MySQL连接池 <Resource type="javax.sql.DataSource" name="jdbc/TestDB" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" driverClassName="com.mysql.jdbc.Driver
今天一个同事突然告诉我,以前跑得很正常的一个SQL语句,执行时突然报如下错误: 消息1222,级别16,状态18,第1 行 已超过了锁请求超时时段。 消息8630,级别16,状态1,第1 行 内部查询处理器错误: 查询处理器在...
ODBC API开发教程 作者:闻怡洋未得到作者允许请勿转载http://wyy.vchelp.net/ 目录第 1 章 介绍... 2第 2 章 ODBC API访问数据库... 22.1 ODBC简要介绍... 22.1.1 在没有ODBC以前...
SQL Server 优化存储过程 性能调优
我们知 道,Session对于每一个客户端(或者说浏览器实例)是“人手一份”,用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户...
最近项目中有用到JDBC技术,存在大量数据要进行插入,通过研究采用批量插入速度快的不是一点点。下面简单比较了一下普通插入与批量插入50000条数据的时间效率。常规插入:耗时12952mspublic static void ...
ORA-12520错误解决方法 ORA-12520听程序无法为请求的服务器类型找到可用的处理程序: 1)数据库是专用服务器,但是在tnsname.ora配置中设置了连接方式为shared,这种情况下打开tnsname.ora, 把(server = shared) ...
昨天遇到一个案例,一个同事在通过其中一台数据库客户端(暂且名为B机器)连接访问 服务器上的DB ,所有对象(表,视图,存储过程)都打不开,提示连接池已满,超过最大连接数. 这个错误比较奇怪,难道同时有32767个并发连接,...
异常详细信息: System....环境:win2003 企业版 sp2,sql2000 企业版 sp4,iis6,.netframework(2003系统自带)机器:1号机器Dell 1800 Cpu TM 2.8G 内存2.5G SATA硬盘2号机器Dell 2800 Cpu TM 2.8G
今天一个网友发求助信息,说某社会治安综合治理系统的连接的某个oracle用户频繁被锁,使用 alter user XX account unlock 解锁后一会还是又被锁定,使用PLSQL登录时提示ORA-28000 让他执行了一下这条SQL select * ...