Se desidero prendere un MS Sql 2008 offline o online, ho bisogno di usare la GUI -> DB-Compiti - Take online o Take Offline.SQL Script per portare un database Microsoft Sql online o offline?
Questo può essere fatto con qualche script sql?
Se desidero prendere un MS Sql 2008 offline o online, ho bisogno di usare la GUI -> DB-Compiti - Take online o Take Offline.SQL Script per portare un database Microsoft Sql online o offline?
Questo può essere fatto con qualche script sql?
ALTER DATABASE database-name SET OFFLINE
Se si esegue il comando ALTER DATABASE mentre gli utenti o processi sono collegati, ma non desiderano il comando per essere bloccato, è possibile eseguire l'istruzione con l'opzione NO_WAIT. Ciò causa il fallimento del comando con un errore.
ALTER DATABASE database-name SET OFFLINE WITH NO_WAIT
corrispondente in linea:
ALTER DATABASE database-name SET ONLINE
Ecco una nota che solo potrebbe essere molto utile per voi: E 'quasi sempre possibile vedere ciò che l'interfaccia grafica sta facendo TSQLwise dietro le quinte.
-- Take all user databases offline
CREATE PROCEDURE SP_TakeOfflineAllDatabase AS
BEGIN
DECLARE @db sysname, @q varchar(max);
DECLARE cur_db CURSOR FOR
SELECT name FROM sys.databases WHERE owner_sid<>0x01;
OPEN cur_db;
WHILE 1=1
BEGIN
FETCH NEXT FROM cur_db INTO @db;
IF @@FETCH_STATUS <> 0
BREAK;
SET @q = N'ALTER DATABASE [' + @db + N'] SET OFFLINE WITH NO_WAIT';
EXEC(@q);
END;
CLOSE cur_db;
DEALLOCATE cur_db;
END;
riavviare il server prima eseguire la procedura. Chiuderà le connessioni esistenti ai database.
So che questo è un vecchio post ma, nel caso in cui qualcuno si imbatta in questa soluzione e preferirebbe un metodo non cursore che non viene eseguito ma restituisce gli script. Ho appena preso la soluzione precedente e l'ho convertita in una selezione basata su risultati.
DECLARE @SQL VARCHAR(8000)
SELECT @SQL=COALESCE(@SQL,'')+'ALTER DATABASE '+name+ N' SET OFFLINE WITH NO_WAIT;
'
FROM sys.databases
WHERE owner_sid<>0x01
PRINT @SQL
Nod Peter - io uso quel pulsante (per afferrare gli script) tutto il tempo ... un buon esempio di ciò è quando desidero cambiare la struttura/schema della tabella, e ci vogliono più di 30 secondi (default tempo di attesa prima che venga sollevato un errore di timeout ... quindi ho bisogno di prendere lo script di modifica ed eseguirlo manualmente. –