Dobrze jest mieć w pogotowiu skrypt, który z góry założonymi regułami założy nam bazę danych w MS SQL Server. Najlepiej jest utworzyć w bazie filegrupy w podziale na dane podstawowe np. FG_DBO, która jest domyślną FG oraz FG_TEMP na obiekty tymczasowe. W FG PRIMARY przechowywane sa tylko obiekty systemowe.
01 | declare @ database varchar (80) |
02 | , @lokalizacjaData varchar (800) |
03 | , @lokalizacjaLog varchar (800) |
04 | select @ database = 'FOO' |
05 | ,@lokalizacjaData = 'E:\DBSQL2\MSSQL14.DWH_PRD\MSSQL\UserData' |
06 | ,@lokalizacjaLog = 'E:\DBLogs2\MSSQL14.DWH_PRD\MSSQL\UserLog' |
10 | CREATE DATABASE [' + @ database + '] |
13 | ( NAME =N' '' + @ database + '' ',FILENAME=N' '' +@lokalizacjaData+ '\'+ @database+' .mdf '' , SIZE = 524288KB , MAXSIZE =UNLIMITED, FILEGROWTH = 0), |
14 | FILEGROUP [FG_DBO] DEFAULT |
15 | ( NAME =N '' '+ @database+' _FG_DBO1 '' ,FILENAME=N '' '+@lokalizacjaData+' \ '+ @database+' _FG_DBO1.ndf '' , SIZE = 5242880KB , MAXSIZE =UNLIMITED, FILEGROWTH = 0), |
16 | ( NAME =N '' '+ @database+' _FG_DBO2 '' ,FILENAME=N '' '+@lokalizacjaData+' \ '+ @database+' _FG_DBO2.ndf '' , SIZE = 5242880KB , MAXSIZE =UNLIMITED, FILEGROWTH = 0), |
18 | ( NAME =N '' '+ @database+' _FG_TEMP1 '' ,FILENAME=N '' '+@lokalizacjaData+' \ '+ @database+' _FG_TEMP1.ndf '' , SIZE = 524288KB , MAXSIZE =UNLIMITED, FILEGROWTH = 0), |
19 | ( NAME =N '' '+ @database+' _FG_TEMP2 '' ,FILENAME=N '' '+@lokalizacjaData+' \ '+ @database+' _FG_TEMP2.ndf '' , SIZE = 524288KB , MAXSIZE =UNLIMITED, FILEGROWTH = 0) |
21 | ( NAME =N '' '+ @database+' _log '' ,FILENAME=N '' '+@lokalizacjaLog+' \ '+ @database+' _Log.ldf '' , SIZE = 131072KB , MAXSIZE = 1024000KB , FILEGROWTH = 131072KB ) |
22 | ALTER DATABASE '+ @database+' SET COMPATIBILITY_LEVEL = 140 |
23 | ALTER DATABASE '+ @database+' SET RECOVERY FULL WITH NO_WAIT |
26 | print ' use '+ @database |