2009-11-04 3 views
2

SMO.Prior를 사용하여 .NET에서 데이터베이스 복원을 수행해야합니다. 데이터베이스를 RESTRICTED_USER WITH ROLLBACK IMMEDIATE 모드로 설정합니다. 테스트/디버깅 중에는 정상적으로 작동합니다. 모든 사용자가 삭제됩니다.SQL Server : 데이터베이스 모드를 RESTRICTED_USER WITH ROLLBACK IMMEDIATE로 설정하면 항상 모든 연결이 끊어지는 것은 아닙니다.

Microsoft.SqlServer.Management.Common.ExecutionFailureException :이 코드는 밤에 자동화 된 프로세스의 일부로 실행되는 때, 가끔 다음과 같은 예외가 예외가 발생했습니다 Transact-SQL 문을 실행하는 동안 또는 일괄. ---> System.Data.SqlClient.SqlException : 데이터베이스가 사용 중이므로 독점적 인 액세스를 얻을 수 없습니다. 데이터베이스 복원이 비정상적으로 종료됩니다.

여기 무슨 일입니까? 감사!

답변

3

할 수 없습니까?

alter database <db_name> set single_user with rollback immediate 

그런 다음 백업 후 다른 TSQL 단계를 추가

alter database <db_name> set multi_user 

을 다른 방법으로, 밤에 실행되고있는 것을이 같은 일이있을 수 있습니다 찾아, 어떻게 든

EXEC sp_who2 
의 결과를 캡처

그 당시에 누가 당신을 연결했는지 보여줄 것입니다.

관련 문제