-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathSCH-DBA-database.sql
More file actions
124 lines (110 loc) · 3.88 KB
/
SCH-DBA-database.sql
File metadata and controls
124 lines (110 loc) · 3.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
use master
go
CREATE DATABASE DBA
-- ON PRIMARY
--( NAME = N'DBA', FILENAME = N'E:\MSSQL14.V17\Data\DBA.mdf' , SIZE = 500MB , FILEGROWTH = 200MB )
-- LOG ON
--( NAME = N'DBA_log', FILENAME = N'E:\MSSQL14.V17\Log\DBA_log.ldf' , SIZE = 500MB , FILEGROWTH = 200MB )
GO
ALTER DATABASE DBA ADD FILEGROUP [fg_default]
GO
ALTER DATABASE DBA ADD FILE
( NAME = N'DBA_fg_default', FILENAME = N'E:\MSSQL14.V17\Data\DBA_fg_default.ndf' , SIZE = 500MB , FILEGROWTH = 500MB )
TO FILEGROUP [fg_default]
GO
ALTER DATABASE DBA MODIFY FILEGROUP [fg_default] DEFAULT
GO
ALTER DATABASE DBA ADD FILEGROUP [fg_ci]
GO
ALTER DATABASE DBA ADD FILE
( NAME = N'DBA_1_fg_ci', FILENAME = N'E:\MSSQL14.V17\Data\DBA_1_fg_ci.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB ),
( NAME = N'DBA_2_fg_ci', FILENAME = N'E:\MSSQL14.V17\Data\DBA_2_fg_ci.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB ),
( NAME = N'DBA_3_fg_ci', FILENAME = N'E:\MSSQL14.V17\Data\DBA_3_fg_ci.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB ),
( NAME = N'DBA_4_fg_ci', FILENAME = N'E:\MSSQL14.V17\Data\DBA_4_fg_ci.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB )
TO FILEGROUP [fg_ci]
GO
ALTER DATABASE DBA ADD FILEGROUP [fg_nci]
GO
ALTER DATABASE DBA ADD FILE
( NAME = N'DBA_1_fg_nci', FILENAME = N'E:\MSSQL14.V17\Data\DBA_1_fg_nci.ndf' , SIZE = 204800KB , FILEGROWTH = 204800KB ),
( NAME = N'DBA_2_fg_nci', FILENAME = N'E:\MSSQL14.V17\Data\DBA_2_fg_nci.ndf' , SIZE = 204800KB , FILEGROWTH = 204800KB )
TO FILEGROUP [fg_nci]
GO
ALTER DATABASE DBA ADD FILEGROUP [fg_heap]
GO
ALTER DATABASE DBA ADD FILE
( NAME = N'DBA_1_fg_heap', FILENAME = N'E:\MSSQL14.V17\Data\DBA_1_fg_heap.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB )
TO FILEGROUP [fg_heap]
GO
ALTER DATABASE DBA ADD FILEGROUP [fg_archive]
GO
ALTER DATABASE DBA ADD FILE
( NAME = N'DBA_1_fg_archive', FILENAME = N'E:\MSSQL14.V17\Data\DBA_1_fg_archive.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB ),
( NAME = N'DBA_2_fg_archive', FILENAME = N'E:\MSSQL14.V17\Data\DBA_2_fg_archive.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB ),
( NAME = N'DBA_3_fg_archive', FILENAME = N'E:\MSSQL14.V17\Data\DBA_3_fg_archive.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB ),
( NAME = N'DBA_4_fg_archive', FILENAME = N'E:\MSSQL14.V17\Data\DBA_4_fg_archive.ndf' , SIZE = 512000KB , FILEGROWTH = 512000KB )
TO FILEGROUP [fg_archive]
GO
--alter database DBA set single_user with rollback immediate
--go
ALTER DATABASE [DBA] MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES
GO
ALTER DATABASE [DBA] MODIFY FILEGROUP [fg_default] AUTOGROW_ALL_FILES
GO
ALTER DATABASE [DBA] MODIFY FILEGROUP [fg_heap] AUTOGROW_ALL_FILES
GO
ALTER DATABASE [DBA] MODIFY FILEGROUP [fg_ci] AUTOGROW_ALL_FILES
GO
ALTER DATABASE [DBA] MODIFY FILEGROUP [fg_nci] AUTOGROW_ALL_FILES
GO
ALTER DATABASE [DBA] MODIFY FILEGROUP [fg_archive] AUTOGROW_ALL_FILES
GO
--alter database DBA set multi_user
--go
use DBA
go
select DB_NAME() as dbName, * from sys.database_files
go
/*
primary (non-default)
fg_ci
fg_nci
fg_heap
fg_archive
fg_default
benefits
- maintenance
- backup/restore
- movement
- recoverability (piece-meal restore)
read-only file groups
- can be used to reduce contention for reporting-only data
- prevent modification of data
- no recovery process when database is brought online
- compression-enabled
- cost-saving (old-read0nly-archive data into slow disk)
-
*/
USE [DBA]
GO
CREATE SCHEMA [bkp]
GO
CREATE SCHEMA [poc]
GO
CREATE SCHEMA [stg]
GO
CREATE SCHEMA [tst]
GO
USE DBA
GO
SELECT table_name = tb.[name], index_name = ix.[name], located_filegroup_name = fg.[name]
FROM sys.indexes ix
INNER JOIN sys.filegroups fg
ON ix.data_space_id = fg.data_space_id
INNER JOIN sys.tables tb
ON ix.[object_id] = tb.[object_id]
WHERE ix.data_space_id = fg.data_space_id
--and fg.name = 'PRIMARY'
--and tb.name not in ('Queue','QueueDatabase','CommandLog','CounterDetails','CounterData','DisplayToID','IndexProcessing_IndexOptimize')
--and tb.name like '%aggregated'
GO