我可以强制SQL SMO使用READ UNCOMMITTED隔离吗?

时间:2013-09-27 02:24:33

标签: c# sql-server smo

我有一个使用SQL2008 SMO的应用程序来获取所有数据库的SpaceAvailable属性,但它经常被其他进程长时间阻止。我已经注意到我可以运行它在SSMS中生成的查询,而不会出现READ UNCOMMITTED隔离问题。

那么,是否存在强制SQL SMO使用read uncommitted isolation?

的方法

2 个答案:

答案 0 :(得分:2)

很抱歉迟到的回复。我想发布这个以防将来需要帮助的人。

您可以在创建Server实例时设置指定隔离级别。

确保您拥有以下参考资料:

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.ConnectionInfo; 

然后在创建连接时设置隔离级别

Server theSQLServer = new Server(@"cb-z420vmsasq1\sql12");
        theSQLServer.ConnectionContext.SqlConnectionObject.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);

您可能需要针对不同的交易进行更改。

答案 1 :(得分:0)

是 您可以使用 SET TRANSACTION ISOLATION LEVEL在您的查询顶部读取不正确的内容。 您也可以根据需要更改隔离级别。 在msdn.microsoft.com上搜索隔离级别。