Microsoft.practices.enterpriselibrary의 기본 격리 레벨을 설정하십시오
-
19-09-2019 - |
문제
Microsoft.practices.enterpriselibrary를 사용하여 수천 개의 다른 저장 Procs를 호출하는 .NET 3.5 웹 사이트가 있습니다.
우리는 많은 타임 아웃을 얻었으며, 테이블 끝에서 (nolock)의 사용을 재생하고 테스트 한 후 저장된 Procs의 조인이 잘 작동하고 시간 초과를 줄입니다.
이제 모든 SP 에이 작업을하고 싶습니다. 모든 테이블 이름에 (Nolock)을 추가 할 수 있지만 더 나은 아이디어는 SQL에서 격리 레벨을 설정하는 것입니다.
나는 이것을 모든 SP의 시작에 추가하고 싶지 않기 때문에 (너무 많기 때문에) 연결에 추가 할 수있는 방법을 찾고있었습니다.
SP를 호출하는 코드의 예는 다음과 같습니다.
public static int ExecuteNonQuery(string sStoredProcedureName, params object[] parameterValues)
{
Data.Database db = Data.DatabaseFactory.CreateDatabase();
using (DbCommand command = db.GetStoredProcCommand(sStoredProcedureName, parameterValues))
{
return db.ExecuteNonQuery(command);
}
}
이 설정은 web.config에서 구성 설정이라고 생각하지만 그것이 무엇인지 또는 제가 올바른 트랙에 있는지 알아낼 수 없습니다.
모든 도움은 정말 감사합니다.
건배 amjid
해결책
SQL Server를 사용하고 있다고 가정합니까?
설정해보십시오 Commited Snapshot을 읽으십시오 데이터베이스에서.
자세한 내용은 여기를 참조하십시오.
제휴하지 않습니다 StackOverflow