You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/05/29 19:22:06 UTC

[13/27] incubator-brooklyn git commit: Adds MSSQL (YAML-based) blueprint

Adds MSSQL (YAML-based) blueprint


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/2387a06a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/2387a06a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/2387a06a

Branch: refs/heads/master
Commit: 2387a06a2dbedac5d996fc14c6f9a9a1cdeb479e
Parents: e07a7e0
Author: Martin Harris <gi...@nakomis.com>
Authored: Thu May 21 13:07:32 2015 +0100
Committer: Richard Downer <ri...@apache.org>
Committed: Thu May 28 17:27:35 2015 +0100

----------------------------------------------------------------------
 .gitattributes                                  |   2 +-
 software/database/pom.xml                       |   2 +
 .../entity/database/mssql/ConfigurationFile.ini | 390 +++++++++++++++++++
 .../entity/database/mssql/checkrunningmssql.bat |  23 ++
 .../entity/database/mssql/configuremssql.ps1    |  22 ++
 .../entity/database/mssql/installmssql.ps1      |  49 +++
 .../entity/database/mssql/launchmssql.bat       |  25 ++
 .../brooklyn/entity/database/mssql/mssql.yaml   |  31 ++
 .../entity/database/mssql/stopmssql.bat         |  24 ++
 9 files changed, 567 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/.gitattributes
----------------------------------------------------------------------
diff --git a/.gitattributes b/.gitattributes
index 21ceeba..7920d0e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -3,4 +3,4 @@
 *.sh text eol=lf
 *.bat text eol=crlf
 *.ps1 text eol=crlf
-
+*.ini text eol=crlf

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/pom.xml
----------------------------------------------------------------------
diff --git a/software/database/pom.xml b/software/database/pom.xml
index 2c813f9..c6abf07 100644
--- a/software/database/pom.xml
+++ b/software/database/pom.xml
@@ -51,6 +51,8 @@
                             <exclude>src/main/resources/brooklyn/entity/database/mysql/mysql.conf</exclude>
                             <exclude>src/main/resources/brooklyn/entity/database/postgresql/postgresql.conf</exclude>
                             <exclude>src/main/resources/brooklyn/entity/database/rubyrep/rubyrep.conf</exclude>
+                            <exclude>src/main/resources/brooklyn/entity/database/mssql/ConfigurationFile.ini</exclude>
+                            <exclude>src/main/resources/brooklyn/entity/database/mssql/mssql.yaml</exclude>
                         </excludes>
                     </configuration>
                 </plugin>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/ConfigurationFile.ini
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/ConfigurationFile.ini b/software/database/src/main/resources/brooklyn/entity/database/mssql/ConfigurationFile.ini
new file mode 100644
index 0000000..ee437ac
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/ConfigurationFile.ini
@@ -0,0 +1,390 @@
+;SQL Server 2012 Configuration File
+
+
+[OPTIONS]
+
+
+
+; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter. 
+
+
+
+ACTION="Install"
+
+; Detailed help for command line argument ROLE has not been defined yet.
+
+ROLE="AllFeatures_WithDefaults"
+
+
+; Detailed help for command line argument ENU has not been defined yet. 
+
+
+
+ENU="True"
+
+
+
+; Setup will not display any user interface. 
+
+
+
+QUIET="True"
+
+ 
+
+; Setup will display progress only, without any user interaction. 
+
+
+
+QUIETSIMPLE="False"
+
+
+
+; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found. 
+
+
+
+UpdateEnabled="False"
+
+
+
+; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, MDS, and Tools. The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. The Tools feature will install Management Tools, Books online components, SQL Server Data Tools, and other shared components. 
+
+
+
+FEATURES="${config['mssql.features']}"
+
+
+
+; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services. 
+
+
+
+UpdateSource="MU"
+
+
+
+; Displays the command line parameters usage 
+
+
+
+HELP="False"
+
+
+
+; Specifies that the detailed Setup log should be piped to the console. 
+
+
+
+INDICATEPROGRESS="True"
+
+
+
+; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system. 
+
+
+
+X86="False"
+
+
+
+; Specify the root installation directory for shared components.  This directory remains unchanged after shared components are already installed. 
+
+
+
+INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"
+
+
+
+; Specify the root installation directory for the WOW64 shared components.  This directory remains unchanged after WOW64 shared components are already installed. 
+
+
+
+INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"
+
+
+
+; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS). 
+
+
+
+INSTANCENAME="MSSQLSERVER"
+
+
+
+; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance. 
+
+
+
+INSTANCEID="MSSQLSERVER"
+
+
+
+; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature. 
+
+
+
+SQMREPORTING="False"
+
+
+; The account used by the Distributed Replay Controller service.
+
+CTLRSVCACCOUNT="NT Service\SQL Server Distributed Replay Controller"
+
+; The startup type for the Distributed Replay Controller service.
+
+CTLRSTARTUPTYPE="Manual"
+
+; The account used by the Distributed Replay Client service.
+
+CLTSVCACCOUNT="NT Service\SQL Server Distributed Replay Client"
+
+; The startup type for the Distributed Replay Client service.
+
+CLTSTARTUPTYPE="Manual"
+
+; The result directory for the Distributed Replay Client service.
+
+CLTRESULTDIR="C:\Program Files (x86)\Microsoft SQL Server\DReplayClient\ResultDir"
+
+; The working directory for the Distributed Replay Client service.
+
+CLTWORKINGDIR="C:\Program Files (x86)\Microsoft SQL Server\DReplayClient\WorkingDir"
+
+; RSInputSettings_RSInstallMode_Description
+
+RSINSTALLMODE="DefaultNativeMode"
+
+; RSInputSettings_RSInstallMode_Description
+
+RSSHPINSTALLMODE="SharePointFilesOnlyMode"
+
+; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature.
+
+
+
+; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature. 
+
+
+
+ERRORREPORTING="False"
+
+
+
+; Specify the installation directory. 
+
+
+
+INSTANCEDIR="C:\Program Files\Microsoft SQL Server"
+
+
+
+; Agent account name 
+
+
+
+AGTSVCACCOUNT="NT Service\SQLSERVERAGENT"
+
+
+
+; Auto-start service after installation.  
+
+
+
+AGTSVCSTARTUPTYPE="Automatic"
+
+
+; Startup type for Integration Services.
+
+ISSVCSTARTUPTYPE="Automatic"
+
+; Account for Integration Services: Domain\User or system account.
+
+ISSVCACCOUNT="NT Service\MsDtsServer110"
+
+; The name of the account that the Analysis Services service runs under.
+
+ASSVCACCOUNT="NT Service\MSSQLServerOLAPService"
+
+; Controls the service startup type setting after the service has been created.
+
+ASSVCSTARTUPTYPE="Automatic"
+
+; The collation to be used by Analysis Services.
+
+ASCOLLATION="Latin1_General_CI_AS"
+
+; The location for the Analysis Services data files.
+
+ASDATADIR="C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Data"
+
+; The location for the Analysis Services log files.
+
+ASLOGDIR="C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Log"
+
+; The location for the Analysis Services backup files.
+
+ASBACKUPDIR="C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Backup"
+
+; The location for the Analysis Services temporary files.
+
+ASTEMPDIR="C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Temp"
+
+; The location for the Analysis Services configuration files.
+
+ASCONFIGDIR="C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Config"
+
+; Specifies whether or not the MSOLAP provider is allowed to run in process.
+
+ASPROVIDERMSOLAP="1"
+
+; Specifies the list of administrator accounts that need to be provisioned.
+
+ASSYSADMINACCOUNTS="BUILTIN\Administrators"
+
+; Specifies the server mode of the Analysis Services instance. Valid values are MULTIDIMENSIONAL and TABULAR. The default value is MULTIDIMENSIONAL.
+
+ASSERVERMODE="MULTIDIMENSIONAL"
+
+; CM brick TCP communication port 
+
+
+
+COMMFABRICPORT="0"
+
+
+
+; How matrix will use private networks 
+
+
+
+COMMFABRICNETWORKLEVEL="0"
+
+
+
+; How inter brick communication will be protected 
+
+
+
+COMMFABRICENCRYPTION="0"
+
+
+
+; TCP port used by the CM brick 
+
+
+
+MATRIXCMBRICKCOMMPORT="0"
+
+
+
+; Startup type for the SQL Server service. 
+
+
+
+SQLSVCSTARTUPTYPE="Automatic"
+
+
+
+; Level to enable FILESTREAM feature at (0, 1, 2 or 3). 
+
+
+
+FILESTREAMLEVEL="0"
+
+
+
+; Set to "1" to enable RANU for SQL Server Express. 
+
+
+
+ENABLERANU="False"
+
+
+
+; Specifies a Windows collation or an SQL collation to use for the Database Engine. 
+
+
+
+SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
+
+
+
+; Account for SQL Server service: Domain\User or system account. 
+
+
+
+SQLSVCACCOUNT="NT Service\MSSQLSERVER"
+
+
+
+; Windows account(s) to provision as SQL Server system administrators. 
+
+
+
+SQLSYSADMINACCOUNTS="BUILTIN\Administrators"
+
+
+
+; The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication. 
+
+
+
+SECURITYMODE="SQL"
+
+
+SAPWD="${config['mssql.sa.password']}"
+
+
+
+; Provision current user as a Database Engine system administrator for SQL Server 2012 Express. 
+
+
+
+ADDCURRENTUSERASSQLADMIN="False"
+
+
+
+; Specify 0 to disable or 1 to enable the TCP/IP protocol. 
+
+
+
+TCPENABLED="1"
+
+
+
+; Specify 0 to disable or 1 to enable the Named Pipes protocol. 
+
+
+
+NPENABLED="0"
+
+
+
+; Startup type for Browser Service. 
+
+
+
+BROWSERSVCSTARTUPTYPE="Disabled"
+
+
+; Specifies which account the report server NT service should execute under.  When omitted or when the value is empty string, the default built-in account for the current operating system.
+; The username part of RSSVCACCOUNT is a maximum of 20 characters long and
+; The domain part of RSSVCACCOUNT is a maximum of 254 characters long.
+
+RSSVCACCOUNT="NT Service\ReportServer"
+
+; Specifies how the startup mode of the report server NT service.  When
+; Manual - Service startup is manual mode (default).
+; Automatic - Service startup is automatic mode.
+; Disabled - Service is disabled
+
+RSSVCSTARTUPTYPE="Automatic"
+
+; Add description of input argument FTSVCACCOUNT
+
+FTSVCACCOUNT="NT Service\MSSQLFDLauncher"
+
+
+
+IAcceptSQLServerLicenseTerms="True"

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/checkrunningmssql.bat
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/checkrunningmssql.bat b/software/database/src/main/resources/brooklyn/entity/database/mssql/checkrunningmssql.bat
new file mode 100644
index 0000000..34512c8
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/checkrunningmssql.bat
@@ -0,0 +1,23 @@
+[#ftl]
+@echo off
+REM Licensed to the Apache Software Foundation (ASF) under one
+REM or more contributor license agreements.  See the NOTICE file
+REM distributed with this work for additional information
+REM regarding copyright ownership.  The ASF licenses this file
+REM to you under the Apache License, Version 2.0 (the
+REM "License"); you may not use this file except in compliance
+REM with the License.  You may obtain a copy of the License at
+REM
+REM   http://www.apache.org/licenses/LICENSE-2.0
+REM
+REM Unless required by applicable law or agreed to in writing,
+REM software distributed under the License is distributed on an
+REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+REM KIND, either express or implied.  See the License for the
+REM specific language governing permissions and limitations
+REM under the License.
+
+set serviceName=MSSQL\$${config['mssql.instance.name']}
+
+[#noparse]
+sc query %serviceName% | find "RUNNING"

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/configuremssql.ps1
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/configuremssql.ps1 b/software/database/src/main/resources/brooklyn/entity/database/mssql/configuremssql.ps1
new file mode 100644
index 0000000..06522fd
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/configuremssql.ps1
@@ -0,0 +1,22 @@
+[#ftl]
+#!ps1
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+netsh advfirewall firewall add rule name=SQLPort dir=in protocol=tcp action=allow localport=1433 remoteip=any profile=any
+( Get-WmiObject -Namespace "root\Microsoft\SqlServer\ComputerManagement11" -Query "Select * from ServerNetworkProtocolProperty where ProtocolName='Tcp' and IPAddressName='IPAll' and PropertyName='TcpPort'" ).SetStringValue("1433")

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/installmssql.ps1
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/installmssql.ps1 b/software/database/src/main/resources/brooklyn/entity/database/mssql/installmssql.ps1
new file mode 100644
index 0000000..6c1f30b
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/installmssql.ps1
@@ -0,0 +1,49 @@
+[#ftl]
+#!ps1
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+$Url = "${config['mssql.download.url']}"
+$Path = "C:\sql2008.iso"
+$Username = "${config['mssql.download.user']}"
+$Password = '${config['mssql.download.password']}'
+
+
+$WebClient = New-Object System.Net.WebClient
+$WebClient.Credentials = New-Object System.Net.Networkcredential($Username, $Password)
+$WebClient.DownloadFile( $url, $path )
+
+$mountResult = Mount-DiskImage $Path -PassThru
+$driveLetter = (($mountResult | Get-Volume).DriveLetter) + ":\"
+
+New-Item -ItemType Directory -Force -Path "C:\Program Files (x86)\Microsoft SQL Server\DReplayClient\ResultDir"
+New-Item -ItemType Directory -Force -Path "C:\Program Files (x86)\Microsoft SQL Server\DReplayClient\WorkingDir"
+
+Install-WindowsFeature NET-Framework-Core
+
+$pass = '${attribute['windows.password']}'
+$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
+$mycreds = New-Object System.Management.Automation.PSCredential ($($env:COMPUTERNAME + "\Administrator"), $secpasswd)
+
+Invoke-Command -ComputerName localhost -credential $mycreds -scriptblock {
+    param($driveLetter)
+    Start-Process ( $driveLetter + "setup.exe") -ArgumentList "/ConfigurationFile=C:\ConfigurationFile.ini" -RedirectStandardOutput "C:\sqlout.txt" -RedirectStandardError "C:\sqlerr.txt" -Wait
+} -Authentication CredSSP -argumentlist $driveLetter
+
+## Process complete
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/launchmssql.bat
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/launchmssql.bat b/software/database/src/main/resources/brooklyn/entity/database/mssql/launchmssql.bat
new file mode 100644
index 0000000..ad0deff
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/launchmssql.bat
@@ -0,0 +1,25 @@
+[#ftl]
+@echo off
+REM Licensed to the Apache Software Foundation (ASF) under one
+REM or more contributor license agreements.  See the NOTICE file
+REM distributed with this work for additional information
+REM regarding copyright ownership.  The ASF licenses this file
+REM to you under the Apache License, Version 2.0 (the
+REM "License"); you may not use this file except in compliance
+REM with the License.  You may obtain a copy of the License at
+REM
+REM   http://www.apache.org/licenses/LICENSE-2.0
+REM
+REM Unless required by applicable law or agreed to in writing,
+REM software distributed under the License is distributed on an
+REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+REM KIND, either express or implied.  See the License for the
+REM specific language governing permissions and limitations
+REM under the License.
+
+set serviceName=MSSQL\$${config['mssql.instance.name']}
+
+[#noparse]
+sc stop %serviceName%
+sc config %serviceName% start=auto
+sc start %serviceName%

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/mssql.yaml
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/mssql.yaml b/software/database/src/main/resources/brooklyn/entity/database/mssql/mssql.yaml
new file mode 100644
index 0000000..7c366eb
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/mssql.yaml
@@ -0,0 +1,31 @@
+name: imageId us-west-2/ami-07390a37
+
+location: AWS Oregon Win
+
+services:
+- type: brooklyn.entity.basic.VanillaWindowsProcess
+  brooklyn.config:
+    templates.install:
+      classpath://brooklyn/entity/database/mssql/ConfigurationFile.ini: "C:\\ConfigurationFile.ini"
+      classpath://brooklyn/entity/database/mssql/installmssql.ps1: "C:\\installmssql.ps1"
+      classpath://brooklyn/entity/database/mssql/configuremssql.ps1: "C:\\configuremssql.ps1"
+      classpath://brooklyn/entity/database/mssql/launchmssql.bat: "C:\\launchmssql.bat"
+      classpath://brooklyn/entity/database/mssql/stopmssql.bat: "C:\\stopmssql.bat"
+    install.command: powershell -command "C:\\installmssql.ps1"
+    customize.command: powershell -command "C:\\configuremssql.ps1"
+    launch.command: "C:\\launchmssql.bat"
+    stop.command: "C:\\stopmssql.bat"
+    checkRunning.command: echo true
+
+    ## NOTE: Values must be supplied for the following
+    mssql.download.url:
+    mssql.download.user:
+    mssql.download.password:
+    mssql.sa.password:
+    mssql.instance.name:
+
+    ## The following is a list of *all* MSSQL features. Installation time and footprint can be greatly
+    ## reduced by removing unnecessary features
+    mssql.features: "SQLENGINE,REPLICATION,FULLTEXT,DQ,AS,RS,RS_SHP,DQC,BIDS,CONN,IS,BC,SDK,BOL,SSMS,ADV_SSMS,DREPLAY_CTLR,DREPLAY_CLT,SNAC_SDK"
+  provisioning.properties:
+    required.ports: 1433
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2387a06a/software/database/src/main/resources/brooklyn/entity/database/mssql/stopmssql.bat
----------------------------------------------------------------------
diff --git a/software/database/src/main/resources/brooklyn/entity/database/mssql/stopmssql.bat b/software/database/src/main/resources/brooklyn/entity/database/mssql/stopmssql.bat
new file mode 100644
index 0000000..68358f1
--- /dev/null
+++ b/software/database/src/main/resources/brooklyn/entity/database/mssql/stopmssql.bat
@@ -0,0 +1,24 @@
+[#ftl]
+@echo off
+REM Licensed to the Apache Software Foundation (ASF) under one
+REM or more contributor license agreements.  See the NOTICE file
+REM distributed with this work for additional information
+REM regarding copyright ownership.  The ASF licenses this file
+REM to you under the Apache License, Version 2.0 (the
+REM "License"); you may not use this file except in compliance
+REM with the License.  You may obtain a copy of the License at
+REM
+REM   http://www.apache.org/licenses/LICENSE-2.0
+REM
+REM Unless required by applicable law or agreed to in writing,
+REM software distributed under the License is distributed on an
+REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+REM KIND, either express or implied.  See the License for the
+REM specific language governing permissions and limitations
+REM under the License.
+
+set serviceName=MSSQL\$${config['mssql.instance.name']}
+
+[#noparse]
+sc config %serviceName% start=demand
+sc stop %serviceName%