Wednesday, January 16, 2008

Script Creating File Groups and Files for Database Partitioning

USE [master]
GO

declare @FGName varchar(50)
declare @FileName varchar(50)
declare @dbName varchar(50)
declare @Path varchar(50)

Declare @FGStart int, @FGEnd int
Declare @FileStart int, @FileEnd int

Declare @FG int, @File int

Set @DBName = 'MYDB'
Set @FGName = @dbName + 'FG'
Set @FileName = 'File'
Set @Path = 'E:\SQL_DataFiles\FileGroups\'

Set @FGStart = 1
Set @FGEnd = 120

Set @FileStart = 1
Set @FileEnd = 4

Set @FG = @FGStart

Declare @Stmt varchar(400)

While (@FG <= @FGEnd)
Begin
Set @Stmt = 'ALTER DATABASE [' + @dbName + '] ADD FILEGROUP [' + @FGName + Cast(@FG as Varchar(10)) + '] '
print @Stmt
print 'GO'

Set @File = @FileStart
While (@File <= @FileEnd)
Begin
Set @Stmt = 'ALTER DATABASE [' + @dbName + '] ' +
' ADD FILE ( NAME = N''' + @FGName + Cast(@FG as Varchar(10)) + @FileName + Cast(@File as varchar(10)) + '''' +
' , FILENAME = N''' + @path + @FGName + Cast(@FG as Varchar(10)) +
@FileName + Cast(@File as varchar(10)) + ''' , SIZE = 20480KB , FILEGROWTH = 20480KB ) TO FILEGROUP [' +
@FGName + Cast(@FG as Varchar(10)) + '] '
Print @Stmt
print 'GO'
set @File = @File + 1
End
set @FG = @FG + 1
End


GO

No comments: