Monday 30 May 2011

Detach all databases

---Detach all databases
set nocount on
declare @dbname sysname,@string varchar(400)
declare dbcr cursor
 for  select [name] from sys.sysdatabases where [name] <> 'msdb' and [name] <> 'master' and [name] <> 'model' and [name] <> 'tempdb'
OPEN dbcr
FETCH next
    FROM  dbcr into   @dbname
WHILE (@@FETCH_status= 0)
BEGIN
    select @string =  'sp_detach_db ' + ''''+@dbname+''',' + '''true'''     
    print @string
    print 'go'
 FETCH next
    FROM dbcr into @dbname
end
close dbcr
deallocate dbcr


------------------
AFTER APPLYING ABOVE NO OF USER STORED PROCEDURE WILL BE CREATED         WE CAN DETACH MULTIPLE USER DBS USING THE ABOVE SYENTEXT
WE CAN USE THE SAME AND EXECUTE THE SP_DETACH_DB

EXAMPLE LIKE BELOW


sp_detach_db 'Northwind','true'
go
sp_detach_db 'UNION','true'
go

-----IF DB IN EMERGENCY MODE IF WE DONT LIKE AGAIN ADD LOG FILE WE CAN USE THIS DETACH AND ATTACH THE DB TO THE SAME SERVER

UPDATE master..sysdatabases
        SET status = 32768
        WHERE name = 'UNION'

sp_detach_db 'Northwind','true'
go
sp_detach_db 'UNION','true'
go

No comments:

Post a Comment