上下文:SQL Server 2012,Windows Server 2008 R2(64位),2核,大量RAM和高清空间, ADODB通过JScript(不是.NET)
这些非常简单的存储过程可以防止超时。这不像我有很多记录(从服务器的角度来看):100,000左右。
CREATE PROCEDURE [dbo].[Transfer_Part1]
AS
SET NOCOUNT ON
INSERT INTO Primary.dbo.Post
SELECT *
FROM Secondary.dbo.Pre
WHERE HrefProcessed = (-1)
AND ReferrerProcessed = (-1);
CREATE PROCEDURE [dbo].[Transfer_Part3]
AS
SET NOCOUNT ON
DELETE
FROM Secondary.dbo.Pre
WHERE HrefProcessed = (-1)
AND ReferrerProcessed = (-1);
我有什么办法可以停止收到这些消息吗?
[Microsoft][ODBC SQL Server Driver]Query timeout expired
EXEC Transfer_Part1
[Microsoft][ODBC SQL Server Driver]Query timeout expired
EXEC Transfer_Part3
答案 0 :(得分:1)
HrefProcessed和ReferrerProcessed上有2列索引吗?
另请参阅Bulk DELETE on SQL Server 2008 (Is there anything like Bulk Copy (bcp) for delete data?)了解第二个。