CODE:N0840349984
Error:20_258_0_-2146232060
SQL:UPDATE TOP (200)
QE
SET QE.LockGuid = '53e246fcc292447a8c046dc1b5c2278d',
QE.QueueState = 1,
QE.ExecTime = GETDATE()
FROM RB_Ebay_Listing_Queue_V2 QE
INNER JOIN RB_Ebay_Listing_Basic_V2 B WITH (NOLOCK)
ON B.CustomerID = QE.CustomerID
AND B.ListingBasicID = QE.ListingBasicID
AND B.OrderSourceID = QE.OrderSourceID
AND B.SiteCode = QE.SiteCode
WHERE QE.QueueState = 0
AND QE.QueueType = 6
PARAMS:
MESSAGE:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: TCP Provider, error: 0 - 等待的操作过时。)
TRACE: 在 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
在 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
在 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
在 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
在 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
在 System.Data.SqlClient.SqlConnection.Open()
在 RB.DAL.DBOperator.prepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, String cmdText, SqlParameter[] cmdParms)
在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)
在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms)
在 RB.DALExtend.RB_Ebay_Listing_Queue_V2Extend.UpdateDispatchTimeMaxLockGuid(String LockGuid)
在 Biz.Ebay.Listing.EbayUpdateProduct.UpdateDispatchTimeMaxQueueMain()
在 ChinaDownLoadImage.Task.Task_Ebay_Listing_V2_UpdateDispatchTimeMax.Execute()
在 RB.Utility.SystemTask.<doTask>b__43_0()
在 System.Threading.Tasks.Task.Execute()
在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
在 System.Threading.ThreadPoolWorkQueue.Dispatch()
建议优化:
drop table if exists #tabRes;
select top 200 qe.QueueID,qe.CustomerID into #tabRes
FROM RB_Ebay_Listing_Queue_V2 QE (nolock)
INNER JOIN RB_Ebay_Listing_Basic_V2 B WITH (NOLOCK)
ON B.CustomerID = QE.CustomerID
AND B.ListingBasicID = QE.ListingBasicID
AND B.OrderSourceID = QE.OrderSourceID
AND B.SiteCode = QE.SiteCode
WHERE QE.QueueState = 0
AND QE.QueueType = 6 ;
create index idx_queueid on #tabRes(QueueID,CustomerID);
UPDATE QE
SET QE.LockGuid = '53e246fcc292447a8c046dc1b5c2278d',
QE.QueueState = 1,
QE.ExecTime = GETDATE()
FROM RB_Ebay_Listing_Queue_V2 QE inner join #tabRes t
on qe.QueueID=t.QueueID and qe.CustomerID=t.CustomerID;
drop table if exists #tabRes;
