SQL脚本批量建库,批量还原库,批量删除库
作者:网络转载 发布时间:[ 2013/4/16 10:35:44 ] 推荐标签:
2、批量还原库
库建好后,需要使用准备好的备份文件来批量还原库。具体脚本如下:
DECLARE @sql NVARCHAR(500)
DECLARE @dbname NVARCHAR(100)
DECLARE @dbname1 NVARCHAR(100)
DECLARE @dbname2 NVARCHAR(100)
DECLARE @sdbname1 NVARCHAR(100)
DECLARE @sdbname2 NVARCHAR(100)
DECLARE @path NVARCHAR(200)
DECLARE @dispath NVARCHAR(200)
DECLARE @dpath1 NVARCHAR(200)
DECLARE @dpath2 NVARCHAR(200)
DECLARE @count NVARCHAR(10)
DECLARE @n int
SET @n=1
SET @path='E:DBTestBackupTRUEDB.bak'
SET @dispath='E:DBTestDATA'
SET @sdbname1='TESTDB_0'
SET @sdbname2='TESTDB_0_log'
WHILE @n<101
BEGIN
SET @count=LTRIM(STR(@n))
SET @dbname='TESTDB_'+ @count
SET @dbname1='TESTDB_'+ @count+'.mdf'
SET @dbname2='TESTDB_'+ @count+'_log.ldf'
SET @dpath1=@dispath+@dbname1
SET @dpath2=@dispath+@dbname2
SET @sql='restore database '+@dbname+' from disk='"+@path+"' with move '"+@sdbname1+"' to '"+@dpath1+"',move '"+@sdbname2+"' to '"+@dpath2+"'STATS=10,replace'
EXEC(@sql)
SET @n=@n+1
END
上面的脚本将'E:DBTestBackupTRUEDB.bak'文件依次还原到我们所建的100个库中。
3、批量删除库
测试结束后,我们用下面的脚本批量删除库。
DECLARE @dname NVARCHAR(20)
DECLARE @sql NVARCHAR(200)
DECLARE @n int
SET @n=1
WHILE @n<101
BEGIN
SET @dname='TESTDB_'+LTRIM(STR(@n))
SET @sql='DROP DATABASE'+@dname
EXEC(@sql)
SET @n=@n+1
END
至此,批量建库,还原库,删除库的工作完成了。

sales@spasvo.com