Running SQL Server on a 64-bit platform for quite some time has been an option to improve database performance and scalability, although configuration options are limited and not without problems. For example, SQL Server 2000 can only run on expensive Itanium series processors, and SQL Server's client tools are incompatible with 64-bit platforms. SQL Server 2005, on the other hand, offers new options to take advantage of the powerful capabilities of the 64-bit architecture, and does not in the past cause people to have less than 64-bit problems.
Why should a company using SQL Server switch to a 64-bit architecture?
The most important answer to this question is that the 64-bit platform greatly improves memory access compared to 32-bit systems. The 32-bit system can access up to 4GB of memory locally. 32-bit SQL Server systems have access to up to 64GB of memory after using Address window extensions (AWE) and related technologies, but address virtualization brings overhead: AWE needs to create virtual "windows" to access higher memory. Every request to access high-end memory must be done through this window, much more expensive than requesting access to local memory. Thus, in high usage situations, the ability to access larger memory actually hinders rather than contributes to performance. In addition, AWE memory is used only by SQL Server for buffer caching, not for process caching, and does not help optimize servers that utilize many ad hoc queries (Ad-hoc query). AWE memory is also not used to help in-memory sorting, hashing joins (hash joins), or other data-intensive operations.
Today's 64-bit systems can access up to 512GB of memory locally. This means that performance is not affected by the address window, and that additional memory can be used by any SQL Server cache, not just buffer caching. This ability to increase memory directly improves performance in many cases. Because more data is stored in the cache, it is bound to reduce disk I/O operations. You'll also notice the performance improvement of queries using intermediate sorting, hash joins, or pointers. All of these are evaluated faster in memory than on disk.
Why is the 64-bit slow to use?
One could not help thinking: since the benefits are so significant, why has the adoption of 64-bit SQL serve so far seemed slow? The 64-bit option for SQL Server 2000 is limited because the only 64-bit configuration that SQL Server 2000 supports is the Itanium server running on Windows Server 2003. No SQL Server 2000 client tool can run on a 64-bit server, including Enterprise Manager, Query Analyzer, and SQL Profiler. Even Data Transformation Services (DTS) packages cannot be run on 64-bit servers, which means DTS cannot take full advantage of 64-bit stronger functionality.
What are the advantages of the SQL Server 2005 64-bit architecture?
SQL Server 2005 brings the benefits of a 64-bit architecture to the enterprise, compared with a lower price and more functional than ever before. Most importantly, SQL Server 2005 support can be installed on both Itanium and a much cheaper x64 server platform. So, in addition to cost savings, database administrators can now use Intel processors or AMD processors.
SQL Server 2005 client tools are fully compatible with 64-bit servers, and all SQL Server support services can be used with SQL Server 20,051 in a 64-bit configuration environment, including Analysis Services, SQL Server Integration Services, Reporting Services, and Notification Services. All of these services can take advantage of the ability to access more memory, helping to improve the performance of installed SQL Server and meet business integration requirements.
What kind of installation environment should be upgraded to 64-bit?
There are two main markets for upgrades: A 32-bit Single-server installation environment that needs to be scaled up, and a 32-bit multiple-server installation environment that needs to be merged. Each of these scenarios has obvious advantages.
Indicates that the most obvious indication that a Single-server installation configuration might belong to the up-scaling category is deep query disk activity, lower buffer cache hit ratio, and shorter page life cycles. All of these problems can be evaluated using performance counters, which can be addressed by 64-bit systems that have access to more memory.
On the other hand, it is difficult to determine whether a multiple server installation environment is ideal for merging. Careful testing should be conducted to assess the total amount of memory required for all databases, whether the processor can handle concurrent queries for all databases, and whether the disk system can handle greater pressure from simultaneous reading and writing. Making this decision is much more difficult than upgrading a single server, but in terms of overall ease of management, there is a huge payoff.
Switching to 64-bit will have a significant impact on SQL Server performance and scalability. The options provided by SQL Server 2005 make it much more reasonable to upgrade from 32 bits. If you invest new hardware in a new database management system (DBMS), you should investigate and analyze 64-bit options, especially those based on lower-priced x64 bit processors.
Do I want to keep all the XML data in SQL Server 2005 with the new XML data type?
XML resembles a CLR user-defined type (UDT) and is now the new first type of data type in SQL Server 2005. Developers may now be tempted to use this data type, lest they write code to "split" the XML data into the interior (i.e. not using OPENXML to load the data into the table in bulk).
Unfortunately, using XML data types like this has many of the same problems as using user-defined types to represent data. Developers should keep their performance in mind because querying a node of an XML column requires the engine to evaluate different XML queries for each row in the table. As with CLR UDT, there are normalization issues. In databases that use XML data types too much, it is extremely difficult to ensure data integrity.