29 May 2015

Metti offline/online un database

Prima di mettere un DB offline, è necessario KILLare tutti gli utenti collegati:
USE master
GO

PRINT N'

**** KILL
'

DECLARE @kill varchar(8000) ; SET @kill = ''

SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(5), spid) + ';'
FROM master..sysprocesses
WHERE dbid IN 
  (
     db_id('dabase_name')
  )

IF @kill = ''
 PRINT 'No connection found.'
ELSE
 EXEC (@kill)


-------------------------------------------------------------------------------

PRINT N'
**** TRY TO OFFLINE DATABASE
'

ALTER DATABASE dabase_name SET OFFLINE
GO
PRINT 'Done.'

Mettere online un database:
use master
GO

ALTER DATABASE dabase_name SET ONLINE
GO


Testato su SQL 2008 R2.