1
- \set SQLSERVER_USER sa
2
- \set SQLSERVER_PASS Adm1nP@ssw0rd
3
- \set SQLSERVER_DB postgres
4
- \set SQLSERVER_HOST ` docker port sqlserver 1433`
5
-
6
- \prompt NAME ' Create database user: '
7
- \prompt - password PASS ' Password for "' :NAME' ": '
8
-
9
- \connect ' sqlserver://' :SQLSERVER_USER' :' :SQLSERVER_PASS' @' :SQLSERVER_HOST' /' :SQLSERVER_DB
10
-
11
1
EXEC sp_configure
12
2
' contained database authentication' , 1 ;
13
3
@@ -18,21 +8,36 @@ DROP LOGIN :NAME;
18
8
DROP DATABASE :NAME ;
19
9
20
10
CREATE DATABASE :NAME
21
- containment= partial;
22
-
23
- \connect ' sqlserver://' :SQLSERVER_USER' :' :SQLSERVER_PASS' @' :SQLSERVER_HOST' /' :SQLSERVER_DB
24
-
25
- CREATE LOGIN :NAME
26
- WITH
27
- password= :' PASS' ,
28
- check_policy= off,
29
- default_database= :NAME;
30
-
31
- CREATE USER :NAME
32
- FOR login :NAME
33
- WITH default_schema= :NAME;
34
-
35
- CREATE SCHEMA :NAME authorization :NAME;
36
-
37
- EXEC sp_addrolemember
38
- ' db_owner' , :' NAME' ;
11
+ CONTAINMENT= PARTIAL ;
12
+
13
+ \set QNAME " ''" :NAME " ''"
14
+
15
+ \set SQL ' CREATE LOGIN ' :NAME ' WITH PASSWORD=' :QNAME' , CHECK_POLICY=OFF, DEFAULT_DATABASE=' :NAME ' ;'
16
+ EXEC [:NAME].[dbo].[sp_executesql] N:' SQL'
17
+
18
+ \set SQL ' CREATE USER ' :NAME ' FOR LOGIN ' :NAME ' WITH DEFAULT_SCHEMA=' :NAME ' ;'
19
+ EXEC [:NAME].[dbo].[sp_executesql] N:' SQL' ;
20
+
21
+ \set SQL ' CREATE SCHEMA ' :NAME ' AUTHORIZATION ' :NAME ' ;'
22
+ EXEC [:NAME].[dbo].[sp_executesql] N:' SQL' ;
23
+
24
+ \set SQL ' EXEC sp_addrolemember db_owner, ' :QNAME' ;'
25
+ EXEC [:NAME].[dbo].[sp_executesql] N:' SQL' ;
26
+
27
+ -- original reconnect version:
28
+ --
29
+ -- \connect 'sqlserver://localhost/':NAME
30
+ --
31
+ -- CREATE LOGIN :NAME
32
+ -- WITH
33
+ -- PASSWORD=:'PASS',
34
+ -- CHECK_POLICY=OFF,
35
+ -- DEFAULT_DATABASE=:NAME;
36
+ --
37
+ -- CREATE USER :NAME
38
+ -- FOR LOGIN :NAME
39
+ -- WITH DEFAULT_SCHEMA=:NAME;
40
+ --
41
+ -- CREATE SCHEMA :NAME AUTHORIZATION :NAME;
42
+ --
43
+ -- EXEC sp_addrolemember 'db_owner', :'NAME';
0 commit comments