Upgrading a 6.5-Terabyte SAP ERP SQL Server Database to Support Microsoft Worldwide Operations
Business Case Study
Published: April 2009
The following content may no longer reflect Microsoft’s current position or infrastructure. This content should be viewed as reference documentation only, to inform IT business decisions within your own company or organization.
Microsoft runs its worldwide operations on SAP ERP. With 92,000 employees and operations in 89 countries, the largest software company in the world has plenty of data to track, running some 19 million SAP transactions a month against its 6.5-terabyte database. The company was happy with how well its SAP deployment was hosted by Microsoft SQL Server 2005 running on Microsoft Windows Server 2003 Enterprise Edition, but it upgraded to the beta edition of Microsoft SQL Server 2008 to take advantage of new features, including Data Compression, Backup Compression, and some enhancements to existing features like Database Mirroring. Microsoft found it easy to upgrade to the new version of SQL Server, requiring extremely short downtime and no need to manually synchronize the disaster recovery site. The solution provides enterprise-grade stability and performance, even in its beta release.
Business Case Study, 198 KB, Microsoft Word file
Based in Redmond, Washington, Microsoft is the worldwide leader in software, services, and Internet technologies for personal and business computing.
Microsoft's SAP group wanted to take advantage of new features in Microsoft SQL Server 2008, including Data Compression, Backup Compression, and Change Tracking.
Microsoft upgraded its SAP ERP infrastructure to the beta edition of Microsoft SQL Server 2008.
Microsoft has relied on SAP ERP software to run its financial operations since 1996 when it first deployed the solution on Microsoft SQL Server 6.5. Since then Microsoft's SAP ERP deployment, which now has a 6.5-terabyte backend database, has grown to join the top 5 percent of the largest SAP ERP deployments worldwide.
With 92,000 employees, operations in 89 countries, and 2007 revenues exceeding U.S.$51 billion, Microsoft has plenty of financial and operational data to track. The company's SAP ERP system handles Microsoft's treasury, worldwide sales, worldwide finance, worldwide human resources, worldwide operations, material management, U.S. payroll, and other mission-critical functions.
The company was happy with how its SAP ERP deployment was running on Microsoft SQL Server 2005 Enterprise Edition and the Windows Server 2003 Enterprise Edition operating system. SQL Server 2005 had provided excellent performance and rock-solid stability for the company's worldwide SAP-based operations.
SAP ERP performance at Microsoft includes:
- Over 1,300,000 dialog steps per business day
- 19 million transactions per month
- An average user response time of less than 0.7 seconds
As the SAP team members looked at the beta edition of SQL Server 2008 they saw features that they wanted to benefit from immediately, including database and backup compression technology and improvements in SQL Server Database Mirroring technologies.
But with so many of the company's mission-critical worldwide systems directly or indirectly dependent upon SAP ERP, the upgrade would need to be seamless, and performance and stability would need to be at least as good as the group had enjoyed with SQL Server 2005. In short, SQL Server 2008 needed to be enterprise grade—even in beta release.
"SAP ERP serves as the financial backbone of Microsoft," says Hans Reutter, Principal OE System Manager at Microsoft. "This means that we don't upgrade our database and other infrastructure without having complete confidence that it is enterprise ready."
In February 2008, Microsoft upgraded its SAP ERP environment to the beta edition of SQL Server 2008 Enterprise running on the Windows Server 2003 Enterprise Edition operating system. The SAP deployment has a three-tier architecture that includes:
Presentation Tier. The presentation tier includes a fat client, the SAP graphical user interface, which is used by some 2,000 heavy users of the SAP environment. The rest of Microsoft's worldwide employees access SAP through a Web browser, with access handled by 4 load-balanced servers running the Windows Server 2003 Enterprise Edition operating system and Internet Information Services (IIS). Authentication is handled through the Active Directory service. The presentation tier hosts a number of custom applications created using the Microsoft Visual Studio 2005 development system and the ASP.NET feature of the Microsoft .NET Framework version 2.0. Applications cover a range of functions that in turn access the SAP ERP system.
Application Tier. The application tier includes 12 load-balanced SAP application servers running Windows Server 2003 Enterprise Edition. The SAP applications are hosted on two HP DL380-G5 two-socket quad-core computers with 16 gigabytes (GB) of RAM (SAP Central Instance), and on HP DL585 four-socket dual-core AMD Opteron-based x64 servers with 48 GB of RAM as well as HP DL580-G5 four-socket dual-core Intel based x64 servers with 48 GB of RAM.
Database Tier. The 6.5-terabyte SAP ERP database is hosted on the beta edition of SQL Server 2008 Enterprise, running on Windows Server 2003 Enterprise Edition. The database grows by about 200 GB a month. The full database is hosted on a single HP DL585-G5 server with 4-socket quad-core processors and 68 GB of RAM. It is connected using fiber optics to an EMC CX3-80 SAN disk storage array. To help ensure high availability, the database is setup with SQL Server 2008 synchronous database mirroring with automatic failover enabled. The second database server and storage is an exact copy of the primary server and storage to allow a failover without any performance impact.
The SAP deployment takes advantage of features new for SQL Server 2008, including:
- Data Compression. SQL Server 2008 helps the group store more data on its hard drives. That same feature also reduces the number of disk reads the databases must perform—which can degrade performance—by incorporating more data into system memory.
- Backup Compression. With SQL Server 2008 Backup Compression, the compression is performed in memory before the data is transferred to disk. Backups run significantly faster since less disk I/O is required. Backup compression reduces the storage required to keep backups online, reducing the overall cost of keeping disk-based backups.
- Enhanced Auditing. SQL Server 2008 includes enhanced auditing, providing new methods for auditing database access by users or groups. The ability to track database activities by user helps organizations meet compliance regulations.
- Resource Governor. SQL Server 2008 enables organizations to provide a consistent and predictable response to end users with the introduction of Resource Governor. Organizations can use Resource Governor to define resource limits and priorities between SAP initiated workload and administration workloads (for example, assigning a lower priority to backups) and to help ensure resources can't be unduly impacted other unusual workloads.
- Enhanced Database Mirroring. First deployed as part of SQL Server 2005, Database Mirroring helps ensure high availability by extending log shipping capabilities to transfer transaction log records directly from one server to another to support failover to the standby server. Database Mirroring has been enhanced for SQL Server 2008, adding support for compression and self-healing.
- Enhanced Autogrowth and Lock Management. The group found value in several other improvements to SQL Server 2008, including enhanced Autogrowth, which greatly reduces monitoring and administration efforts; and enhanced lock management which enables finer granular control on locking behavior.
Upgrading to SQL Server 2008 Enterprise gave Microsoft the data compression it needed to support better resource utilization and to reduce the size of backup storage required for its 6.5-terabyte SAP ERP database. The Microsoft SAP group plans to use the enhanced auditing feature of SQL Server 2008 to capture access information required for compliance reasons, while enjoying improved high availability with Database Mirroring, and reduced downtime needs with Online Indexing.
Better Resource Utilization with Data Compression
The Data Compression feature of SQL Server 2008 is designed to work transparently with SAP ERP to reduce storage requirements and increase query performance. SQL Server 2008 provides row-level and page-level compression, fully supported by SAP for all SAP products, offering the benefits of reducing the database footprint on storage, with the possibility of keeping performance on the same level or better.
The Microsoft SAP basis team has already deployed row-level compression in their SAP ERP, finding the data volume reduced by a good portion, and is planning to implement page-level compression for some tables of its SAP ERP database, and for its SAP BI database.
"Compression at the row levels reduces the amount of data space required on our ERP deployment by about 25 percent, without having any detectable impact on system performance," says Elke Bregler, Senior Technologist, SAP Production Support Team at Microsoft. "With page-level compression we will see a slightly higher CPU consumption on the database server, but considerably more compression."
The group has found that using SQL Server 2008 Data Compression can enhance resource utilization because data remains compressed while in memory, reducing the I/O volume and bandwidth requirements.
"SQL Server Data Compression could help alleviate demands on systems slowed by I/O constraints," Bregler says, "With row-level and page-level compression supported by SQL Server 2008 and SAP ERP you can reduce memory loads and provide relief for databases constricted by I/O capacity."
More Efficient Storage with Backup Compression
The Microsoft SAP group was eager to take advantage of the Backup Compression feature of SQL Server 2008 to reduce total storage needs when backing up its multi-terabyte SAP ERP database.
"Backup Compression is very important to us because we have a 6.5-terabyte database that grows by 200 GB per month," says Bregler. "Whenever you are making multiple copies of a multi-terabyte database you consume valuable storage space. By allowing database administrators to compress their backup files, SQL Server 2008 frees up some of this space, so it can be used for live data."
The Microsoft SAP group has seen about 4-to-1 compression. "Our 6.5-terabyte SAP database is reduced to about 1.5 terabytes using SQL Server 2008 Backup Compression," says Bregler. "This means we pay less money to our corporate backup department, and it also reduces the time required to copy data out to backup, or to restore from a backup."
The ability to use Backup Compression for transaction logs has reduced the size of update files the team sends to its disaster recovery site. "We like to send data across every minute," Bregler says. "Without compression you could get to the point where it took longer than a minute to copy the transaction log data to the disaster recovery site. Compressing the transaction logs reduces concerns of log shipping falling behind."
Improved Data Integrity with Auditing
The Microsoft SAP group is planning on using the Change Tracking feature of SQL Server 2008 to help ensure data integrity and to provide additional support for system audits. When Change Tracking is turned on, inserts, updates, deletions, and other changes are automatically recorded and can be queried against or used to trigger notifications.
Administrators can track changes against an entire database or table, or use Change Tracking to monitor events for specified rows, or to see how and when columns in a source table have been updated.
"Change Tracking is an efficient tool that enables an organization to track exactly what is happening with data at whatever level of granularity is required," Bregler says. "It's easy to use. But in the SAP environment we are only planning to track non-SAP access to the database, since all SAP access is already controlled by the application layer."
Improved Availability with Database Mirroring
Database Mirroring worked so well for the SAP ERP database when hosted on SQL Server 2005 that the Microsoft SAP group was quick to deploy the enhanced version of the feature after migrating to SQL Server 2008.
In Database Mirroring, an originating SQL Server instance continuously sends a database's transaction information to a copy of the database on another standby SQL Server instance. The originating database and server have the role of principal, and the receiving database and server have the role of mirror. As the principal server writes the principal database's log buffer to disk, it simultaneously sends that block of log records to the mirror instance.
Developers can code applications to automatically redirect their connection information, and in the event of a failover, automatically connect to the standby server and database. This automated failover process enables the mirrored database to become the principal database with no loss of committed data. The same process can be used to bring a replacement server online to restore the principal-mirror configuration.
Although Database Mirroring is often thought of in terms of disaster recovery, Reutter says it also helps minimize scheduled downtime when applying software updates and performing other maintenance. "We enjoy 99.99 percent platform availability for our ERP database," says Reutter. "This figure doesn't include application downtime due to applying SAP software updates and it doesn't include disaster recovery exercises we carry out. But it does include downtime due to software upgrades to Windows Server and SQL Server. One reason we can achieve 99.99 percent uptime, even when counting scheduled platform downtime, is because we use SQL Server 2008 Database Mirroring."
When applying a software update, the SAP group simply takes the mirrored copy of the SAP ERP database offline, applies software updates, and then brings it back online. Then they failover to the mirror and thus promote it to become the new primary, and then apply the software updates to the new mirror server, and bring that back online to restore the mirrored pair.
"Fortunately, we just don't see catastrophic hardware failures much," says Reutter. "You certainly need to have something like Database Mirroring to protect against the catastrophes, no matter how rare they could be. But the big value we see from Database Mirroring in our day-to-day operations is that scheduled downtimes that used to require 15 minutes to hours are no longer needed. We just use Database Mirroring, and failing over from one server to the next is accomplished in a matter of seconds, with no data lost, and no perceivable downtime."
Reduced Downtime with Online Indexing
Reutter notes that Online Indexing, introduced with SQL Server 2005, has also reduced the need for scheduled downtime, as it gives database administrators the ability to create, rebuild, or drop an index online. The online index option allows concurrent modifications (insert/update/delete) to the underlying table or clustered index data and any associated indexes during index data definition language execution.
"The online indexing feature allows us to create indexes or reorganize data stored in SQL Server, without taking the system offline," says Bregler. "This is crucial for maintaining high availability and uptime with a system that's as mission-critical as SAP ERP. "We are able to create new indexes against large and frequently used tables like EDI [Electronic Data Interchange] tables during online operation, which is a really great benefit."
Workload Optimization with Resource Governor
The Microsoft SAP group is planning on deploying the SQL Server 2008 Resource Governor feature to ensure that resources are optimally used on the 16-processor server hosting the 6.5-terabyte SAP ERP database.
Resource Governor will enable the team to define the amounts of resources that individual workloads are allowed to use during execution. "We could use Resource Governor to regulate resources available for backups," says Bregler. "We may want to restrict backups to 10 percent of resources. Or if we wanted to increase the rate of backups, we could increase available resources. Resource Governor is a powerful tool for ensuring that key workloads always have the resources required to get the job done."
Microsoft gained the data compression, backup compression, integrity of change tracking, and other benefits it sought by upgrading its 6.5-terabyte SAP ERP database to SQL Server 2008 Enterprise running on Windows Server 2003 Enterprise Edition. The combination of Database Mirroring and Online Indexing has reduced the need for scheduled downtime, helping the group to enjoy 99.99 percent uptime for its platform.
For More Information
For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:
© 2009 Microsoft Corporation. All rights reserved.
Microsoft, SQL Server, Visual Studio, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.