@@ -8,6 +8,8 @@ set SQL_MASTER_SA_PASSWORD=%3
88set KNOX_IP = %4
99set KNOX_PASSWORD = %5
1010set AW_WWI_SAMPLES = %6
11+ set SQL_MASTER_PORT = %7
12+ set KNOX_PORT = %8
1113set STARTUP_PATH = %~dp0
1214set TMP_DIR_NAME = %~nx0
1315
@@ -17,64 +19,64 @@ if NOT DEFINED SQL_MASTER_SA_PASSWORD goto :usage
1719if NOT DEFINED KNOX_IP goto :usage
1820if NOT DEFINED KNOX_PASSWORD set KNOX_PASSWORD = %SQL_MASTER_SA_PASSWORD%
1921if NOT DEFINED AW_WWI_SAMPLES set AW_WWI_SAMPLES = no
22+ if NOT DEFINED SQL_MASTER_PORT set SQL_MASTER_PORT = 31433
23+ if NOT DEFINED KNOX_PORT set KNOX_PORT = 30443
2024
21- set SQL_MASTER_INSTANCE = %SQL_MASTER_IP% ,31433
22- set KNOX_ENDPOINT = %KNOX_IP% :30443
25+ set SQL_MASTER_INSTANCE = %SQL_MASTER_IP% ,%SQL_MASTER_PORT%
26+ set KNOX_ENDPOINT = %KNOX_IP% :%KNOX_PORT%
2327
2428for %%F in (sqlcmd.exe bcp.exe kubectl.exe curl.exe) do (
2529 echo Verifying %%F is in path & CALL WHERE /Q %%F || GOTO exit
2630)
2731
2832pushd " %tmp% "
29- md %TMP_DIR_NAME%
33+ md %TMP_DIR_NAME% > NUL
3034cd %TMP_DIR_NAME%
3135
3236if NOT EXIST tpcxbb_1gb.bak (
3337 echo Downloading sample database backup file...
3438 %DEBUG% curl -G " https://sqlchoice.blob.core.windows.net/sqlchoice/static/tpcxbb_1gb.bak" -o tpcxbb_1gb.bak
3539)
3640
41+ set SQLCMDSERVER = %SQL_MASTER_INSTANCE%
42+ set SQLCMDUSER = sa
43+ set SQLCMDPASSWORD = %SQL_MASTER_SA_PASSWORD%
44+ for /F " usebackq" %%v in (`sqlcmd -I -b -h-1 -Q " print RTRIM((CAST(SERVERPROPERTY('ProductLevel') as nvarchar(128))));" `) do SET CTP_VERSION = %%v
45+ if /i " %CTP_VERSION% " EQU " CTP2.4" (set MASTER_POD_NAME=mssql-master-pool-0) else (set MASTER_POD_NAME=master-0)
46+
3747REM Copy the backup file, restore the database, create necessary objects and data file
3848echo Copying sales database backup file to SQL Master instance...
39- %DEBUG% kubectl cp tpcxbb_1gb.bak %CLUSTER_NAMESPACE% /mssql-master-pool-0 :/var/opt/mssql/data -c mssql-server || goto exit
49+ %DEBUG% kubectl cp tpcxbb_1gb.bak %CLUSTER_NAMESPACE% /%MASTER_POD_NAME% :/var/opt/mssql/data -c mssql-server || goto exit
4050
4151REM Download and copy the sample backup files
42- if /i %AW_WWI_SAMPLES% EQU --install-extra-samples (
43- if NOT EXIST AdventureWorks2016_EXT.bak (
44- echo Downloading AdventureWorks2016_EXT sample database backup file...
45- %DEBUG% curl -L -G " https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2016_EXT.bak" -o AdventureWorks2016_EXT.bak
46- )
47- echo Copying AdventureWorks2016_EXT database backup file to SQL Master instance...
48- %DEBUG% kubectl cp AdventureWorks2016_EXT.bak %CLUSTER_NAMESPACE% /mssql-master-pool-0:/var/opt/mssql/data -c mssql-server || goto exit
49-
50- if NOT EXIST AdventureWorksDW2016_EXT.bak (
51- echo Downloading AdventureWorksDW2016_EXT sample database backup file...
52- %DEBUG% curl -L -G " https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorksDW2016_EXT.bak" -o AdventureWorksDW2016_EXT.bak
52+ if /i " %AW_WWI_SAMPLES% " EQU " --install-extra-samples" (
53+ set FILES = AdventureWorks2016_EXT.bak AdventureWorksDW2016_EXT.bak
54+ for %%f in (!FILES! ) do (
55+ if NOT EXIST %%f (
56+ echo Downloading %%f sample database backup file...
57+ %DEBUG% curl -L -G " https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/%%f " -o %%f
58+ )
59+ echo Copying %%f database backup file to SQL Master instance...
60+ %DEBUG% kubectl cp %%f %CLUSTER_NAMESPACE% /%MASTER_POD_NAME% :/var/opt/mssql/data -c mssql-server || goto exit
5361 )
54- echo Copying AdventureWorksDW2016_EXT database backup file to SQL Master instance...
55- %DEBUG% kubectl cp AdventureWorksDW2016_EXT.bak %CLUSTER_NAMESPACE% /mssql-master-pool-0:/var/opt/mssql/data -c mssql-server || goto exit
5662
57- if NOT EXIST WideWorldImporters-Full.bak (
58- echo Downloading WideWorldImporters sample database backup file...
59- %DEBUG% curl -L -G " https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak" -o WideWorldImporters-Full.bak
63+ set FILES = WideWorldImporters-Full.bak WideWorldImportersDW-Full.bak
64+ for %%f in (!FILES! ) do (
65+ if NOT EXIST %%f (
66+ echo Downloading %%f sample database backup file...
67+ %DEBUG% curl -L -G " https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/%%f " -o %%f
68+ )
69+ echo Copying %%f database backup file to SQL Master instance...
70+ %DEBUG% kubectl cp %%f %CLUSTER_NAMESPACE% /%MASTER_POD_NAME% :/var/opt/mssql/data -c mssql-server || goto exit
6071 )
61- echo Copying WideWorldImporters-Full database backup file to SQL Master instance...
62- %DEBUG% kubectl cp WideWorldImporters-Full.bak %CLUSTER_NAMESPACE% /mssql-master-pool-0:/var/opt/mssql/data -c mssql-server || goto exit
63-
64- if NOT EXIST WideWorldImportersDW-Full.bak (
65- echo Downloading WideWorldImportersDW sample database backup file...
66- %DEBUG% curl -L -G " https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImportersDW-Full.bak" -o WideWorldImportersDW-Full.bak
67- )
68- echo Copying WideWorldImportersDW-Full database backup file to SQL Master instance...
69- %DEBUG% kubectl cp WideWorldImportersDW-Full.bak %CLUSTER_NAMESPACE% /mssql-master-pool-0:/var/opt/mssql/data -c mssql-server || goto exit
7072)
7173
7274echo Configuring sample database(s)...
73- %DEBUG% sqlcmd -S %SQL_MASTER_INSTANCE% -Usa -P %SQL_MASTER_SA_PASSWORD% - i " %STARTUP_PATH% bootstrap-sample-db.sql" -o " bootstrap.out" -I -b -v SA_PASSWORD=" %KNOX_PASSWORD% " || goto exit
75+ %DEBUG% sqlcmd -i " %STARTUP_PATH% bootstrap-sample-db.sql" -o " bootstrap.out" -I -b -v SA_PASSWORD=" %KNOX_PASSWORD% " || goto exit
7476
7577REM remove files copied into the pod:
7678echo Removing database backup files...
77- kubectl exec mssql-master-pool-0 -n %CLUSTER_NAMESPACE% -c mssql-server -i -t -- bash -c " rm -rvf /var/opt/mssql/data/*.bak"
79+ %DEBUG% kubectl exec %MASTER_POD_NAME% -n %CLUSTER_NAMESPACE% -c mssql-server -i -t -- bash -c " rm -rvf /var/opt/mssql/data/*.bak"
7880
7981for %%F in (web_clickstreams inventory customer) do (
8082 if NOT EXIST %%F .csv (
@@ -84,7 +86,6 @@ for %%F in (web_clickstreams inventory customer) do (
8486 )
8587)
8688
87-
8889if NOT EXIST product_reviews.csv (
8990 echo Exporting product_reviews data...
9091 %DEBUG% bcp " select pr_review_sk, replace(replace(pr_review_content, ',', ';'), char(34), '') as pr_review_content from sales.dbo.product_reviews" queryout " product_reviews.csv" -S %SQL_MASTER_INSTANCE% -Usa -P%SQL_MASTER_SA_PASSWORD% -c -t, -o " product_reviews.out" -e " product_reviews.err" || goto exit
@@ -103,6 +104,7 @@ echo Uploading product_reviews data to HDFS...
103104:: del /q product_reviews.*
104105
105106REM %DEBUG% del /q *.out *.err *.csv
107+ echo .
106108echo Bootstrap of the sample database completed successfully.
107109echo You can now login using " root" and Knox password to get the unified experience in Azure Data Studio.
108110echo Data files for Oracle setup are located at [%TMP% \%TMP_DIR_NAME% ].
@@ -118,6 +120,6 @@ goto :eof
118120 exit /b 1
119121
120122:usage
121- echo USAGE: %0 ^ < CLUSTER_NAMESPACE^ > ^ < SQL_MASTER_IP^ > ^ < SQL_MASTER_SA_PASSWORD^ > ^ < KNOX_IP^ > [^ < KNOX_PASSWORD^ > ] [--install-extra-samples]
122- echo Default ports are assumed for SQL Master instance ^ & Knox gateway.
123+ echo USAGE: %0 ^ < CLUSTER_NAMESPACE^ > ^ < SQL_MASTER_IP^ > ^ < SQL_MASTER_SA_PASSWORD^ > ^ < KNOX_IP^ > [^ < KNOX_PASSWORD^ > ] [--install-extra-samples] [SQL_MASTER_PORT] [KNOX_PORT]
124+ echo Default ports are assumed for SQL Master instance ^ & Knox gateway unless specified .
123125 exit /b 0
0 commit comments