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 ‘bit’

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: Parallel Query That Has Many Bit Columns May Cause Access Violation

Symptoms
If a query that returns many bit columns is run as a parallel query and the row size passed through one of the Parallelism physical operators in the plan exceeds approximately 8 KB in size, a handled access violation may occur.
Resolution
A Parallelism physical operator is limited to handling a row size greater than approximately 8 KB in size, and normally such plans are excluded from being run as a parallel plan. Due to a bug in the calculation of the row size when handling bit columns, the query is incorrectly allowed to run in parallel but overflows a buffer allocated for transferring the data between threads.

FIX: 8621 error conditions may cause SQL Server 2000 64-bit to close unexpectedly

Symptoms
When you run a query in Microsoft SQL Server 2000 64-bit, you may experience an 8621 error condition. An 8621 error condition may cause the SQL Server 2000 64-bit program to close unexpectedly. When this problem occurs, the following messages are logged in the SQL Server error log:

2004-04-05 10:35:58.86 spid5104/05/04 10:35:58 Stack Overflow Dump not possible – Exception c00000fd E at 0×00000000007051E42004-04-05 10:35:58.86 spid51Address=7051e4 Exception Code = c00000fd2004-04-05 10:36:01.21 spid51<The query text follows.>…2004-04-05 10:37:07.82 spid512004-04-05 10:37:07.82 spid51TotalPhysicalMemory = 34349801472, AvailablePhysicalMemory = 70914375682004-04-05 10:37:07.82 spid51AvailableVirtualMemory = 7643227004928, AvailablePagingFile = 32936615936
This behavior has been observed in Microsoft SQL Server 2000 32-bit and in Microsoft SQL Server 2000 64-bit.
Resolution
Service pack informationTo resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
290211?(http://support.microsoft.com/kb/290211/) How to obtain the latest SQL Server 2000 service pack
Hotfix information The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
SQL Server 2000 32-bit (x86)

DateTimeVersionSizeFile name————————————————————————-31-May-200318:452000.80.818.078,400Console.exe25-Mar-200422:272000.80.928.0315,968Custtask.dll30-Jan-200416:292000.80.911.033,340Dbmslpcn.dll25-Apr-200302:12786,432Distmdl.ldf25-Apr-200302:122,359,296Distmdl.mdf30-Jan-200301:55180Drop_repl_hotfix.sql12-Sep-200303:262000.80.859.01,905,216Dtspkg.dll26-Aug-200320:162000.80.854.0528,960Dtspump.dll23-Jun-200322:402000.80.837.01,557,052Dtsui.dll23-Jun-200322:402000.80.837.0639,552Dtswiz.dll24-Apr-200302:51747,927Instdist.sql03-May-200301:561,581Inst_repl_hotfix.sql30-Jan-200416:292000.80.911.090,692Msgprox.dll01-Apr-200302:071,873Odsole.sql30-Jan-200416:292000.80.911.062,024Odsole70.dll30-Jan-200416:292000.80.911.025,144Opends60.dll07-May-200318:47132,096Opends60.pdb30-Jan-200416:282000.80.911.057,904Osql.exe02-Apr-200323:152000.80.797.0279,104Pfutil80.dll04-Aug-200318:17550,780Procsyst.sql12-Sep-200300:3712,305Qfe469315.sql22-May-200322:5719,195Qfe469571.sql25-Mar-200421:031,104,848Replmerg.sql30-Jan-200416:292000.80.911.0221,768Replprov.dll30-Jan-200416:292000.80.911.0307,784Replrec.dll29-Jan-200423:242000.80.911.0159,813Replres.rll06-Sep-200300:001,087,150Replsys.sql13-Aug-200316:28986,603Repltran.sql30-Jan-200416:292000.80.911.0287,304Rinitcom.dll25-Mar-200422:272000.80.928.066,112Semmap.dll30-Jan-200416:292000.80.911.057,916Semnt.dll29-Jul-200320:132000.80.819.0492,096Semobj.dll31-May-200318:272000.80.818.0172,032Semobj.rll02-Jan-200419:422000.80.904.053,832Snapshot.exe09-Dec-200320:07117,834Sp3_serv_uni.sql05-Feb-200400:462000.80.913.028,672Sqlagent.dll05-Feb-200400:472000.80.913.0311,872Sqlagent.exe19-Feb-200418:022000.80.916.0168,001Sqlakw32.dll12-Mar-200404:342000.80.923.033,344Sqlctr80.dll30-Jan-200416:292000.80.911.04,215,360Sqldmo.dll07-Apr-200317:4425,172Sqldumper.exe29-Jan-200423:172000.80.911.028,672Sqlevn70.rll05-Mar-200417:132000.80.922.0180,792Sqlmap70.dll03-Sep-200302:562000.80.857.0188,992Sqlmmc.dll02-Sep-200323:032000.80.857.0479,232Sqlmmc.rll22-Oct-200300:082000.80.871.0401,984Sqlqry.dll30-Jan-200416:292000.80.911.057,920Sqlrepss.dll06-Apr-200420:062000.80.929.07,622,737Sqlservr.exe06-Apr-200420:0812,788,736Sqlservr.pdb30-Jan-200416:292000.80.911.0590,396Sqlsort.dll30-Jan-200416:292000.80.911.045,644Sqlvdi.dll30-Jan-200416:292000.80.911.0106,588Sqsrvres.dll30-Jan-200416:292000.80.911.033,340Ssmslpcn.dll30-Jan-200416:292000.80.911.082,492Ssnetlib.dll30-Jan-200416:292000.80.911.025,148Ssnmpn70.dll28-Oct-200304:212000.80.873.0123,456Stardds.dll30-Jan-200416:292000.80.911.0158,240Svrnetcn.dll30-Jan-200416:292000.80.911.076,416Svrnetcn.exe30-Apr-200323:522000.80.816.045,132Ums.dll30-Apr-200323:52132,096Ums.pdb30-Jan-200416:292000.80.911.098,872Xpweb70.dll
SQL Server 2000 64-bit (IA-64)

DateTimeVersionSizeFile name—————————————————————————16-Jul-200303:522000.80.818.056,832Dbmslpcn.dll03-May-200301:561,581Inst_repl_hotfix.sql11-Mar-200303:422000.80.782.0185,856Msgprox.dll16-Jul-200318:552000.80.818.0150,528Odsole70.dll16-Jul-200319:152000.80.818.0148,992Osql.exe26-Mar-200422:561,104,848Replmerg.sql11-Mar-200303:422000.80.782.0533,504Replprov.dll11-Mar-200303:422000.80.782.0767,488Replrec.dll27-Mar-200400:042000.80.928.0160,768Semmap.dll13-Mar-200408:072000.80.923.032,256Sqlctr80.dll01-Jun-200322:182000.80.818.0 13,845,504Sqldmo.dll16-Jul-200319:1339,936Sqldumper.exe11-Mar-200303:432000.80.782.023,040Sqlmap70.dll11-Mar-200303:432000.80.782.0152,064Sqlrepss.dll07-Apr-200415:422000.80.929.0 24,913,920Sqlservr.exe07-Apr-200415:4520,933,632Sqlservr.pdb11-Mar-200303:432000.80.782.0120,320Sqlvdi.dll16-Jul-200303:522000.80.818.053,760Ssmslpcn.dll01-Jun-200321:512000.80.818.0254,976Ssnetlib.dll02-Jun-200300:412000.80.818.020,992Ssnmpn70.dll01-Jun-200321:482000.80.818.0430,080Svrnetcn.dll01-Jun-200321:482000.80.818.0185,856Svrnetcn.exe31-Mar-200321:272000.80.778.0186,368Xpweb70.dllNoteBecause of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.

After you install a 64-bit version of SQL Server 2005 on a 64-bit version of Windows, the 32-bit entries for SQL Native Client Configuration and for SQL Server 2005 Network Configuration appear i …

Symptoms
After you install a 64-bit version of Microsoft SQL Server 2005 on a 64-bit version of a Microsoft Windows operating system, the 32-bit entries for SQL Native Client Configuration and for SQL Server 2005 Network Configuration appear in SQL Server Configuration Manager.
Resolution
Some tools that are installed together with a 64-bit version of SQL Server 2005 are available only as 32-bit versions. When you install a 64-bit version of SQL Server 2005, the 32-bit versions of the following tools are installed:SQL Server Management StudioSQL Server Configuration ManagerDatabase Engine Tuning AdvisorThe following entries appear in SQL Server Configuration Manager:SQL Server 2005 Network Configuration (32bit)SQL Native Client Configuration (32bit)SQL Server 2005 Network ConfigurationSQL Native Client ConfigurationThe following table contains information about each entry.
Note Client Network Utility (Cliconfg.exe) is available in SQL Server 2000.In SQL Server 2005, the functionality of this tool is included in SQL Server Configuration Manager. However, to address backward compatibility issues, Client Network Utility is included in SQL Server 2005.
Collapse this tableExpand this table
Entry in SQL Server Configuration ManagerVersionResidence of aliases that are created in SQL Server Configuration ManagerCorresponding subkey in the registryApplications that are affected by the protocol settingsAvailability of aliases to applicationsResidence of aliases that are created by Client Network UtilitySQL Native Client Configuration (32bit)32-bitAliases that are created in this entry reside only in this entryHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectToNot applicableOnly 32-bit applications can use aliases in this entryNot applicableSQL Native Client Configuration64-bitAliases that are created in this entry reside only in this entryHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectToNot applicableOnly 64-bit applications can use aliases in this entryResides only in this entrySQL Server 2005 Network Configuration (32bit)32-bitNot applicableHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Client\SNI9.0Only 32-bit applications are affectedNot applicableNot applicableSQL Server 2005 Network Configuration64-bitNot applicableHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0Only 64-bit applications are affectedNot applicableNot applicable

Error message when you open SQL Server Configuration Manager in SQL Server 2008: “Cannot connect to WMI provider. You do not have permission or the server is unreachable”

Symptoms
On a 64-bit computer, you install an instance of the 32-bit (x86-based) version of Microsoft SQL Server 2008. On the same computer, you install an instance of the 64-bit version of SQL Server 2008. Ifyou then uninstall the 64-bit instance, you receive the following error message when you open SQL Server Configuration Manager:

Cannot connect to WMI provider. You do not have permission or the server is unreachable. Note that you can only manage SQL Server 2005 and later servers with SQL Server Configuration Manager.
Invalid namespace [0x8004100e]This problem also occurs if you uninstall the 32-bit instance, and you then open SQL Server Configuration Manager.
Resolution
This problem occurs because the WMI provider is removed when you uninstall an instance of SQL Server 2008. The 32-bit instance and the 64-bit instance of SQL Server 2008 share the same WMI configuration file. This file is located in the %programfiles(x86)% folder.