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.

01declare @database varchar(80)
02, @lokalizacjaData varchar(800)
03, @lokalizacjaLog varchar(800)
04select @database = 'FOO'
05,@lokalizacjaData = 'E:\DBSQL2\MSSQL14.DWH_PRD\MSSQL\UserData'
06,@lokalizacjaLog = 'E:\DBLogs2\MSSQL14.DWH_PRD\MSSQL\UserLog'
07 
08print 'USE [master]
09GO
10CREATE DATABASE [' + @database+']
11CONTAINMENT =NONE
12ON  PRIMARY
13( NAME =N'''+ @database+''',FILENAME=N'''+@lokalizacjaData+'\'+ @database+'.mdf'', SIZE = 524288KB , MAXSIZE =UNLIMITED, FILEGROWTH = 0),
14FILEGROUP [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),
17FILEGROUP [FG_TEMP]
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)
20LOG ON
21( NAME =N'''+ @database+'_log'',FILENAME=N'''+@lokalizacjaLog+'\'+ @database+'_Log.ldf'', SIZE = 131072KB , MAXSIZE = 1024000KB , FILEGROWTH = 131072KB )
22ALTER DATABASE '+ @database+' SET COMPATIBILITY_LEVEL = 140
23ALTER DATABASE '+ @database+' SET RECOVERY FULL WITH NO_WAIT
24 
25'
26print 'use '+ @database
27print 'GO
28'


Dariusz Brejnak

Od prawie trzydziestu lat jest pasjonatem informatyki, a zwłaszcza dziedzin dotyczących baz danych, hurtowni danych oraz ogólnie rozumianej tematyki BI. Jego druga pasja to fotografia http://dariuszbrejnak.pl