Adequate preinstallation planning is a crucial
element in ensuring a successful SQL Server installation. A large
percentage of problems with SQL Server environments can be traced back
to poor installation choices, often performed by those with minimal SQL
Server skills.
In this section,
we'll cover the importance of a preinstallation checklist before looking
at some additional preinstallation tasks, such as the creation of
service accounts and directories.
1. Preinstallation checklist
Creating a
preinstallation checklist is a great way to make sure appropriate
attention is paid to the important elements of an installation. A
checklist is particularly useful in environments where DBAs aren't
involved in the installation of SQL Server. By creating and providing
thorough checklists, you ensure that the chances of a successful
deployment are significantly improved.
Figure 1
shows an example of a preinstallation checklist. The important point
here isn't necessarily the contents of the checklist, but the fact that
you create one and tailor it to the needs of your environment.
2. Service accounts
A SQL Server
installation will create several new Windows services, each of which
requires an account under which it will run. As we'll see shortly, these
accounts are specified during installation, so they need to be created
in advance.
Depending on which features are installed, SQL Server setup creates the following services for each installed instance:
SQL Server
SQL Server Agent
SQL Server Analysis Services
SQL Server Reporting Services
SQL Server Integration Services
Prior to installation, you should create service accounts for each of these services with the following attributes:
Domain accounts—While
you can use local server accounts, domain accounts are a better choice
as they enable the SQL instance to access other SQL Server instances and
domain resources, as long as you grant the necessary privileges.
Nonprivileged accounts—The
service accounts do not, and should not, be members of the domain
administrators or local administrator groups. The installation process
will grant the service accounts the necessary permissions to the file
system and registry as part of the installation. Additional permissions
beyond those required to run SQL Server, such as access to a directory
for data import/export purposes, should be manually granted for maximum
security.
Additional account permissions—Two
recommended account permissions that SQL Server doesn't grant to the
SQL Server service account are Perform Volume Maintenance Tasks,
required for Instant Initialization ,
and Lock Pages in Memory, required for 32-bit AWE-enabled systems and
recommended for 64-bit systems .
Password expiration and complexity—Like
any service account, the service accounts for SQL Server shouldn't have
any password expiration policies in place, and the passwords should be
of adequate complexity and known only to those responsible for service
account administration.
Separate accounts for each service—Each
SQL Server service for each installed instance should be configured
with a separate service account. This allows for the most granular
security.
3. Additional checks and considerations
Before we launch into an installation, let's discuss a number of other important preinstallation checks and considerations:
Collation—Like
Windows, SQL Server uses collations to determine how characters are
sorted and compared. As we'll see shortly, a collation is chosen during
installation, and by default, SQL Server setup will select a collation
to match the server's Windows collation. An inconsistent collation
selection is a common cause of various administration problems, and a
well-considered selection is therefore a crucial installation step. In
almost all cases, you should accept the default collation during
installation; if you choose a custom collation, take into account the
potential collation conflicts when dealing with data from another
instance with a different collation.
Storage configuration—.
Prior to installation, you must ensure partitions are offset
and formatted with a 64K allocation unit size. Further, run SQLIO and
SQLIOSIM to validate storage performance/validity and driver/firmware
versions are up to date. Additional checks include ensuring multipathing
software is installed and working, and consider NIC teaming for maximum
performance and redundancy for iSCSI installations.
Directory creation—One
of the installation steps is to specify locations for the database data
and log files, backup files, and the tempdb data and log files. For
maximum performance, create each of these directories on partitions that
are physically separate from each other—that is, they don't share the
same underlying disks. Directories for these objects should be created
before installation.
Network security—SQL Server should be secured behind a firewall, and unnecessary network protocols such as NetBIOS and SMB should be disabled.
Windows version—SQL
Server 2008 requires at least Windows Server 2003 Service Pack 2 as a
prerequisite for installation; Windows Server 2008 is recommended for
the best performance and security. Further, SQL Server shouldn't be
installed on a primary or backup domain controller; the server should be
dedicated to SQL Server.
Server reboot—SQL Server won't install if there are any pending reboots; therefore, reboot the server prior to installation if appropriate.
WMI—The
Windows Management Instrumentation (WMI) service must be installed and
working properly before SQL Server can be installed. This service is
installed and running by default on both Windows Server 2003 and 2008.
The ideal
underlying operating system for SQL Server is Windows Server 2008. Why?
For starters, the networking stack in Windows 2008 is substantially
faster, so there's an immediate boost in network transfer times. Second,
the Enterprise and Data Center editions of Windows Server 2008 include
Hyper-V, which provides virtualization opportunities for SQL Server
instances. Other improvements over Windows Server 2003 include more
clustering options, NUMA optimizations, and leaner installations that
translate to less maintenance and smaller attack surfaces for better
security.
|
Now that we've
covered the important preinstallation checks and planning, let's walk
through an actual installation of SQL Server 2008.