What Is New in SQL Server 2005
What Is New in SQL Server 2005
On This Page
Enterprise Data Management
Developer Productivity
Business Intelligence
Next Steps
• Scalability
• Security
Manageability
SQL Server 2005 makes it simpler and easier to deploy, manage, and optimize enterprise data and analytical applications. As
an enterprise data management platform, it provides a single management console that enables data administrators
anywhere in your organization to monitor, manage, and tune all of the databases and associated services across your
enterprise. It provides an extensible management infrastructure that can be easily programmed using SQL Management
Objects, enabling users to customize and extend their management environment and independent software vendors (ISVs)
to build additional tools and functionality to further extend the capabilities that come out of the box.
Availability
Investments in high-availability technologies, additional backup and restore capabilities, and replication enhancements will
enable enterprises to build and deploy highly available applications. Innovative high-availability features such as database
mirroring, failover clustering, database snapshots, and enhanced online operations will minimize downtime and help to
ensure that critical enterprise systems remain accessible. This section reviews these enhancements in greater detail.
Database Mirroring
Database mirroring allows continuous streaming of the transaction log from a source server to a single destination server. In
the event of a failure of the primary system, applications can immediately reconnect to the database on the secondary
server. The secondary instance detects failure of the primary server within seconds and accepts database connections
immediately. Database mirroring works on standard server hardware and requires no special storage or controllers. Figure 1
shows the basic configuration of database mirroring.
Failover Clustering
Failover clustering is a high-availability solution that exploits Microsoft Windows Clustering Services to create fault-tolerant
virtual servers that provide fast failover in the event of a database server failure. In SQL Server 2005, support for failover
clustering has been extended to SQL Server Analysis Services, Notification Services, and SQL Server replication. The
maximum number of cluster nodes has been increased to eight. SQL Server failover clustering is now a complete fault-
tolerant server solution.
Database Snapshots
SQL Server 2005 introduces the ability for database administrators to create instant, read-only views of a database. This
database snapshot provides a stable view without the time or storage overhead of creating a complete copy of the database.
As the primary database diverges from the snapshot, the snapshot adds its own copy of pages as they are modified. As a
result, the snapshot may be used to quickly recover from an accidental change to a database by simply reapplying the
original pages from the snapshot to the primary database.
Fast Recovery
SQL Server 2005 improves the availability of SQL Server databases with a new and faster recovery option. Users can
reconnect to a recovering database after the transaction log has been rolled forward. Earlier versions of SQL Server required
users to wait until incomplete transactions had rolled back, even if the users did not need to access the affected parts of the
database.
Replication
Replication is designed to increase data availability by distributing the data across multiple database servers. Availability is
increased by allowing applications to scale out the SQL Server read workload across databases. SQL Server 2005 offers
enhanced replication using a new peer-to-peer model that provides a new topology in which databases can be synchronized
transactionally with any identical peer database.
Scalability
Scalability advancements such as table partitioning, snapshot isolation, and 64-bit support will enable you to build and
deploy your most demanding applications using SQL Server 2005. The partitioning of large tables and indexes significantly
enhances query performance against very large databases.
Snapshot Isolation
After data is copied, transformed, and archived to an analysis-oriented database, it must be maintained and/or rebuilt
periodically. Users certainly benefit from looking at a transactionally consistent version of the database; however, the version
of the data that they are viewing is no longer current. It can take many hours to build and index the data and that might not
be what the user really needs. This is where snapshot isolation is helpful. The snapshot isolation level allows users to access
the last row that was committed by using a transactionally consistent view of the database. This new isolation level provides
the following benefits:
Replication Monitor
Replication Monitor is a tool that sets a new standard for ease of use in managing complex data replication operations with
its intuitive user interface and wealth of data metrics.
Security
SQL Server 2005 makes significant enhancements to the security model of the database platform, with the intention of
providing more precise and flexible control to enable tighter security of the data. A considerable investment has been made
in a number of features to provide a high level of security for your enterprise data including the following:
• Enforcing policies for SQL Server login passwords in the authentication space.
Providing for more granularity in terms of specifying permissions at various scopes in the authorization
•
space.
• Allowing for the separation of owners and schemas in the security management space.
Authorization
A new security model in SQL Server 2005 allows administrators to manage permissions at a granular level and at a
designated scope, making management of permissions easier as well as ensuring that the principle of least privileges is
upheld. SQL Server 2005 lets you specify a context under which statements in a module execute. This feature also acts as an
excellent mechanism for granular permission management.
Authentication
SQL Server 2005 clustering supports Kerberos authentication against a SQL Server 2005 virtual server. Administrators can
specify Microsoft Windows-style policies on standard logins so that a consistent policy is applied across all accounts in the
domain.
Native Encryption
SQL Server 2005 supports encryption capabilities within the database itself, fully integrated with a key management
infrastructure. By default, client/server communications are encrypted. To centralize security assurance, server policy can be
defined to reject unencrypted communications.
Transact-SQL Enhancements
Transact-SQL has long been the basis for all SQL Server programmability. SQL Server 2005 provides many new language
capabilities for developing scalable database applications. These enhancements include error handling, new recursive query
capabilities, and support for new SQL Server Database Engine capabilities. Transact-SQL enhancements in SQL Server 2005
increase your expressive powers in query writing, allowing you to improve the performance of your code and extend your
error management capabilities. The continuous effort that is being put into enhancing Transact-SQL shows a firm belief in its
significant role in SQL Server.
Extensibility
User-Defined Types and Aggregates
User-defined types in SQL Server 2005 are not an object relational extensibility mechanism. They are a way to extend the
scalar type system of the database. The scalar type system includes the columnar types that ship with SQL Server (types
such as int, nvarchar, uniqueidentifier, and so on). With user-defined types, you can define your own type that can be used
for column definitions, for example. Create a user-defined type if your type really is an atomic value that is appropriate to be
modeled as a column.
Use user-defined types if you need to define your own scalar type. Example scenarios for such types include custom
date/time data types in various calendars, and currency data types. With user-defined types, you can create a single object
that exposes all the behaviors that are available on the type, and encapsulate, or hide, the underlying data that is stored by
the type. Everyone that needs to access the data has to use the user-defined type programmatic interface. Taking advantage
of existing functionality in the .NET Framework (such as the internationalization or calendar functionality) is another strong
reason to consider implementing your type as a user-defined type.
In a number of scenarios, you may need to perform aggregations over data. This includes performing statistical calculations,
such as avg, stddev, and so on. If the desired aggregation function is not directly supported as a built-in aggregate function,
you have three ways to perform a custom aggregation in SQL Server 2005:
Write the aggregation as a user-defined
•
aggregate.
• Write the aggregate using a CLR stored procedure.
Query Notification
SQL Server 2005 introduces notification support for SQL Server queries. You can use this support to send a command to SQL
Server and to request that a notification be generated if executing the same command again produces different results from
those obtained initially. You accomplish this by using a dependency object that detects when the underlying data is changed.
Commands that are sent to the server through any of the client APIs such as ADO.NET, OLE DB, Open Database Connectivity
(ODBC), Microsoft ActiveX Data Objects (ADO), or Simple Object Access Protocol (SOAP) may include a tag that requires a
notification. For each statement that is executed as part of the request, the server creates a notification subscription that
fires once for each statement that is included in the request. Notifications are delivered through a SQL Service Broker queue
that applications can poll, and use activation services or blocking statements that return whenever the notifications are
available. Query notifications are useful for enabling the caching of results in applications such as database-driven Web sites.
Figure 3 shows the query notification process.
MARS
Multiple Active Result Sets (MARS) provides the means to have more than one pending request per connection, in particular
to have more than one default result set open per connection. Default result sets are forward-only, read-only result sets. For
default result sets, the client drivers transparently retrieve the data in large chunks (Tabular Data Stream buffer-sized
chunks) so that application requests are satisfied without a round trip to the server (as in the case of server cursors). The
application can use a simple row-at-a-time programming model without compromising performance. The MARS feature
removes the current restriction in which an open default result set blocks the driver from sending requests to the server until
the entire result set is consumed.
• You can share parameterized query code with SQL Server syntax.
SQL Server Express
More than ever, developers are making the most of relational databases to provide a rich end-user experience. Protecting
and managing information inside these applications is critical. Microsoft SQL Server Express helps developers build robust
and reliable applications by providing a free, easy-to-use, and robust database. Too often, database systems are overly
complex for building simple applications. Microsoft Visual Studio 2005 and SQL Server Express reduce this complexity by
providing a simple but powerful development environment for building data-driven applications. Developers can design
schemas, add data, and query local databases, all inside the Visual Studio 2005 environment. If developers need more
advanced database features, then SQL Server Express can be seamlessly upgraded to more sophisticated versions of SQL
Server. Figure 5 shows the Query Editor interface in SQL Server Express Manager.
Figure 5: The Query Editor in SQL Server Express Manager
A new graphical user interface tool called SQL Server Express Manager (XM) is freely available as a separate Web download.
XM allows easy database management and query analysis capabilities, has a small download size, and will be freely
redistributable. XM supports connections to SQL Server Express and other SQL Server 2005 editions, SQL Server 2000, and
MSDE 2000. A simplified connection dialog box guides the user through the selection of the instance and the authentication
methods to be used. Both local and remote connections are possible using XM. Object Explorer enumerates and displays the
common objects used, such as the instance, tables, stored process, and so on, in a hierarchical manner and helps the user
visualize access to the database.
All database management functionalities are available by invoking the right-click context menu from Object Explorer. Some
of the database management options to be exposed include creating and modifying databases, tables, logins, and users.
Many of these common database operations are available as task wizards that guide the user through the process, while
many others are available as tabbed window documents. For instance, XM provides a New/Edit Database document for
creating new databases and editing existing databases.
Many database users prefer to manage their servers using Transact-SQL, because this approach offers finer-grained control
than using the graphical user interface. The Query Editor in XM lets users develop and execute Transact-SQL statements and
scripts. The Query Editor has rich features such as keyword color-coding and a results pane that returns results in a data
grid. Error messages, if any, are also shown in the results pane.
Top of page
Business Intelligence
SQL Server 2005 furthers Microsoft leadership in the area of business intelligence (BI) through innovations in scalability, data
integration, development tools, and rich analytics. SQL Server 2005 enables scalable BI by putting critical, timely information
in the hands of employees across your organization. From the CEO to the information worker, employees will be able to
quickly and easily harness data to make better decisions faster. The comprehensive integration, analysis, and reporting
capabilities of SQL Server 2005 enable companies to extend the value of their existing applications, regardless of the
underlying platform. BI features include enhancements in the following areas:
• Integration Services
• Analysis Services
• Reporting Services
Integration Services
SQL Server 2005 includes a redesigned enterprise data extraction, transformation, and loading (ETL) platform, called SQL
Server Integration Services (SSIS). SSIS enables organizations to more easily integrate and analyze data from multiple
heterogeneous information sources. By analyzing data across an array of operational systems, organizations may gain a
competitive edge through a holistic understanding of their business.
• Data mining and text mining can be done in the data flow.
Data mining and analytics are brought to the data flow for data quality and data
•
cleansing.
Analysis Services
With SQL Server 2005, Analysis Services provides, for the first time, a unified and integrated view of all your business data
as the foundation for your traditional reporting, online analytical processing (OLAP) analysis, and data mining.
Data Mining
SQL Server 2005 Data Mining is the BI technology that helps you build complex analytical models, and integrate those
models with your business operations. Analysis Services establishes new ground for data mining. By creating an easy-to-use,
extensible, accessible, and flexible platform, Analysis Services data mining capabilities introduce data mining to organizations
that previously would never have considered a data mining solution.
Through an enterprise-class architecture, a deep integration with the SQL Server family of BI tools, and a rich set of other
tools, APIs, and algorithms, SQL Server enables the creation of a new breed of intelligent applications that enhance
productivity, increase profits, and reduce costs by providing customized data-driven solutions to a broad range of business
problems.
Reporting Services
Reporting Services extends the Microsoft BI platform to reach the information worker who needs access to business data.
Reporting Services is a server-based enterprise reporting environment, managed through Web services. Reports can be
delivered in a variety of formats, with a range of interactivity and printing options. Complex analyses can reach a broad
audience through the distribution of reports as a data source for downstream BI.
As an integrated component of SQL Server 2005, Reporting Services provides the following:
Report Builder
Report Builder, a new component of SQL Server 2005 Reporting Services, allows business users to create their own reports
using a user-friendly model of their data. Report Builder takes advantage of the Reporting Services platform to bring ad hoc
reporting to all end users. Users create and edit reports with the Report Builder client application. The Report Builder user
interface is built on top of familiar Microsoft Office paradigms such as Microsoft Excel and Microsoft PowerPoint. Figure 6
shows a sample Report Builder report.
• Upgrade to SQL Server 2005 from SQL Server 7.0 or SQL Server 2000.
• Run Upgrade Advisor before upgrading to determine if any product changes are expected to break existing applications.
• The SQL Server Database Engine, Analysis Services, and Reporting Services can be upgraded by the setup program.
SQL Server Integration Services, the replacement for Data Transformation Services (DTS), is installed side by side with
•
DTS. You can run DTS packages using the DTS runtime components.
SQL Server 2005 Notification Services is installed side by side with Notification Services 2.0. You must migrate instances
•
of Notification Services to SQL Server 2005 when you upgrade the SQL Server Database Engine.
Use the Surface Area Configuration tool after upgrading to enable or disable SQL Server 2005 services, network protocols,
•
and features.
Express Free Fastest way to learn, build, and 1 CPU 4 GB database size
deploy simple data-driven 1 gigabyte (GB) Simple Reporting
applications. RAM Replication and SSB Client
4 GB database size
Workgroup $3,900 per Most affordable and easiest-to-use 1 or 2 CPUs Management Studio
processor database solution for smaller 3 GB RAM Import/Export
$739 (server + departments and growing Limited Replication Publishing
5 users) businesses. Clustering
Back-up Log Shipping
Standard $6,000 per Complete data management and 1 to 4 CPUs Database Mirroring
processor analysis platform for medium Unlimited RAM Basic ETL
$2,799 (server businesses and larger departments. Standard OLAP Server with Analysis
+ 10 users) Services
Standard Reporting with Reporting
Services
Data Mining
Full Replication and SSB Publishing
Available in native 32- and 64-bit
editions
Supports Itanium 2 and x64
Enterprise $25,000 per Fully integrated data management Unlimited Scale Advanced database mirroring,
processor and analysis platform for business- and Partitioning complete online and parallel
$13,500 (server critical enterprise applications. operations, and database snapshot
+ 25 users) Advanced analysis tools including full
OLAP and data mining
Pricing and Licensing
Edition Pricing Benefit Size Key Features