Whether you choose to adjust
the properties from SQL Server Management Studio's graphical tool or
from code is completely up to you, but not every property is available
from Management Studio using the graphical interface. Although the
graphical interface has the advantages of being easy to use and walks
you through easy-to-understand dialogs that prompt for the possible
options in a pick and choose format, it lacks the repeatability of a
T-SQL script run as a query.
Tip
To view miscellaneous information about the computer system while configuring SQL Server, query the sys.dm_os_sys_info dynamic management view.
New in SQL Server 2012 Configuration
SQL Server 2012 brings many security enhancements for configuration, specifically for service accounts and permissions:
- BUILTIN\administrators and Local System NT (NT Authority\SYSTEM)
are no longer automatically provisioned in the sysadmin fixed server
role on initial install.
- Setup now offers default accounts for SQL Server services whenever possible.
- Support for Managed Service Accounts and Virtual Accounts when installed on Windows 7 or Windows Server 2008 R2.
- Protection of operating services under a per-service SID now extended to all operating systems.
Additionally there are quite a few major changes in regards to SQL Server Setup:
- Datacenter Edition, which was introduced in SQL Server 2008 R2, is
no longer available as a SQL Server 2012 edition. It's functionality
has been replaced by the Enterprise Edition.
- New edition: SQL Server Business Intelligence edition — this
edition delivers business intelligence-centric features such as Data
Quality Services, Integration Services, Master Data Services,
PowerPivot for SharePoint, Power View, StreamInsight Standard Edition.
- Service Pack 1 is the minimum requirement for Windows 7 and Windows Server 2008 R2 operating systems.
- Data Quality Services can now be installed using SQL Server setup.
- Product Update — Integrates the latest product updates with the
main product installation so that the main product and its applicable
updates are installed at the same time.
- Support for installing SQL Server 2012 on Windows Server 2008 R2 Server Core SP1.
- SQL Server Data Tools (formerly called Business Intelligence
Development Studio) — IDE for building solutions for the Business
Intelligence components: Analysis Services, Reporting Services, and
Integration Services.
- Support for mutli-subnet clustering configurations.
- Support for SMB file shares as a storage option.
- Local disk is now a supported storage option for tempdb for SQL Server failover cluster installations.
- Dropped support for Itanium.
1. Configuring the Server
The server-level configuration options
control server-wide settings, such as how SQL Server interacts with
hardware, how it multithreads within Windows, and whether triggers are
permitted to fire other triggers. When configuring the server, keep in
mind the goals of configuration: consistency and performance.
Graphically, many of the server options may be
configured within the Server Properties page, which you can open by
right-clicking a server in the console tree and choosing Properties
from the Context menu. The General tab in Management Studio's SQL
Server Properties dialog box (see Figure 1) reports the versions and environment of the server.
The same information is available to code. For example, the version may be identified with the @@VERSION global variable:
select @@VERSION;
Result:
Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <X64>
(Build 7601: Service Pack 1) (Hypervisor) (Build 7601: Service Pack 1)
The first line of the preceding result has the
product version of SQL Server. In this example, the SQL Server product
version is 11.0.2100.60. The last line of the result can be confusing.
The last line reports the edition of SQL Server. In this example, it is
SQL Server 2012 Developer Edition. However the service pack reported in
the last line is the Windows service pack level and not SQL Server
service pack level. In this example, it is SP1 for Windows Server 2008
R2. That is one of the reasons why not to use the SELECT @@VERSION command. Instead you can use the SERVERPROPERTY
system function to determine the information. The advantage of this
method is that you can use the function as an expression within a SELECT statement. The following example uses the SERVERPROPERTY function to return the SQL Server product version, product level, and edition.
SELECT
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition;
Result:
ProductVersion ProductLevel Edition
-------------- ------------ --------
11.0.2100.60 RTM Developer Edition (64-bit)
In the preceding result, the ProductVersion indicates the SQL Server product version number. The ProductLevel
indicates the SQL Server product level. If a SQL Server service pack is
installed, the product level also indicates the service pack level. For
example, if you run the previous command against your SQL Server 2005
SP3 instance, the ProductLevel returns SP3. The Edition indicates the SQL Server edition.
Note
Many of the configuration properties do
not take effect until SQL Server is restarted. For this reason, the
General tab in the SQL Server Properties (Configure) dialog box
displays the current running values.
Within code, many of the server properties are set by means of the sp_configure
system stored procedure. When executed without any parameters, this
procedure reports the current settings, as in the following code (with
word-wrap adjusted to fit on the page):
EXEC sp_configure;
Result:
name minimum maximum config_value run_value
--------------------------- ----------- ----------- ------------
allow updates 0 1 0 0
backup compression default 0 1 0 0
clr enabled 0 1 0 0
cross db ownership chaining 0 1 0 0
default language 0 9999 0 0
FILESTREAM access level 0 2 2 2
max text repl size (B) -1 2147483647 65536 65536
nested triggers 0 1 1 1
remote access 0 1 1 1
remote admin connections 0 1 0 0
remote login timeout (s) 0 2147483647 20 20
remote proc trans 0 1 0 0
remote query timeout (s) 0 2147483647 600 600
server trigger recursion 0 1 1 1
show advanced options 0 1 0 0
user options 0 32767 0 0
Note
You can always discover the minimum and maximum values for a particular configuration option by running the sp_configure command with the option, but without any value. For example, run:
EXEC sp_configure ‘remote login timeout’;
and you discover that the remote login timeout configuration option can have any value in the range of 0 to 2,147,483,647.
The extended stored procedure, xp_msver, reports additional server and environment properties:
EXEC xp_msver;
Result:
Index Name Internal_Value Character_Value
1 ProductName NULL Microsoft SQL Server
2 ProductVersion 655360 11.0.2100.6
3 Language 1033 English (United States)
4 Platform NULL NT INTEL X64
5 Comments NULL SQL
6 CompanyName NULL Microsoft Corporation
7 FileDescription NULL SQL Server Windows NT
8 FileVersion NULL 2011.0110.2100.060
((SQL11_RTM).120210-1917)
9 InternalName NULL SQLSERVR
10 LegalCopyright NULL Microsoft Corp. All
rights reserved.
11 LegalTrademarks NULL Microsoft SQL Server is a
registered trademark of
Microsoft Corporation.
12 OriginalFilename NULL SQLSERVR.EXE
13 PrivateBuild NULL NULL
14 SpecialBuild 116588544 NULL
15 WindowsVersion 393281542 6.1 (7601)
16 ProcessorCount 1 1
17 ProcessorActiveMask 1 00000001
18 ProcessorType 586 PROCESSOR_INTEL_PENTIUM
19 PhysicalMemory 2046 2046 (2145845248)
20 Product ID NULL NULL
Note
The information returned by sp_configure is settable, but the information returned by xp_msver is not.