You'll find an embarrassment of riches when it comes to SQL Server 2005's high availability options. Choosing the right option really depends on your organization's needs.
To jumpstart your decision process, let's get an overview of what SQL Server
4. Windows Server Clustering
Microsoft's primary high availability technology for SQL Server 2005, Windows
Server Clustering, provides automatic failover in the event of SQL Server system
failure. Clustering protects the entire server, including the OS, system databases,
systems configuration, and logins. With clustering, multiple systems are grouped
or clustered together. If one system in the cluster fails, then its workload
is automatically transferred to another system, or node, in the cluster. Both
SQL Server 2005 Standard Edition and Enterprise Edition support Windows Server
Clustering: Standard Edition supports two nodes while Enterprise Edition supports
up to eight nodes. On the OS side, Windows Server 2003 Enterprise Edition and
Datacenter Edition both support clustering.
3. Database Mirroring
Another high availability option is database mirroring, which provides database-level
protection, although only the database itself is protected, not system databases.
With database mirroring, transactions applied to one database on the principal
server are automatically transferred to a backup database on the secondary server.
The backup database on the secondary server can't be used and is in a state
of constant recovery until it's made primary by either a failover condition
or manual configuration. Database mirroring runs in either high availability
mode, which utilizes a third witness server to determine when database failover
is required, or high protection mode. All versions of Windows Server support
database mirroring, as do SQL Server 2005 Standard and Enterprise editions.
2. Log Shipping
2SQL Server's other availability technology is log shipping. Although clustering
and database mirroring both provide automatic failover capabilities, log shipping
does not, which puts log shipping more in the area of disaster recovery technology.
With log shipping, a stored procedure periodically forwards transaction logs from
one SQL Server system to one or more backup servers. Log shipping is supported
in all versions of the Windows Server OS and is also supported by SQL Server 2005
Standard, Enterprise, and Workgroup Editions.
Although replication can be used to transfer data between multiple SQL Server
systems for distributed systems and reporting, it's not well suited for ensuring
high availability, though some organizations do use it that way. Microsoft views
replication as a distributed data solution that transmits selected data between
systems—it has neither built-in failover mechanisms nor any built-in
failback capability. To use replication as a high availability technology, you
would need to either manually or programmatically add your own failover/failback