SQL Server 2012存储过程超时。怎么解决?

时间:2013-04-24 05:00:31

标签: stored-procedures sql-server-2012 windows-server-2008-x64

上下文: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

1 个答案:

答案 0 :(得分:1)

HrefProcessed和ReferrerProcessed上有2列索引吗?

另请参阅Bulk DELETE on SQL Server 2008 (Is there anything like Bulk Copy (bcp) for delete data?)了解第二个。