2010-06-09 17 views
94

In che modo forzare il mio database in modalità offline, indipendentemente da cosa o da chi lo sta già utilizzando?Come forzare l'avvio di un database di SQL Server 2008

ho provato:

ALTER DATABASE database-name SET OFFLINE; 

ma è ancora appeso dopo 7 min.

Lo voglio perché ho bisogno di testare lo scenario.

Se è anche possibile?

risposta

160

Go offline

USE master 
GO 
ALTER DATABASE YourDatabaseName 
SET OFFLINE WITH ROLLBACK IMMEDIATE 
GO 

Go on-line

USE master 
GO 
ALTER DATABASE YourDatabaseName 
SET ONLINE 
GO 
+8

@radbyx: MSDN dice di usare 'master' durante il funzionamento del DB stato – abatishchev

+15

@radbyx: se si utilizza MY_DATABASE, poi ALTER DATABASE MY_DATABASE SET OFFLINE fallirà, * perché * lo stai usando! Sì, mi sono solo fatto male ... – TarkaDaal

+10

Non ha funzionato per me: messaggio 5061, livello 16, stato 1, riga 1 ALTER DATABASE non è riuscito perché non è stato possibile inserire un blocco nel database "MyDatabase". Riprovare più tardi. messaggio 5069, livello 16, stato 1, riga 1 Istruzione ALTER DATABASE non riuscita. – Andez

20

È necessario utilizzare WITH ROLLBACK IMMEDIATE per avviare altre connessioni senza riguardo a cosa o chi lo sta già utilizzando.

Oppure utilizzare WITH NO_WAIT per non bloccarsi e non eliminare le connessioni esistenti. Vedere http://www.blackwasp.co.uk/SQLOffline.aspx per i dettagli

Problemi correlati