批量分离SQL数据库语句

时间:2023-01-31 23:52:52
--sp_helpdb--查看可用数据库
declare @name sysname, @sql nvarchar(4000)
DECLARE roy CURSOR
FOR
--排除不分离的数据库名就行了
SELECT name FROM sysdatabases where name not in ('master','tempdb','pubs','Northwind','msdb','model')
open roy
FETCH NEXT FROM roy INTO @name
WHILE @@FETCH_STATUS = 0
begin
set @sql=N'
EXEC sp_detach_db '+ @name+', '+ 'true'
EXEC(@sql)
print @name
FETCH NEXT FROM roy INTO @name
end
CLOSE roy
DEALLOCATE roy