HOSTING THE RUNTIME: SQL SERVER AS A RUNTIME HOST The reasons for this order are obvious. Without a secure system, you have a system that runs reliably run code, including code introduced by hackers, very quickly. It s not what you d want for an enterprise application. Reliability comes next. Critical applications, like a database management system, are expected to be available 99.999% of the time. You don t want to wait in a long line at the airport or the bank while the database restarts itself. Reliability is therefore considered over performance when the two clash; a decision might be whether to allow stack overflows to potentially bring down the main application, or slow down processing to make sure they don t. Since applications that perform transactional processing use SQL Server, SQL Server must ensure data integrity and its transactional correctness, which is another facet of reliability. Performance is extremely important in an enterprise application as well. Database management systems can be judged on benchmarks, such as the TPC-C (Transaction Processing Performance Council benchmark C) benchmark, as well as programmer-friendly features. So although having stored procedures and user-defined types written in high-level languages is a nice feature, it has to be implemented in such a way as to maximize performance. Since SQL Server 2005 is going to introduce fundamental changes such as loading .NET runtime engines and XML parsers, we ll first consider how SQL Server 2005 works as a .NET runtime host, how it compares with other .NET runtime hosts, and what special features of the runtime are used to ensure security, reliability, and performance. You may already know that an updated version of the .NET runtime, .NET 2.0, will be required for use with SQL Server. In this chapter, we ll explain why. What Is a .NET Runtime Host? A runtime host is defined as any process that loads the .NET runtime and runs code in a managed environment. The most common scenario is that a runtime host is simply a bootstrap program that executes from the Windows shell, loads the runtime into memory, and then loads one or more managed assemblies. An assembly is the unit of deployment in .NET roughly analogous to an executable program or DLL in prior versions of Windows.
Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost Java Web Hosting services