首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 2000升级到sql 2005后.asp.net 存储总是间歇性出错解决方法

2013-11-11 
sql 2000升级到sql 2005后.asp.net 存储总是间歇性出错堆栈信息: at System.Data.SqlClient.SqlConnection

sql 2000升级到sql 2005后.asp.net 存储总是间歇性出错
堆栈信息: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Qiying.WebModules.Data.DbObject.RunProcedure(String storedProcName, IDataParameter[] parameters, Int32& rowsAffected) at Qiying.WebModules.Accounts.Data.Meng.SetSql(String strSQL) at Qiying.WebModules.Accounts.Business.ping.SetSql(String strSQL) at Qiying.Job.Web.job.AjaxGetInfo.SetquickApply(String jobIDstr, String qiuzhixin, Boolean kuaisu, Int32 jianliid, Boolean okok, Int32 oki) at Qiying.Job.Web.job.AjaxGetInfo.GetquickApply2() at Qiying.Job.Web.job.AjaxGetInfo.Page_Load(Object sender, EventArgs e) at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

sql 2000升级到sql 2005后.asp.net程序存储总是间歇性出错。
服务器一直有人访问,也一直有人存储数据,前天11月2日升级后,基本保存数据就会有50%的出错几率。
连接代码如下所示。
server=SVCTAG-J7X;database=data;user id=sa;password=12345;sql 2000升级到sql 2005后.asp.net 存储总是间歇性出错解决方法


如果加大了connect timeout = 60; 能好一些,但是还是会经常出现。

服务器不是因为访问人太多造成了,今天早上cup都没有高过30%. 



sql 2000升级到sql 2005后.asp.net 存储总是间歇性出错解决方法


问题还在出现,我今天再给服务器加硬件加硬盘和加内存,
今天没空测试了,明天给你测试报告看看到底怎么回事。

呵呵,好
能不能查到具体是那个语句造成了死锁啊,因为我的
sp_Pagination_count1 是这样的

ALTER PROCEDURE [dbo].[sp_Pagination_count1](
 @strFrom varchar(1000) ,
 @strWhere varchar(3000) 
) as
DECLARE @sql varchar(8000) 
set @sql=' Select count(*) From '+@strFrom+' where '+@strWhere
EXEC
(@sql)

是分页前的一个查询。

从你这个情况看,应该是写和读的阻塞,建议你这么设置吧,这样可以减少读和写的阻塞,

但最好把tempdb数据库设置大点比如10G,因为开启这个设置后,会用tempdb的空间:

alter database 数据库名称
set read_committed_snapshot on


ALTER PROCEDURE [dbo].[sp_Pagination_count1](
 @strFrom varchar(1000) ,
 @strWhere varchar(3000) 
) as
DECLARE @sql varchar(8000) 
set @sql=' Select count(*) From '+@strFrom+' with(updlock) where '+@strWhere
EXEC
(@sql)

我这个后面加上with(updlock)会不会好一些啊

改成with(nolock) 可以吗

热点排行