使用SQL Server SMO库时,如何设置执行一组语句的超时?

时间:2011-07-25 16:39:47

标签: sql-server vb.net smo

当我传递一组长时间运行的SQL语句时,我有以下一些代码超时。我正在使用SQL Server 2008中的Microsoft.SqlServer.Management.Smo库。

Using cn As SqlConnection = GetConnection(_destinationCNS, True)

            Dim smoServer As New Microsoft.SqlServer.Management.Smo.Server(New ServerConnection(cn))
            Dim db As Microsoft.SqlServer.Management.Smo.Database = smoServer.Databases(_destinationDBName)

            db.ExecuteNonQuery(_script)

        End Using

我无法确定在哪里声明超时持续时间。我应该为语句执行设置超时持续时间,而不是连接超时。在SQLCommand对象上有一个方便的CommandTimeout属性,但我在这里没有看到类似的东西。

1 个答案:

答案 0 :(得分:2)

您是否尝试在服务器对象上设置ConnectionContext.StatementTimeout?

smoServer.ConnectionContext.StatementTimeout = 6000;

那将是100分钟。