| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Installs and configures Microsoft SQL Server 2008 R2 and Microsoft SQL Server 2012 server and client. By default the Express edition is installed, but the sql_server::server recipe supports installation of other editions (see Usage below).
Tested on:
May work on other versions of Windows.
The following attributes are used by both client and server recipes.
This file also contains download url, checksum and package name for all client installation packages. See the Usage section below for more details.
This file also contains download url, checksum and package name for the server installation package.
Includes the sql_server::client recipe.
Installs required the SQL Server Native Client and all required dependancies. These include:
The SQL Server Native Client contains the SQL Server ODBC driver and the SQL Server OLE DB provider in one native dynamic link library (DLL) supporting applications using native-code APIs (ODBC, OLE DB and ADO) to Microsoft SQL Server. In simple terms these packages should allow any other node to act as a client of a SQL Server instance.
The TinyTDS gem is also installed as this is used in the SQL Server providers for the database and database_user resources (see the database cookbook for more details).
Installs SQL Server 2008 R2 Express or SQL Server 2012 Express.
By default, the cookbook installs SQL Server 2008 R2 Express. There are two options to install a different version.
Option 1: From a role, environment, or wrapper cookbook, set node['sql_server']['version'] to '2008R2' to install SQL Server 2008 R2 Express or '2012' to install SQL Server 2012 Express.
Option 2: From a role, environment, or wrapper cookbook, set these node attributes to specify the URL, checksum, and name of the package (as it appears in the Windows Registry).
node['sql_server']['server']['url'] node['sql_server']['server']['checksum'] node['sql_server']['server']['package_name']
The installation is done using the windows_package resource and ConfigurationFile generated from a template resource. The installation is slightly opinionated and does the following:
Installing any of the SQL Server server or client packages in an unattended/automated way requires you to explicitly indicate that you accept the terms of the end user license. The hooks have been added to all recipes to do this via an attribute. Create a role to set the node['sql_server']['accept_license_terms'] attribute to 'true'. For example:
name "sql_server"
description "SQL Server database master"
run_list(
"recipe[sql_server::server]"
)
default_attributes(
"sql_server" => {
"accept_eula" => true
}
)Out of the box this recipe installs the Express edition of SQL Server 2008 R2. If you would like to install the Standard edition create a role as follows:
name "sql_server_standard"
description "SQL Server Stadard edition database master"
run_list(
"recipe[sql_server::server]"
)
default_attributes(
"sql_server" => {
"instance_name" => "MSSQLSERVER",
"product_key" => "YOUR_PRODUCT_KEY_HERE",
"accept_eula" => true,
"server" => {
"url" => "DOWNLOAD_LOCATION_OF_INSTALLATION_PACKAGE",
"checksum" => "SHA256_OF_INSTALLATION_PACKAGE"
}
}
)Depending on your base Windows installation you may also need to open the configured static port in the Windows Firewall. In the name of security we do not do this by default but the follow code should get the job done:
# unlock port in firewall
# this should leverage firewall_rule resource
# once COOK-689 is completed
firewall_rule_name = "#{node['sql_server']['instance_name']} Static Port"
execute "open-static-port" do
command "netsh advfirewall firewall add rule name=\"#{firewall_rule_name}\" dir=in action=allow protocol=TCP localport=#{node['sql_server']['port']}"
returns [0,1,42] # *sigh* cmd.exe return codes are wonky
not_if { SqlServer::Helper.firewall_rule_enabled?(firewall_rule_name) }
endCopyright:: 2011, Chef Software, Inc.
Licensed 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.
| Back | FazBrowse Home | New Git URL |