-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinit-databases.sql
More file actions
57 lines (50 loc) · 1.23 KB
/
Copy pathinit-databases.sql
File metadata and controls
57 lines (50 loc) · 1.23 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
-- N'$(MSSQL_DB_NAME)'
-- N'$(MSSQL_DB_USER)'
-- N'$(MSSQL_DB_PASS)'
DECLARE @HasDb BOOLEAN = FALSE
DECLARE @HasUser BOOLEAN = FALSE
-- Create Database if it's declared and not setup
IF (LEN(N'$(MSSQL_DB_NAME)') > 0)
BEGIN
SET @HasDb = TRUE
IF NOT EXISTS(select *
from sys.databases
where name = N'$(MSSQL_DB_NAME)')
BEGIN
CREATE DATABASE [$(MSSQL_DB_NAME)]
END
END
GO
-- Create User if it's declared and not setup
IF (LEN(N'$(MSSQL_DB_USER)') > 0 AND LEN(N'$(MSSQL_DB_USER)') > 0)
BEGIN
SET @HasUser = TRUE
IF NOT EXISTS (
SELECT name
FROM master.sys.server_principals
WHERE name = N'$(MSSQL_DB_USER)'
)
BEGIN
CREATE LOGIN [$(MSSQL_DB_USER)] with PASSWORD=N'$(MSSQL_DB_PASS)', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
END
END
GO
-- If user and db are not declared, jump to end of script
IF (@HasDb = FALSE OR @HasUser = FALSE)
BEGIN
GOTO EndOfScript
END
-- Ensure the User has DBO for the database
USE [$(MSSQL_DB_NAME)]
IF NOT EXISTS(
SELECT *
FROM sys.database_principals
WHERE NAME = N'$(MSSQL_DB_USER)'
)
BEGIN
CREATE USER [$(MSSQL_DB_USER)] FOR LOGIN [$(MSSQL_DB_USER)]
EXEC sp_addrolemember N'db_owner', N'$(MSSQL_DB_USER)'
END
GO
-- Finished Initialization
EndOfScript: