2012-06-11 14 views
10

Sto utilizzando SQL Server 2005 e sto riscontrando un problema durante il ripristino del database. Ricevo questo messaggio quando provo a ripristinare il database.Impossibile ripristinare il database, il database è in uso per la sessione

Restore failed. (Microsoft.SqlServer.Express.Smo)

"System.Data.SqlClient.SqlError: RESTORE cannot process database 'AMOD' because it is in use by this session. It is recommended that the master database be used when performing this operation. (Microsoft.SqlServer.Express.Smo)"

Ho riavviato il programma Non ho aperto nessuna tabella contenuta nel database e continuo a ricevere questo messaggio. Sono nuovo di SQL Server e questa è la mia prima volta a fare un ripristino. Apprezzo qualsiasi aiuto fornito.

risposta

32

È necessario eliminare tutti gli utenti e accertarsi di non trovarsi in quel database. Supponendo che tu sia in Management Studio, devi modificare il contesto in un altro database (o cambiare il menu a discesa del database in un altro database) in questo modo, e questo farà scattare anche altri utenti (che potresti essere tu - Object Explorer, Object Explorer Dettagli, altre finestre di query, ecc potrebbe essere tutti inavvertitamente impedendo il ripristino mantenendo una connessione al database):

USE master; 
GO 
ALTER DATABASE AMOD SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 

una volta che hai finito di ripristino e il database è di nuovo pronto all'uso:

ALTER DATABASE AMOD SET MULTI_USER; 
+3

Stavo configurando questo per un altro utente, e ho anche dovuto andare in Sicurezza → Login → tasto destro del mouse utente → Proprietà e impostare il Def database di ault da padroneggiare, quindi fare in modo che si disconnettano e rientrino. – bmaupin

+0

@bmaupin buttarli fuori temporaneamente dovrebbe aver risolto anche quello. –

+2

Immagino cosa volevo dire stavo configurando un altro utente per poter ripristinare il database, ma ogni volta che accedevano per eseguire il ripristino, il database che volevano ripristinare era impostato come predefinito in modo che si connettessero a esso. Certo, non sono un esperto, ma cambiare il DB predefinito sembra averlo risolto. Ad ogni modo, ottima risposta! – bmaupin

Problemi correlati