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

  至此,批量建库,还原库,删除库的工作完成了。