È necessario eseguire un ripristino del database dalla mia applicazione. Prima di fare questo, voglio uccidere tutti i processi come segue:Rilascio di tutte le connessioni al database attive non riuscite per il server durante l'esecuzione di KillAllProcesses
private void KillAllProcessesOnSMARTDatabases(Server targetServer)
{
targetServer.KillAllProcesses(SMART_DB);
targetServer.KillAllProcesses(SMART_HISTORY_DB);
targetServer.KillAllProcesses(SMART_METADATA_DB);
SqlConnection.ClearAllPools();
}
Tuttavia, quando i primi KillAllProcesses viene eseguito, ottengo la seguente eccezione:
Microsoft.SqlServer.Management.Smo.FailedOperationException : Interruzione di tutte le connessioni al database attive non riuscite per il server 'MYServer'. ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: si è verificata un'eccezione durante l'esecuzione di un'istruzione Transact-SQL o di un batch. ---> System.Data.SqlClient.SqlException: solo i processi utente possono essere uccisi.
La stringa di connessione utilizzata per creare il server ha credenziali sa, tuttavia, i processi che devono essere terminati vengono avviati con un altro utente. Ho provato lo scenario simile e il test è riuscito.
Questo evento è iniziato solo di recente. A me sembra che ci siano dei processi in esecuzione che non sono stati avviati dall'utente?
E rilascia il database! Cosa importante sapere ... – Guillaume86