Below script will be help full for creating temp DB files for specified count
DECLARE @tempdbfilecount INT;
DECLARE @tempdatadir VARCHAR(255);
DECLARE @tempdatasize INT;
DECLARE @temp_data_filegrowth INT;
DECLARE @temp_log_filegrowth INT;
DECLARE @templogsize INT;
/*tempdb*/
SET @tempdatadir = 'E:\Program Files\Microsoft SQL Server\MSSQL17.SQL1\MSSQL' --Required. Please set the correct path to the local tempdb folder.
SET @tempdbfilecount = 8 --!! Required. Default setting is 8, please only change if you have a good reason!
SET @tempdatasize = 512 --Size of tempdb data files in MB
SET @temp_data_filegrowth = 256 --Size of tempdb data file autogrowth in MB
SET @templogsize = 512 --Size of tempdb log file in MB
SET @temp_log_filegrowth = 256 --Size of tempdb log file autogrowth in MB
DECLARE @tempdbfileloop INT
SET @tempdbfileloop = @tempdbfilecount
WHILE (@tempdbfileloop>0)
BEGIN
IF @tempdbfileloop=1
BEGIN
EXECUTE ('ALTER DATABASE tempdb
MODIFY FILE
( NAME = tempdev,
NEWNAME = tempdb_data' + @tempdbfileloop + ',
FILENAME = '''+ @tempdatadir + '\tempdb_data' + @tempdbfileloop + '.mdf'',
SIZE = ' + @tempdatasize + ' MB,
FILEGROWTH = ' + @temp_data_filegrowth + ' MB)')
END
IF @tempdbfileloop <> 1
BEGIN
EXECUTE ('ALTER DATABASE tempdb
ADD FILE
( NAME = tempdb_data' + @tempdbfileloop + ',
FILENAME = '''+ @tempdatadir + '\tempdb_data' + @tempdbfileloop + '.ndf'',
SIZE = ' + @tempdatasize + ' MB,
FILEGROWTH = ' + @temp_data_filegrowth + ' MB)')
END
SET @tempdbfileloop = (@tempdbfileloop-1)
END
EXECUTE ('ALTER DATABASE tempdb
MODIFY FILE
( NAME = templog,
FILENAME = '''+ @tempdatadir + '\templog.ldf'',
SIZE = ' + @templogsize + ' MB,
FILEGROWTH = ' + @temp_log_filegrowth + ' MB)'
);
No comments:
Post a Comment