SQL Server Q&A

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘microsoft developer network’

Error message when you try to install SQL Server 2005 Express Edition or SQL Server 2005 Express Edition with Advanced Services: “Server SQL Server is terminating because of fatal exception c000001d”

Symptoms
When you try toinstall Microsoft SQL Server 2005 Express Edition (SQL Server Express) or Microsoft SQL Server 2005 Express Edition with Advanced Services, the installation fails. Additionally, you receive the following error message:

Server SQL Server is terminating because of fatal exception c000001d.If you examine the SQL Server error log when this problem occurs, you see an error message that resembles one of the following:
Error message 1

SqlDumpExceptionHandler: Process 4 generated fatal exception c000001d EXCEPTION_ILLEGAL_INSTRUCTION. SQL Server is terminating this process.
Error message 2

2006-03-02 22:40:24.79 ServerError: 17311, Severity: 16, State: 1.
2006-03-02 22:40:24.79 ServerSQL Server is terminating because of fatal exception c000001d. This error may be caused by an unhandled Win32 or C++ exception, or by an access violation encountered during exception handling.For more information about how to examine the SQL Server error log, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms187885.aspx(http://msdn2.microsoft.com/en-us/library/ms187885.aspx)
Resolution
This problem occurs because of one of the following reasons:The computer on which you try to install SQL Server Express or SQL Server Express with Advanced Services is equipped with a CPU that does not support cache prefetching.
The affected CPUs include VIA Eden CPUs and Transmeta CPUs. Typically, these CPUs are used in devices when low power consumption,low heat, or low noise is important.The media from which you try to install SQL Server Express or SQL Server Express with Advanced Services is corrupted.

The Setup.exe program is unable to remove security code groups that were created during the installation of SQL Server 2008

Symptoms
Consider the following scenario. You run the Setup.exe program to install Microsoft SQL Server 2008. The Setup.exe program is stopped suddenly before it is completed, either intentionally or because of a power failure. In this scenario, the Setup.exe program is unable to remove security code groups that were created during the installation. Therefore, the computer may be left vulnerable to attack.
Note Code groups are created to allow for users to run the Setup.exe program from a network share.
Resolution
To work around this problem, use the Code Access Security Policy tool to manually remove the security code groups. To do this, follow these steps.
Notes You must have machine-level security policy to use the Code Access Security Policy tool.For more information, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn.microsoft.com/en-us/library/cb6t8dtz(VS.80).aspx(http://msdn.microsoft.com/en-us/library/cb6t8dtz(VS.80).aspx)If the Code Access Security Policy tool is not located on the computer, reinstallthe Microsoft .NET Framework 3.5. To download the .NET Framework 3.5, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=en(http://www.microsoft.com/downloads/details.aspx?familyid=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=en)Click Start, click Run, type cmd, and then click OK.Locate one orboth of the following folders, depending on your operating system:
32-bit editions of Windows
%systemdrive%\Microsoft.NET\Framework\v2.0.50727
64-bit editions of Windows
Note In 64-bit editions of Windows, you must run the CasPol.exe –q –rg code group command in the following folders: %systemdrive%\Microsoft.NET\Framework\v2.0.50727%systemdrive%\Microsoft.NET\Framework64\v2.0.50727For each security code group that is listed in this step, type the following command, and then press ENTER.
Note You do not have to restart the computer after you run the command for each security code group.
Command
CasPol.exe -q -rg code_group_nameNote In this command, the placeholder code_group_name represents the name of the security code group.
Security code groupsMSVCM80MICROSOFT.SQLSERVER.CHAINER.SETUPMICROSOFT.SQL.CHAINER.PACKAGEMICROSOFT.SQLSERVER.CHAINER.INFRASTRUCTUREMICROSOFT.SQLSERVER.CONFIGURATION.BOOTSTRAPEXTENSIONMICROSOFT.SQLSERVER.SETUP.CHAINER.WORKFLOWMICROSOFT.SQLSERVER.CONFIGURATION.SQLCONFIGBASEMICROSOFT.SQLSERVER.CONFIGURATION.SFCMICROSOFT.SQLSERVER.CONFIGURATION.SETUPEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.MSIEXTENSIONMICROSOFT.SQLSERVER.CHAINER.EXTENSIONCOMMONMICROSOFT.SQLSERVER.CONFIGURATION.SCOMICROSOFT.SQLSERVER.CONFIGURATION.CONFIGEXTENSIONMICROSOFT.SQLSERVER.DISCOVERYMICROSOFT.SQLSERVER.CONFIGURATION.UIEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.SSTRINGMICROSOFT.SQLSERVER.CONFIGURATION.WIZARDFRAMEWORKMICROSOFT.SQLSERVER.CONFIGURATION.INSTALLWIZARDFRAMEWORKMICROSOFT.SQLSERVER.CONFIGURATION.INSTALLWIZARDMICROSOFT.SQLSERVER.MANAGEMENT.CONTROLSMICROSOFT.SQLSERVER.CONFIGURATIONMICROSOFT.SQLSERVER.CONFIGURATION.CONNECTIONINFOMICROSOFT.SQLSERVER.CONFIGURATION.RULESENGINEEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.CLUSTERMSCLUSTERLIBMICROSOFT.SQL.CHAINER.PACKAGEDATAMICROSOFT.SQL.CHAINER.PRODUCTMICROSOFT.NETENTERPRISESERVERS.EXCEPTIONMESSAGEBOXLANDINGPAGEMICROSOFT.SQLSERVER.CONFIGURATION.SLPEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.AGENTEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.POWERSHELLEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.SSISEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.ASEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.REPL_CONFIGEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.MANAGEMENTTOOLSEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.SQLSERVER_CONFIGEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.SNISERVERCONFIGEXTMICROSOFT.SQLSERVER.CONFIGURATION.SQLBROWSEREXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.RSEXTENSIONMICROSOFT.SQLSERVER.CONFIGURATION.DMFMICROSOFT.SQLSERVER.CONFIGURATION.SMOMICROSOFT.SQLSERVER.CONFIGURATION.SQLENUMMICROSOFT.SQLSERVER.CONFIGURATION.FULLTEXT_CONFIGEXTENSIONFIXSQLREGISTRYKEYMICROSOFT.SQLSERVER.CHAINER.SETUP.RESOURCESMICROSOFT.SQLSERVER.CHAINER.INFRASTRUCTURE.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.BOOTSTRAPEXTENSION.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.SQLCONFIGBASE.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.SFC.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.SETUPEXTENSION.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.MSIEXTENSION.RESOURCESMICROSOFT.SQLSERVER.CHAINER.EXTENSIONCOMMON.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.SCO.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.CONFIGEXTENSION.RESOURCESMICROSOFT.SQLSERVER.DISCOVERY.RESOURCESMICROSOFT.SQLSERVER.CONNECTIONINFO.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.UIEXTENSION.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.WIZARDFRAMEWORK.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.INSTALLWIZARDFRAMEWORK.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.INSTALLWIZARD.RESOURCESMICROSOFT.SQLSERVER.MANAGEMENT.CONTROLS.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.CONNECTIONINFO.RESOURCESMICROSOFT.SQLSERVER.CONFIGURATION.RULESENGINEEXTENSION.RESOURCESLANDINGPAGE.RESOURCESIf the security code group is not located on the computer, the following error message is returned:

1. c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>caspol -remgroup blah
2. Microsoft (R) .NET Framework CasPol 2.0.50727.1433
3. Copyright (c) Microsoft Corporation.All rights reserved.
4.
5. ERROR: Invalid label or name
6.
7. Usage: caspol <option> <args> …
8.
9. caspol -rg
10. caspol -remgroup <label|name>
11. Remove code group at <label|name>
12.
13.
14. where “<mship>” can be:
15. -allcodeAll code
16. -appdirApplication directory
17. -custom <xml_file>Custom membership condition
18. -hash <hashAlg> {-hex <hashValue>|-file <assembly_name>}
19. Assembly hash
20. -pub {-cert <cert_file_name> | -file <signed_file_name> | -hex <hex_string>}
21. Software publisher
22. -gacInstalled in the Global Assembly Cache
23. -site <website>Site
24. -strong {-file <assemblyfile_name> | -hex <public_key>}
25. {<name> | -noname} {<version> | -noversion}
26. Strong name
27. -url <url>URL
28. -zone <zone_name>Zone, where zone can be:
29. MyComputer
30. Intranet
31. Trusted
32. Internet
33. Untrusted
34.
35. where “<flag>” can be any combination of:
36. -exclusive {on|off}
37. Set the policy statement Exclusive flag
38. -levelfinal {on|off}
39. Set the policy statement LevelFinal flag
40. -n[ame] <name>
41. Code group name
42. -d[escription] <desc>
43. Code group description
44.
45. c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>If the security code group is deleted when you run the caspol.exe –q –rg code group command, the following message is returned:
1. c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>caspol -remgroup blah
2. Microsoft (R) .NET Framework CasPol 2.0.50727.1433
3. Copyright (c) Microsoft Corporation.All rights reserved.
4.
5. The operation you are performing will alter security policy.
6. Are you sure you want to perform this operation? (yes/no)
7. y
8. Removed code group from the Machine level.
9. Success

The Microsoft SQL Server support policy for Microsoft Clustering

Symptoms
This article describes the Microsoft support policy for SQL Server failover clustering. Microsoft Customer Support Services (CSS) supports SQL Server failover clustering that is based on the failover clustering features of the Microsoft Cluster Service in the following products: Windows 2000 Advanced ServerWindows 2000 Datacenter EditionWindows Server 2003 Enterprise EditionWindows Server 2003 Datacenter EditionWindows Server 2008 Enterprise EditionNote Windows Server 2008 failover clusters only support SQL Server 2005 Service Pack 2 or later versions.
Important Upgrading SQL Server 2000 Enterprise Edition to SQL Server 2005 Standard Edition is not a supported upgrade path. For more information, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms143393.aspx(http://msdn2.microsoft.com/en-us/library/ms143393.aspx) If you want a fallback solution when you upgrade the SQL Server 2000 failover cluster instance,we recommend that you perform a new installation of the SQL Server 2005 failover cluster instance because ofextreme recovery measures. Then, migrate the data to the new installation. The current installation will remain intact if unforeseen circumstances prevent the SQL Server 2005 installation from completing in a timely manner.
Microsoft server clusters are only supported on cluster solutions that are listed in the Windows Server Catalog under Cluster Solutions. To view the Windows Server Catalog, visit the following Microsoft Web site:
http://www.windowsservercatalog.com/(http://www.windowsservercatalog.com/)The term “server clusters” means computers that run the Microsoft Cluster Service. The Windows Server 2003 family provides the following types of clustering services: Server Cluster (Failover Cluster) Network Load BalancingCompute Cluster ServerOnly the Server Cluster solutions can be used together with SQL Server for high availability if a node is lost or if a problem exists with an instance of SQL Server. Network Load Balancing may be used in some cases together with stand-alone read-only SQL Server installations. SQL Server Failover Clustered Instances each require a unique group. This requirement is true on cluster disk resources that use drive letters that are unique to the cluster and to each SQL Server Failover Clustered Instance. Each Failover Clustered Instance of SQL Servermust also have at least one unique IP address. Depending on the version that is installed, multiple unique IP addresses may be possible. Additionally, each Failover Clustered Instance must have both virtual server and instance names that are unique to the domain to which the cluster belongs.
Supported SQL Server failover clustering installations must also follow the Microsoft support policy for server clusters, and the Windows Server Catalog/Hardware Compatibility List.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
309395?(http://support.microsoft.com/kb/309395/) The Microsoft support policy for server clusters, the Hardware Compatibility List, and the Windows Server CatalogStarting with Windows Server 2003, Microsoft SQL Server 6.5 and Microsoft SQL Server 7.0 clustering will no longer be supported, as noted in the following Microsoft Knowledge Base article:
810391?(http://support.microsoft.com/kb/810391/) SQL Server 6.5, SQL Server 7.0, and MSDE 1.0 support on Windows Server 2003If you cluster SQL Server with any clustering product other than Microsoft Server Clustering, your primary support contact is the third-party cluster solution provider for any support issues that are related to SQL Server. SQL Server was developed and tested by using Microsoft Server Clustering. Third-party clustering solutions that support SQL Server installations should be your primary contact for any installation issues, performance issues, or cluster behavior issues. CSS provides commercially reasonable support for third-party cluster installations in same manner that we do for a stand-alone version of SQL Server.Number of supported nodesThe following is a list of the number of nodes that are supported by each version of Microsoft SQL Server: Microsoft SQL Server 7.0
Microsoft SQL Server 7.0 supports up to two nodes in a failover cluster.Microsoft SQL Server 2000 Enterprise Edition (32-bit)
Microsoft SQL Server 2000 Enterprise Edition (32-bit) supports up to four nodes in a failover cluster.Microsoft SQL Server Enterprise Edition (64-bit)
Microsoft SQL Server Enterprise Edition (64-bit) supports up to eight nodes in a failover cluster.Microsoft SQL Server 2005 Standard Edition (32-bit or 64-bit)
Microsoft SQL Server 2005 Standard Edition supports up to two nodes in a failover cluster.Microsoft SQL Server 2005 Enterprise Edition (32-bit or 64-bit)
Microsoft SQL Server 2005 Enterprise Edition supports up to eight nodes in a failover cluster.Note If you upgrade Microsoft SQL Server 2000 (32-bit) to Microsoft SQL Server Enterprise Edition (64-bit), SQL Server will still only support four nodes.Mounted drivesThe use of mounted drives is not supported on a cluster that includes a Microsoft SQL Server installation. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
819546?(http://support.microsoft.com/kb/819546/) SQL Server 2000 and SQL Server 2005 support for mounted volumes
Note SQL Server 2005 failover cluster instances are not supported on failover cluster instance nodes that are used as domain controllers.
Resolution
SQL Server failover clustering for clusters that are not listed on the HCL in the cluster categoryIf your SQL Server failover cluster solution is not listed in the Windows Server Catalog/Hardware Compatibility List. as a supported “Cluster Solution”, it is considered unsupported and may yield unexpected behavior. However, CSS will offer troubleshooting tips and provide reasonable support if requested. However, CSS does not guarantee that a resolution will be found for non-Windows Server Catalog/HCL cluster solutions.
For support, follow these steps: Before any troubleshooting begins, you must contact the Original Equipment Manufacturer (OEM) to discuss whether your particular cluster implementation is supportable. The OEM can best answer configuration and supportability questions for the cluster hardware.Upon agreement that no solution is guaranteed, and that no incident refund will be provided, CSS can troubleshoot the issue. Microsoft does not guarantee a solution with non-HCL clusters. If no resolution is found, the incident will not be refunded.
If it is not agreed that a solution is not guaranteed, CSS will not troubleshoot the issue and will refund the incident.CSS will use standard troubleshooting processes to isolate the server cluster issue. Some typical troubleshooting methods that are used by CSS include: Use of the Microsoft Knowledge Base. The Microsoft Knowledge Base is available to customers through Microsoft TechNet, or you can visit the following Microsoft Web site:
http://support.microsoft.com(http://support.microsoft.com/)Determine whether the problem can be replicated on supported clusters (where possible).Note If the cluster is not certified, there is no hotfix support available. CSS cannot determine whether the problem is caused by hardware incompatibility or by unwanted software behavior.If there is no solution to the problem, CSS may recommend some constructive alternatives, which include: Having you reproduce the problem on a cluster that is on the Cluster HCL.Asking you to use a cluster solution that is on the Cluster HCL.Having you work with the OEM to get the cluster on the Cluster HCL.Asking you to work with the OEM for a solution. The hardware specifications for server clusters are extremely stringent. The Cluster HCL contains a list of known acceptable cluster configurations that have been tested. You can waste a lot of time by trying to troubleshoot perceived server cluster issues that are being caused by the cluster hardware that you are using.
Some examples of hardware incompatibilities that can cause cluster problems include: SQL Server Failover Clustering installation failures.The cluster solution does not correctly isolate the shared disk and host bus adapters (HBAs) from other devices on the shared bus.The SCSI controller does not support operating in a multiple-initiator environment.The HBA does not correctly handle reservations or release or renew a device on the shared bus.The caching mechanism on the controller is incompatible with the cluster configuration.The network adapters for intra-cluster communication have too high a latency.The RAID controller does not correctly replicate configuration information between controllers.The PCI bus is incorrectly configured and has incorrect adapters in the wrong bus (primary, secondary, tertiary).The controllers are incompatible with the “Physical Disk Resource” type.The SCSI controller does not deploy proper termination. This list does not include all the issues that can cause problems with a server cluster. None of these issues can be detected by CSS. All these issues would typically be discovered if the complete cluster solution were tested for Cluster HCL compatibility.
If a complete cluster configuration is listed for an earlier operating system but is not listed for the newer operating system that you are using, support as documented in this section will be followed.
SQL Server 2005 support for mixed 32-bit and 64-bit SQL Server failover cluster instancesYou must be running Windows Server 2003 Service Pack 1 or a later version. For more information, see the following Microsoft Knowledge Base articles. For IA-64 installations, see the following article in the Microsoft Knowledge Base:
312090?(http://support.microsoft.com/kb/312090/) Cannot use 32-bit resources on a 64-bit server clusterFor X64 installations, see the following article in the Microsoft Knowledge Base:
875423?(http://support.microsoft.com/kb/875423/) Support for 32-bit programs on 64-bit server clusters is included in Windows Server 2003 Service Pack 1 and in x64-based versions of Windows Server 2003Warning Resource DLLs for 32-bit programs cannot run on a 64-bit computer that is running a 32-bit version of Windows Server 2003 without any service packs installed. Therefore, you cannot run 32-bit programs on a 64-bit server cluster. In this scenario, you must use a 64-bit version of the resource DLL.
Limitations of using mixed SQL Server 2000 and SQL Server 2005 failover cluster instancesWhen you use SQL Server 2000 installations and SQL Server 2005 installations on the same cluster, the SQL Server 2000 installations must be installed before you install SQL Server 2005 instances locally or as failover cluster instances. All failover cluster instances will use the SQL Server 2005 Server Cluster resource. This includes the instances of SQL Server 2000.
Additionally, after SQL Server 2005 is installed, SQL Server Native Client is the primary protocol that is used. The changes to the Server Cluster resource DLL and the primary protocol that is used will prevent installation of SQL Server 2000 or re-addition of nodes to SQL Server 2000 failover cluster instances. This occurs because neither the resource DLL nor the primary protocol existed at the time SQL Server 2000 was released and will not be recognized as a valid Server Cluster resource DLL or as a primary protocol for SQL Server failover cluster instances.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
905618?(http://support.microsoft.com/kb/905618/) You may receive a connection error message when you try to connect to an instance of SQL Server 2000 or of SQL Server 7.0 that was installed after you installed SQL Server 2005Stand-alone installations are not affected during initial installation like virtual failover cluster instances. In virtual failover cluster instances, this will prevent the initial installation from completing.
Note After you install SQL Server 2005, SQL Server Service Manager displays the node name instead of the virtual SQL Server 2005 server name. It does this because SQL Server Service Manager was not coded to handle SQL Server 2005, and SQL Server 2005 does not include SQL Server Service Manager.
Windows Server 2008 Failover ClustersOnly SQL Server 2005 Service Pack 2 (SP2) or later versions of SQL Server 2005 are supported with Windows Server 2008 Failover Clusters.
Migrating SQL Server Failover Cluster Instances to New Domain SQL Server 2000, 2005, and 2008 can be migrated to a new domain while clusterd is using domain users for service accounts on Windows 2000 and Windows 2003 Server Failover Clusters. SQL Server installations on Windows 2008 Failover Cluster will require uninstalling SQL Server Database Engine and Analysis Services if installed since Cluster will need to be uninstalled per
269196?(http://support.microsoft.com/kb/269196/) How to move a Windows Server cluster from one domain to anotherPrior to uninstalling SQL Server must be set to use mixed mode security or new domain accounts added to the SQL Server logins and the DATA folder containing system databases must be renamed prior to uninstalling so this folder may be swapped back in once reinstalled to reduce down time. No removal of SQL Server support files, SQL Server Native Client, Integration Services or Workstation Components should be done.

FIX: Error message after you roll back transactions on a table in SQL Server 2005: “Error: 3315, Severity: 21, State: 1″

Symptoms
This article describes the following about this hotfix release:The issues that are fixed by this hotfix packageThe prerequisites for installing the hotfix packageInformation about whether you must restart the computer after you install the hotfix packageInformation about whether the hotfix package is replaced by any other hotfix packageInformation about whether you must make any registry changesThe files that are contained in the hotfix package
Resolution
In SQL Server 2005, an error message that resembles the following is logged in the SQL Server error log after you roll back transactions on a table:

Error: 3315, Severity: 21, State: 1
During rollback, the following process did not hold an expected lock: process 51 with mode 8 at level 2 for row Rid pageid is (1:73) and row num is 0×0 in database ‘DatabaseName’ under transaction (0:546). Restore a backup of the database, or repair the database.This problem occurs when page locks are disabled on the table before the transactions are rolled back.
NotesIn the error message, DatabaseName represents the database that contains the table.You may have run the sp_indexoption stored procedure todisable the page locks on the table.For more information about how to view the SQL Server error log, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms187885.aspx(http://msdn2.microsoft.com/en-us/library/ms187885.aspx)

Error message when you try to install SQL Server 2005 Express Edition or SQL Server 2005 Express Edition with Advanced Services: “Server SQL Server is terminating because of fatal exception c000001d”

Symptoms
When you try toinstall Microsoft SQL Server 2005 Express Edition (SQL Server Express) or Microsoft SQL Server 2005 Express Edition with Advanced Services, the installation fails. Additionally, you receive the following error message:

Server SQL Server is terminating because of fatal exception c000001d.If you examine the SQL Server error log when this problem occurs, you see an error message that resembles one of the following:
Error message 1

SqlDumpExceptionHandler: Process 4 generated fatal exception c000001d EXCEPTION_ILLEGAL_INSTRUCTION. SQL Server is terminating this process.
Error message 2

2006-03-02 22:40:24.79 ServerError: 17311, Severity: 16, State: 1.
2006-03-02 22:40:24.79 ServerSQL Server is terminating because of fatal exception c000001d. This error may be caused by an unhandled Win32 or C++ exception, or by an access violation encountered during exception handling.For more information about how to examine the SQL Server error log, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms187885.aspx(http://msdn2.microsoft.com/en-us/library/ms187885.aspx)
Resolution
This problem occurs because of one of the following reasons:The computer on which you try to install SQL Server Express or SQL Server Express with Advanced Services is equipped with a CPU that does not support cache prefetching.
The affected CPUs include VIA Eden CPUs and Transmeta CPUs. Typically, these CPUs are used in devices when low power consumption,low heat, or low noise is important.The media from which you try to install SQL Server Express or SQL Server Express with Advanced Services is corrupted.

Considerations for the “autogrow” and “autoshrink” settings in SQL Server

Symptoms
The default autogrow and autoshrink settings will work for you with no tuning on many SQL Server systems. However, there are environments where you do not have to turn the settings on or where you may have to adjust the autogrow and autoshrink parameters. This article gives you some background information to guide you when you select the settings for your environment.
Resolution
Here are some things to consider if you decide to tune your autogrow and autoshrink parameters.How do I configure the settings?You can configure the autogrow and autoshrink settings by using one of the following:An ALTER DATABASE statement (not available in SQL Server 7.0)SQL Server Management Studio or SQL Enterprise ManagerThe sp_dboption stored procedure (deprecated in SQL Server 2005)Note If you are using SQL Server 2005, use SQL Server Management Studio instead ofSQL Enterprise Manager. For more information about how to set these settings in SQL Server 2005, visit the following Microsoft Developer Network (MSDN) Web sites:
How to: Add Data or Log Files to a Database (SQL Server Management Studio)
http://msdn2.microsoft.com/en-us/library/ms189253.aspx(http://msdn2.microsoft.com/en-us/library/ms189253.aspx)
Database Properties (Files Page)
http://msdn2.microsoft.com/en-us/library/ms180254.aspx(http://msdn2.microsoft.com/en-us/library/ms180254.aspx)You can also configure the autogrow option when you create a database.
You can view the current settings through the database properties in SQL Enterprise Manager (SEM). Or, you can run the following Transact-SQL command:

sp_helpdb [ [ @dbname= ] ‘name’ ]Keep in mind that the autogrow settings are per file. Therefore, you have to set them in at least two places for each database (one for the primary data file and one for the primary log file). If you have multiple data and/or log files, you must set the options on each file. Depending on your environment, you may end with different settings for each database file.What are the performance implications?If you run a transaction that requires more log space than is available, and you have turned on the autogrow option for the transaction log of that database, then the time it takes the transaction to complete will include the time it takes the transaction log to grow by the configured amount. If the growth increment is large or there is some other factor that causes it to take a long time, the query in which you open the transaction might fail because of a timeout error. The same sort of issue can result from an autogrow of the data portion of your database. To change your autogrow configuration, see the “ALTER DATABASE” topic in SQL Server Books Online.If you run a large transaction that requires the log to grow, other transactions that require a write to the transaction log will also have to wait until the grow operation completes.If you combine the autogrow and autoshrink options, you might create unnecessary overhead. Make sure that the thresholds that trigger the grow and shrink operations will not cause frequent up and down size changes. For example, you may run a transaction that causes the transaction log to grow by 100 MB by the time it commits. Some time after that the autoshrink starts and shrinks the transaction log by 100 MB. Then, you run the same transaction and it causes the transaction log to grow by 100 MB again. In that example, you are creating unnecessary overhead and potentially creating fragmentation of the log file, either of which can negatively affect performance.Physical fragmentation from changing the size of the data or log files can have a severe affect on your performance. This is true whether you use the automatic settings or whether you manually grow and shrink the files frequently.If you grow your database by small increments, or if you grow it and then shrink it, you can end up with disk fragmentation. Disk fragmentation can cause performance issues in some circumstances. A scenario of small growth increments can also reduce the performance on your system.Best PracticesFor a managed production system, you must consider autogrow to be merely a contingency for unexpected growth. Do not manage your data and log growth on a day-to-day basis with autogrow.You can use alerts or monitoring programs to monitor file sizes and grow files proactively. This helps you avoid fragmentation and permits you to shift these maintenance activities to non-peak hours.AutoShrink and autogrow must be carefully evaluated by a trained Database Administrator (DBA); they must not be left unmanaged.Your autogrow increment must be large enough to avoid the performance penalties listed in the previous section. The exact value to use in your configuration setting and the choice between a percentage growth and a specific MB size growth depends on many factors in your environment. A general rule of thumb to you can use for testing is to set your autogrow setting to about one-eight the size of the file.Turn on the <MAXSIZE> setting for each file to prevent any one file from growing to a point where it uses up all available disk space.Keep the size of your transactions as small as possible to prevent unplanned file growth.Why do I have to worry about disk space if size settings are automatically controlled?The autogrow setting cannot grow the database size beyond the limits of the available disk space on the drives for which files are defined. Therefore, if you rely on the autogrow functionality to size your databases, you must still independently check your available hard disk space. The autogrow setting is also limited by the MAXSIZE parameter you select for each file. To reduce the possibility of running out of space, you can monitor the Performance Monitor counter SQL Server: Databases Object :D ata File(s) Size (KB) and set up an alert for when the database reaches a certain size.Unplanned growth of data or log files can take space that other applications expect to be available and might cause those other applications to experience problems.The growth increment of your transaction log must be large enough to stay ahead of the needs of your transaction units. Even with autogrow turned on, you can receive a message that the transaction log is full, if it cannot grow fast enough to satisfy the needs of your query.SQL Server does not constantly test for databases that have hit the configured threshold for autoshrink. Instead, it looks at the available databases and finds the first one that is configured to autoshrink. It checks that database and shrinks that database if needed. Then, it waits several minutes before checking the next database that is configured for autoshrink. In other words, SQL Server does not check all databases at once and shrink them all at once. It will work through the databases in a round robin fashion to stagger the load out over a period of time. Therefore, depending on how many databases on a particular SQL Server instance you have configured to autoshrink, it might take several hours from the time the database hits the threshold until it actually shrinks.