????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

?????????????????????????????????????