2013-09-27 1 views
2

나는 모든 데이터베이스의 SpaceAvailable 속성을 얻기 위해 SQL2008 SMO를 사용하는 응용 프로그램을 가지고 있지만 종종 다른 프로세스에 의해 오랫동안 차단됩니다. READ UNCOMMITTED 격리 문제없이 SSMS에서 생성 한 쿼리를 실행할 수 있다고 언급했습니다.강제로 SQL SMO에 읽기 금지를 사용할 수 있습니까?

SQL SMO가 읽기 커밋되지 않은 격리를 사용하도록 강제하는 방법이 있습니까?

+1

기본 트랜잭션 격리 수준을 설정할 수있는 Server 또는 ServerConnection 개체에 속성이 있어야합니다. 나는 하나도 보지 못한다. –

답변

2

죄송합니다. 나는 누군가가 미래에 도움이 필요할 경우를 대비하여 이것을 게시 할 것이라고 생각했다.

서버 인스턴스를 만들 때 격리 수준을 지정할 수 있습니다.

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

을 그리고 당신은 다른 트랜잭션이 변경해야 할 수 있습니다 연결을

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

를 만들 때 다음 격리 수준을 설정 :

은 다음 참조가 있는지 확인하십시오.

+0

당신은 락! 나는 아직도 이것을 찾고 있었다! – NTDLS

0

예 SET TRANSACTION ISOLATION LEVEL을 쿼리 맨 위에 표시하지 않을 수 있습니다. 또한 격리 수준을 필요에 맞게 변경할 수 있습니다. msdn.microsoft.com에서 격리 수준을 검색하십시오.

+0

.NET C# SMO 개체를 사용하여 모든 종류의 성능 메트릭을 쿼리하고 ADO를 사용하지 않습니다. – NTDLS

관련 문제