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’

FIX: “Exception 0xc0000005 EXCEPTION_ACCESS_VIOLATION” and SQL Server 2008 R2 crashes when you start a SQL Server Extended event session

Symptoms
Microsoft distributes Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release.
Resolution
Consider the following scenario:You start a SQL Server Extended Event session in Microsoft SQL Server 2008 R2.You perform actions that are bound to events in the Xevent session on a case-sensitive database.In this scenario, SQL Server may crash, and then a mini-dump file is generated. Additionally, the following exception is logged in the SQL Server error log file:?

Exception 0xc0000005 EXCEPTION_ACCESS_VIOLATION

Error message when you install SQL Server 2005 on a computer that is running the original release version of Windows XP: “This application has failed to start because the application configuratio …

Symptoms
When you install Microsoft SQL Server 2005 on a computer that is running the original release version of Microsoft Windows XP, you receive the following error message:

This application has failed to start because the application configuration is incorrect.
Reinstalling the application may fix this problem.Additionally, the following event is logged in the System log:
Source: SideBySide
Event ID: 59
Description:
Resolve Partial Assembly failed for Microsoft.VC80.CRT. Reference error message: The system cannot find the file specified.
Resolution
This problem occurs because SQL Server 2005 requires the GetSystemTimes function. The GetSystemTimes function is included in Windows XP Service Pack 1 (SP1) and inlater Windows XP service packs.

BUG: SQL Desktop Edition: Shared memory fails to connect after you install MDAC 2.6

Symptoms
A standalone computer (without any network protocols installed) fails to connect locally to the Microsoft SQL Server 7.0 Desktop Edition. If you attempt to connect by using either Query Analyzer or SQL Enterprise Manager, the following error message occurs:

Unable to connect to server \\SRVNAME:
Server: Msg 17, Level 16, State 1
[Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server does not exist or access denied. Attempting to connect by using ODBCPING causes this error message to occur:

COULD NOT CONNECT TO SQL SERVER
SQLState: 08001 Native Error: 17
Info. Message: [Microsoft][ODBC SQL Server Driver][Shared Memory]SQL
Server does not exist or access denied.
SQLState: 01000 Native Error: 53
Info. Message: [Microsoft][ODBC SQL Server Driver][Shared
Memory]ConnectionOpen(Connect()). ISQL can still connect, when you specify the SQL Server machine name. ISQL makes a DB Library connection and uses shared memory.
Resolution
The inability to connect locally, by using the machine name, occurs after Microsoft Data Access Components (MDAC) 2.6 has been applied to the desktop computer and the connection attempts to make the connection by using the Shared Memory protocol. Shared Memory is used when you specify the machine name to connect and no network protocols are installed on the desktop computer.

The SQL Server Agent service does not start after you upgrade from SQL Server 2008 Express or from SQL Server 2008 Express with Advanced Services to SQL Server 2008 Developer, to SQL Server 2008 …

Symptoms
Consider the following scenario. You install Microsoft SQL Server 2008 Express or Microsoft SQL Server 2008 Express with Advanced Services.You upgrade to Microsoft SQL Server 2008 Developer, to Microsoft SQL Server 2008 Enterprise, or to Microsoft SQL Server 2008 Standard by using the following command-line command:
setup.exe /action=editionupgrade /instancename=instance name /pid=appropriate edition product IDOr, you upgrade to SQL Server 2008 Developer, to SQL Server 2008 Enterprise, or to SQL Server 2008 Standard by using the Setup Graphical User Interface (GUI).You start the Service Control Manager.
Note To do this, click Start, click Run, and then type services.msc.You locate the SQL Server Agent service and then try to start the service.In this scenario, the SQL Server Agent service does not start successfully. Additionally, the following error message is recorded in the event log:

SQLServerAgent could not be started (reason: Error creating a new session)
Resolution
This issue occurs because in SQL Server 2008 Express and in SQL Server 2008 Express with Advanced Services, the SQL Server Agent service is created but not enabled. This condition is by design.

The SQL Server 2008 Installation Wizard has the “Named instance” option pre-selected when you try to upgrade the default instance

Symptoms
When you run the SQL Server Installation Wizard to upgrade the default instance of Microsoft SQL Server to SQL Server 2008, the Named instance option on the Instance Configuration page is pre-selected. Additionally, the Name instance box has a value of MSSQLSERVER.The Named instance option and the Named instance box are unavailable and cannot be changed.
Resolution
There is currently no resolution or workaround for this problem.

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.