Troubleshooting SQL Server 2000 Virtual Server /Service Pack Setups for Failover Clustering Uttam Parui SQL Server Develop...
Objectives <ul><li>Understand Microsoft® SQL Server™ 2000 virtual server setup process </li></ul><ul><li>Know what logs to...
Understanding SQL Server 2000 Virtual Server Setup Process <ul><li>SQL Server 2000 virtual server setup involves a main se...
Understanding SQL Server 2000 Virtual Server Setup Process  (2) <ul><li>Unattended setup process </li></ul><ul><ul><li>The...
Virtual Server Setup Log Files <ul><li>The main setup process creates a  Sqlstp.log  file on the node where the virtual se...
Virtual Server Setup Log Files  (2) Sqlstp.log Configuration Information Setup is performing required operations on cluste...
Virtual Server Setup Log Files  (3) <ul><li>Consider a cluster with the node names Node1, and Node2. Lets assume that you ...
Virtual Server Setup Log Files  (4) <ul><li>Consider a cluster with the node names Node1, and Node2. Lets assume that you ...
Virtual Server Setup Log Files  (5) <ul><li>Now assume you troubleshoot the issue and then rerun the setup, and the setup ...
Virtual Server Setup Log Files  (6) <ul><li>Note:   </li></ul><ul><ul><li>Sqlstp.log is overwritten every time the virtual...
Virtual Server Setup Log Files  (7) <ul><li>Note:  </li></ul><ul><li>The default location for SqlstpN.log, Sqlclstr.log an...
Troubleshooting Virtual Server Setup Failure <ul><li>Basic steps </li></ul><ul><li>Review the Sqlstp.log file on the node ...
Sample Setup.log Created by Unattended Installation <ul><li>The meaning of the ResultCode can be found by opening an MS-DO...
Error Codes for an Unattended Installation  Invalid option selected. -53 Cannot access the specified file or folder. -52 C...
Troubleshooting Virtual Server Setup Failure  (2) <ul><li>Virtual server setup failed with the following error: </li></ul>...
Troubleshooting Virtual Server Setup Failure  (3) <ul><li>Example 1 </li></ul><ul><ul><li>The first step will be to review...
Troubleshooting Virtual Server Setup Failure  (4) <ul><li>Example 1 (continued) </li></ul><ul><ul><li>Note: Installation r...
Troubleshooting Virtual Server Setup Failure  (5) <ul><li>Example 1 (continued) </li></ul><ul><ul><li>This shows that the ...
Troubleshooting Virtual Server Setup Failure  (6) <ul><li>Example 2 </li></ul><ul><ul><li>Lets review another virtual serv...
Troubleshooting Virtual Server Setup Failure  (7) <ul><li>Example 2 (continued) </li></ul><ul><ul><li>Assume this is the e...
Troubleshooting Virtual Server Setup Failure  (8) <ul><li>Example 3 </li></ul><ul><ul><li>Lets review a virtual server set...
Troubleshooting Virtual Server Setup Failure  (9) <ul><li>Example 3 (continued) </li></ul><ul><ul><li>After the virtual re...
Troubleshooting Virtual Server Setup Failure  (10) <ul><li>Example 3 (continued) </li></ul><ul><ul><li>Verify the followin...
Troubleshooting Virtual Server Service Pack Setup Failures <ul><li>The basic steps for troubleshooting a virtual server se...
Troubleshooting Virtual Server Service Pack Setup Failures  (2) <ul><li>Example 4 </li></ul><ul><ul><li>Lets review a virt...
Troubleshooting Virtual Server Service Pack Setup Failures  (3) <ul><li>Example 4 (continued) </li></ul><ul><ul><ul><li>Le...
Troubleshooting Virtual Server Service Pack Setup Failures  (4) <ul><li>Example 4 (continued) </li></ul><ul><ul><li>Note :...
Troubleshooting Virtual Server Service Pack Setup Failures  (5) <ul><li>Example 5 </li></ul><ul><ul><li>Lets review a virt...
Troubleshooting Virtual Server Service Pack Setup Failures  (6) <ul><li>Example 5 (continued) </li></ul><ul><ul><li>Assume...
SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server <ul><li>Service Pack 3 (SP3) ...
SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server  (2) <ul><li>Make sure that y...
SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server  (3) <ul><li>Verify that ther...
SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server  (4) <ul><li>SP3 installation...
Additional Resources <ul><li>Microsoft White Paper - SQL Server 2000 Failover Clustering  http://www.microsoft.com/SQL/tec...
 
Upcoming SlideShare
Loading in …5
×

Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...

1,906 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,906
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Troubleshooting SQL Server 2000 Virtual Server /Service Pack ...

  1. 1. Troubleshooting SQL Server 2000 Virtual Server /Service Pack Setups for Failover Clustering Uttam Parui SQL Server Developer Support Engineer Product Support Services Microsoft Corporation
  2. 2. Objectives <ul><li>Understand Microsoft® SQL Server™ 2000 virtual server setup process </li></ul><ul><li>Know what logs to review to troubleshoot a failed virtual server /service pack setup </li></ul><ul><li>Troubleshoot virtual server setup failures </li></ul><ul><li>Troubleshoot virtual server service pack setup failures </li></ul><ul><li>Discuss SQL Server 2000 Service Pack 3 pre-installation checklist for SQL Server 2000 virtual server </li></ul>
  3. 3. Understanding SQL Server 2000 Virtual Server Setup Process <ul><li>SQL Server 2000 virtual server setup involves a main setup process that starts one unattended installation for every node that is part of the virtual server </li></ul><ul><li>The main setup process does the following: </li></ul><ul><ul><li>Gathers configuration information for the virtual server (the information is recorded in the setup initialization file, Setup.iss) </li></ul></ul><ul><ul><li>Starts unattended setup process (on every node that is a part of the virtual server) using the options specified in Setup.iss </li></ul></ul><ul><ul><li>Creates virtual server resources and sets the correct node ownership </li></ul></ul>
  4. 4. Understanding SQL Server 2000 Virtual Server Setup Process (2) <ul><li>Unattended setup process </li></ul><ul><ul><li>The number of unattended setup processes is equal to the number of nodes that are a part of the virtual server </li></ul></ul><ul><ul><li>Each unattended setup is completed by separate threads </li></ul></ul><ul><ul><li>An unattended setup process that is running on the node where the setup was started (also named primary node): </li></ul></ul><ul><ul><ul><li>Copies the required binaries </li></ul></ul></ul><ul><ul><ul><li>Registers the components that are required to run SQL Server on that node </li></ul></ul></ul><ul><ul><ul><li>Creates databases on the shared drive </li></ul></ul></ul><ul><ul><ul><li>Runs initial configuration scripts </li></ul></ul></ul><ul><ul><li>The unattended setup process on other nodes (also named secondary nodes) copies the required binaries and registers the components that you need to run SQL Server on that node </li></ul></ul>
  5. 5. Virtual Server Setup Log Files <ul><li>The main setup process creates a Sqlstp.log file on the node where the virtual server setup was started </li></ul><ul><li>Unattended setup processes create log files SqlstpN.log (where N is an integer) on each node where the unattended setup is run </li></ul><ul><li>After the unattended setup processes complete successfully on all the nodes, the main setup process creates virtual server resources and sets the correct node ownership </li></ul><ul><ul><li>Setup writes detailed messages to the Sqlclstr.log and Cluster.log on the node where the virtual server setup was started </li></ul></ul>
  6. 6. Virtual Server Setup Log Files (2) Sqlstp.log Configuration Information Setup is performing required operations on cluster nodes. This may take a few minutes… #### SQL Server Remote Setup - Start Time Running 'ODE1C$SQL2000.ENTx86setupsetupsql.exe k=Nb k=Rm k=Cl -SMS -s -f &quot;ODE1C$SQL2000.ENTx86setupsetup.ins&quot; -f1 ODE1admin$NODE1_MSSQLSERVER.iss -f2 &quot;ODE1admin$setup.log&quot; -e &quot;stpsilnt._ex&quot; -b -x &quot;C:WINNTTEMP&quot;' (NODE1) ... CProcess::RunUntilComplete [0x94] exit code: 0 Remote process exit code was '0' (NODE1). Running 'ODE1C$SQL2000.ENTx86setupsetupsql.exe k=ClSec k=Rm k=Cl -SMS -s -f &quot;ODE1C$SQL2000.ENTx86setupsetup.ins&quot; -f1 ODE2ADMIN$NODE2_MSSQLSERVER.iss -f2 &quot;ODE2admin$setup.log&quot; -e &quot;stpsilnt._ex&quot; -x &quot;C:&quot;' (NODE2) ... CProcess::RunUntilComplete [0x94] exit code: 0 Remote process exit code was '0' (NODE2). #### SQL Server Remote Setup - Stop Time CreateVirtualServerResources SqlstpN.log (primary node) SqlstpN.log (secondary node) Sqlclstr.log (primary node)
  7. 7. Virtual Server Setup Log Files (3) <ul><li>Consider a cluster with the node names Node1, and Node2. Lets assume that you ran a SQL Server setup program on Node1 to install a virtual server and setup completed successfully. </li></ul><ul><li>Here is a summary of files that will be created on each node: </li></ul><ul><ul><li>Node1 (primary node) </li></ul></ul><ul><ul><ul><li>Sqlstp.log – created by the main setup process </li></ul></ul></ul><ul><ul><ul><li>Sqlstp0.log and Setup.log – created by the unattended setup process on Node1 </li></ul></ul></ul><ul><ul><ul><li>Sqlclstr.log – created by the main setup process when it creates the virtual server resources </li></ul></ul></ul><ul><ul><li>Node2 (secondary node) </li></ul></ul><ul><ul><ul><li>Sqlstp0.log and Setup.log – created by the unattended setup process on Node2 </li></ul></ul></ul>
  8. 8. Virtual Server Setup Log Files (4) <ul><li>Consider a cluster with the node names Node1, and Node2. Lets assume that you ran SQL Server setup program on Node1 to install a virtual server, and setup failed while running the unattended setup on Node1 and unattended setup never started on Node2. </li></ul><ul><li>Here is a summary of files that will be created on each node: </li></ul><ul><ul><li>Node1: Sqlstp.log, Sqlstp0.log, and Setup.log </li></ul></ul><ul><ul><li>Node2: No files will be created </li></ul></ul>
  9. 9. Virtual Server Setup Log Files (5) <ul><li>Now assume you troubleshoot the issue and then rerun the setup, and the setup completes successfully </li></ul><ul><li>Here is a summary of files that will be created on each node </li></ul><ul><ul><li>Node1 </li></ul></ul><ul><ul><ul><li>Sqlstp.log – created by the main setup process (this is a new file – the main setup process overwrites the previous Sqlstp.log) </li></ul></ul></ul><ul><ul><ul><li>Sqlstp1.log and Setup.log – created by the unattended setup process on Node1 </li></ul></ul></ul><ul><ul><ul><ul><li>Note: The file name is Sqlstp1.log because there is already a file named Sqlstp0.log on Node1 </li></ul></ul></ul></ul><ul><ul><ul><li>Sqlclstr.log – created by the main setup process when it creates the virtual resources </li></ul></ul></ul><ul><ul><li>Node2 (secondary node) </li></ul></ul><ul><ul><ul><li>Sqlstp0.log and Setup.log – created by the unattended setup process on Node1 </li></ul></ul></ul>
  10. 10. Virtual Server Setup Log Files (6) <ul><li>Note: </li></ul><ul><ul><li>Sqlstp.log is overwritten every time the virtual server setup is started </li></ul></ul><ul><ul><li>Log files (SqlstpN.log) created by unattended setup are not overwritten </li></ul></ul><ul><ul><li>The unattended setup process does not create log files with the same name on both the nodes </li></ul></ul><ul><ul><ul><li>The log file name is dependent on the last SqlstpN.log on the node </li></ul></ul></ul><ul><ul><li>The virtual server setup process creates log files that start with the characters ‘sqlstp’, whereas the service pack setup logs start with the characters ‘sqlsp’ </li></ul></ul><ul><ul><ul><li>So, the main service pack setup process will create Sqlsp.log on the node where the service pack setup was run, and will create SqlspN.log on other nodes that are part of the virtual server </li></ul></ul></ul>
  11. 11. Virtual Server Setup Log Files (7) <ul><li>Note: </li></ul><ul><li>The default location for SqlstpN.log, Sqlclstr.log and Setup.log is C:WINNT </li></ul><ul><li>The default location for Cluster.log is C:WINNTCluster </li></ul>Summary: Setup logs created by SQL Server 2000 virtual server setup Setup.log Cluster.log Sqlclstr.log Setup.log SqlstpN.log SqlstpN.log Sqlstp.log Secondary Nodes (other nodes that are part of the virtual server) Primary Node (where virtual server setup was started)
  12. 12. Troubleshooting Virtual Server Setup Failure <ul><li>Basic steps </li></ul><ul><li>Review the Sqlstp.log file on the node where you ran the virtual server setup and identify where the setup failed </li></ul><ul><li>After you identify where the setup failed, review the appropriate setup files to find the exact error message </li></ul><ul><li>Use the keywords in the error message to perform a search on the Microsoft Knowledge Base to find more detailed information about the error, and the solution to the problem </li></ul>
  13. 13. Sample Setup.log Created by Unattended Installation <ul><li>The meaning of the ResultCode can be found by opening an MS-DOS window and typing net helpmsg ResultCode </li></ul><ul><li>If the result code is –ve (for example, -1), net helpmsg will not display any information. For –ve result code, refer to SQL Server 2000 Books Online (BOL) topic “Error Codes for an Unattended Installation.” The next slide has the table from BOL. </li></ul><ul><ul><ul><ul><ul><li>[InstallShield Silent] </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Version=v5.00.000 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>File=Log File </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>[Application] </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Name=Microsoft SQL Server </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Version=8.00.000 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Company=Microsoft </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Lang=0000 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>[Status] </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Completed=1 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>RebootRequired=0 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>[ResponseResult] </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>ResultCode=0 </li></ul></ul></ul></ul></ul>
  14. 14. Error Codes for an Unattended Installation Invalid option selected. -53 Cannot access the specified file or folder. -52 Cannot create the specified folder. -51 Dialog boxes are out of order. This is a common error, caused when a dialog box appears out of order in the setup initialization file (Setup.iss). This can occur due to a system problem during the creation of Setup.iss. -12 Unknown error during setup. -11 Data type is invalid. -10 Not a valid list type (string or number). -9 Invalid path to the InstallShield Silent response file. -8 Cannot write to the log file. -7 Cannot write to the response file. -6 File does not exist. -5 Not enough memory available. -4 Required data not found in the Setup.iss file. -3 Invalid mode. -2 General error. -1 Success. 0 Error Code Description Error code number
  15. 15. Troubleshooting Virtual Server Setup Failure (2) <ul><li>Virtual server setup failed with the following error: </li></ul><ul><ul><li>Setup failed to perform required operations on the cluster nodes </li></ul></ul><ul><li>This is a generic message and all you can conclude from this message is that the setup failed while running unattended setup on one or all the cluster nodes </li></ul><ul><li>In the following two examples, we will learn how to start with a generic error message, identify the underlying problem, and then with the help of the exact error message and the Microsoft Knowledge Base, resolve the issue </li></ul>
  16. 16. Troubleshooting Virtual Server Setup Failure (3) <ul><li>Example 1 </li></ul><ul><ul><li>The first step will be to review the Sqlstp.log on the node where the virtual server setup was started and discover where the failure occurred </li></ul></ul><ul><ul><li>In Sqlstp.log, search for the line: “Setup is performing required operations on cluster nodes. This may take a few minutes...” </li></ul></ul><ul><ul><li>Assume this is the error footprint in the Sqlstp.log: </li></ul></ul><ul><ul><ul><ul><li>19:18:30 Setup is performing required operations on cluster nodes. This may take a few minutes... </li></ul></ul></ul></ul><ul><ul><ul><li>19:18:30 C:WINNTTEMPSqlSetupBin emsetup.exe C:WINNT emsetup.ini </li></ul></ul></ul><ul><ul><ul><li>19:19:25 Process Exit Code: (2) The system cannot find the file specified. </li></ul></ul></ul><ul><ul><ul><li>19:19:25 Begin Action : GetRemsetupRetCode </li></ul></ul></ul><ul><ul><ul><li>19:19:25 Installation return status on NODE1 : 2 </li></ul></ul></ul><ul><ul><ul><li>19:19:25 Installation return status on NODE2 : 2 </li></ul></ul></ul>
  17. 17. Troubleshooting Virtual Server Setup Failure (4) <ul><li>Example 1 (continued) </li></ul><ul><ul><li>Note: Installation return status code on both nodes is 2 </li></ul></ul><ul><ul><li>net helpmsg 2 </li></ul></ul><ul><ul><ul><li>Returns “The system cannot find the file specified” </li></ul></ul></ul><ul><ul><ul><ul><li>This message is not very helpful. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>To identify the exact error, we must review the SqlstpN.log on both nodes (because the failure occurred on both nodes) </li></ul></ul></ul></ul><ul><ul><li>Let us assume that SqlstpN.log on both nodes have the following similar error footprint </li></ul></ul><ul><ul><ul><li>19:18:32 [DlgVirtServer] </li></ul></ul></ul><ul><ul><ul><li>19:18:32 Result = 1 </li></ul></ul></ul><ul><ul><ul><li>19:18:32 VirtServerName = SQLVirtualName </li></ul></ul></ul><ul><ul><ul><li>19:18:32 IpAddresses = X.X.X.X,255.255.255.0, PUBLIC (Upper port) </li></ul></ul></ul><ul><ul><ul><li>19:18:32 ShowDlgVirtualServer returned: -1 </li></ul></ul></ul><ul><ul><ul><li>19:18:32 ShowDlgVirtualServer: GetLastError returned: 87 </li></ul></ul></ul><ul><ul><ul><li>19:18:32 The parameter is incorrect </li></ul></ul></ul>
  18. 18. Troubleshooting Virtual Server Setup Failure (5) <ul><li>Example 1 (continued) </li></ul><ul><ul><li>This shows that the unattended setup failed on the nodes with error “87 - The parameter is incorrect” </li></ul></ul><ul><ul><li>This error message occurs if any of the cluster resources have special characters </li></ul></ul><ul><ul><li>Notice that the name of the public network connection, “PUBLIC (Upper port)”, has the special character ‘(‘ and ‘)’ </li></ul></ul><ul><ul><li>Removing the special characters will resolve the issue </li></ul></ul><ul><ul><li>This is also documented in the Microsoft Knowledge Base article: 302491, “ Setup May Fail to Perform Required Operations on the Cluster Nodes When Special Characters are Used in the Resource Name ” </li></ul></ul>
  19. 19. Troubleshooting Virtual Server Setup Failure (6) <ul><li>Example 2 </li></ul><ul><ul><li>Lets review another virtual server setup that failed with the same error message: ”Setup failed to perform required operations on the cluster nodes” </li></ul></ul><ul><ul><li>As in Example 1, open Sqlstp.log on the node where the virtual server setup was started and search for the line: “Setup is performing required operations on cluster nodes. This may take a few minutes...” </li></ul></ul><ul><ul><li>Assume this is the error footprint in Sqlstp.log: </li></ul></ul><ul><ul><ul><ul><li>14:51:37Setup is performing required operations on cluster nodes. This may take a few minutes... </li></ul></ul></ul></ul><ul><ul><ul><ul><li>14:51:37 C:WINNTTEMPSqlSetupBin emsetup.exe C:WINNT emsetup.ini </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:56 Process Exit Code: (2) The system cannot find the file specified. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:56 Begin Action : GetRemsetupRetCode </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:56 Installation return status on Node1 : 0 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:56 Installation return status on Node2 : 2 </li></ul></ul></ul></ul><ul><ul><li>Note: Installation return status code on Node1 is 0 (which means success) and on Node2 is 2 (indicating failure). To identify the exact error, review the SqlstpN.log on Node2 (because the failure occurred on Node2). SqlstpN.log on Node1 should indicate “Installation Succeeded.” </li></ul></ul>
  20. 20. Troubleshooting Virtual Server Setup Failure (7) <ul><li>Example 2 (continued) </li></ul><ul><ul><li>Assume this is the error footprint in SqlstpN.log on Node2: </li></ul></ul><ul><ul><ul><ul><li>15:04:21 ShowDlgInstanceName: GetLastError returned: 50044 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 End Action DialogShowSdInstanceName </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 End Action ShowDialogs </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 Action CleanUpInstall: </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 StatsGenerate returned: 2 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 StatsGenerate (0x0,0x1,0xf00000,0x300,1033,0,0x0,0x1000000a,0,0,0 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 StatsGenerate -1,Administrator) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>15:04:21 Installation Failed. </li></ul></ul></ul></ul><ul><ul><li>Now we know that the unattended setup failed on Node2 with the error 50044. Unlike the last error message, this one is not very intuitive. </li></ul></ul><ul><ul><li>Next, search for this error in the Microsoft Knowledge Base </li></ul></ul><ul><ul><ul><li>Visit http://support.microsoft.com and then click “Search the Knowledge Base.” Select “SQL Server” as the Microsoft product and type “GetLastError returned: 50044” in the Search field. This will return the article: 318672 , “Error Message: Setup failed to perform the required operation on the cluster nodes” </li></ul></ul></ul>
  21. 21. Troubleshooting Virtual Server Setup Failure (8) <ul><li>Example 3 </li></ul><ul><ul><li>Lets review a virtual server setup that failed with the following error message </li></ul></ul><ul><ul><li>An error occurred while creating virtual server resources for clustering. Setup </li></ul></ul><ul><ul><ul><li>could not connect to the database to update cluster-specific information in the </li></ul></ul></ul><ul><ul><ul><li>system tables. </li></ul></ul></ul><ul><li>This error indicates that the failure occurred when the virtual server resources were created </li></ul><ul><li>Reviewing Sqlstp.log will indicate success (result code 0) on all cluster nodes </li></ul><ul><ul><ul><li>14:54:44 Installation return status on Node1 : 0 </li></ul></ul></ul><ul><ul><ul><li>14:54:44 Installation return status on Node2 : 0 </li></ul></ul></ul><ul><li>SqlstpN.log on all nodes will indicate “Installation succeeded” </li></ul><ul><li>Note that the setup failed with error: “Setup could not connect to the database to update cluster-specific information in the system tables” </li></ul>
  22. 22. Troubleshooting Virtual Server Setup Failure (9) <ul><li>Example 3 (continued) </li></ul><ul><ul><li>After the virtual resources for SQL Server are created, setup makes an ODBC connection to the SQL Server to update cluster-specific information in the system tables </li></ul></ul><ul><ul><ul><li>If it cannot make a connection, it fails with this error message </li></ul></ul></ul><ul><ul><li>The root cause for the above error was improper name resolution </li></ul></ul><ul><ul><li>In all cases, you can run the setup successfully after fixing the name resolution issue </li></ul></ul>
  23. 23. Troubleshooting Virtual Server Setup Failure (10) <ul><li>Example 3 (continued) </li></ul><ul><ul><li>Verify the following on both nodes : </li></ul></ul><ul><ul><ul><li>Ping by name (cluster node names, cluster name, and SQL Server virtual name) </li></ul></ul></ul><ul><ul><ul><li>Ping by IP address (node IP addresses, cluster IP address, and SQL Server IP address) </li></ul></ul></ul><ul><ul><ul><li>Verify the result of the ping </li></ul></ul></ul><ul><ul><ul><ul><li>Verify that the results are correct and as expected </li></ul></ul></ul></ul><ul><ul><ul><ul><li>For example, when you ping by the cluster name, make sure your reply is from the correct IP address </li></ul></ul></ul></ul><ul><ul><ul><li>Verify how much time it takes for the ping to reply </li></ul></ul></ul><ul><ul><ul><ul><li>Sometimes, because of name resolution problems, a ping takes a long time to return a successful echo </li></ul></ul></ul></ul><ul><ul><ul><ul><li>If the ping takes a long time, you can temporarily add host file entries on both nodes of the cluster and then see if the ping replies immediately </li></ul></ul></ul></ul>
  24. 24. Troubleshooting Virtual Server Service Pack Setup Failures <ul><li>The basic steps for troubleshooting a virtual server service pack setup failure are similar to the steps for troubleshooting a virtual server setup failure </li></ul><ul><li>Instead of reviewing Sqlstp.log for service pack failures on virtual SQL Server, review Sqlsp.log file on the node where the service pack installation was started </li></ul><ul><li>After you identify where the service pack setup failed, review the appropriate service pack setup file (SqlspN.log) to find the exact error message </li></ul><ul><li>Use the keywords in the error message to perform a search in the Microsoft Knowledge Base to find more detailed information about the error, and the solution to the problem </li></ul>
  25. 25. Troubleshooting Virtual Server Service Pack Setup Failures (2) <ul><li>Example 4 </li></ul><ul><ul><li>Lets review a virtual server service pack setup that failed with the following error message: </li></ul></ul><ul><li> Setup failed to perform required operations on the cluster nodes </li></ul><ul><ul><ul><li>Notice that this is the same error message that we saw in Examples 1 and 2 </li></ul></ul></ul><ul><ul><ul><li>As before, open the file Sqlsp.log on the node where you ran the service pack setup and search for the line: “Setup is performing required operations on cluster nodes. This may take a few minutes...” </li></ul></ul></ul>
  26. 26. Troubleshooting Virtual Server Service Pack Setup Failures (3) <ul><li>Example 4 (continued) </li></ul><ul><ul><ul><li>Lets assume this is the error footprint in Sqlsp.log: </li></ul></ul></ul><ul><ul><ul><ul><ul><li>12:54:42 Setup is performing required operations on cluster nodes. This may take a few minutes... </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>12:54:42 &quot;C:DOCUME~1SQLExecLOCALS~1Temp1SqlSetupBin emsetup.exe&quot; C:WINNT emsetup.ini </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>13:03:08 Process Exit Code: (3010) The requested operation is successful. Changes will not be effective until the system is rebooted. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>13:03:08 Begin Action : GetRemsetupRetCode </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>13:03:08 Installation return status on Node1 : 3010 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>13:03:08 Installation return status on Node2 : -1 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>13:03:08 End Action : GetRemsetupRetCode </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>13:03:08 End Action : GetRemsetupRetCode </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>#### SQL Server Remote Setup - Start Time mm/dd/yy 12:54:42 #### </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Server ‘Node2' not found on the network (53). </li></ul></ul></ul></ul></ul>
  27. 27. Troubleshooting Virtual Server Service Pack Setup Failures (4) <ul><li>Example 4 (continued) </li></ul><ul><ul><li>Note : Installation return status code on Node1 is 3010 (The requested operation is successful. Changes will not be effective until the system is rebooted) and result code on Node2 is -1 (general failure). sqlspN.log on Node1 will indicate “Installation Succeeded - Reboot Required”. </li></ul></ul><ul><ul><li>In this case, no setup files were created on Node2 </li></ul></ul><ul><ul><ul><li>Notice the error “Server ‘Node2' not found on the network (53).” in the Sqlsp.log file </li></ul></ul></ul><ul><ul><ul><ul><ul><li>net helpmsg 53 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>returns “The network path was not found.” </li></ul></ul></ul></ul></ul><ul><ul><li>This indicates network issues </li></ul></ul><ul><ul><li>To resolve this, fix the network issue first, and then review the Windows NT® event logs and cluster logs to make sure there are no errors </li></ul></ul><ul><ul><li>Make sure that you can: </li></ul></ul><ul><ul><ul><li>Ping each node by names and IP address </li></ul></ul></ul><ul><ul><ul><li>Connect to the ADMIN$ share on node2 from node1 and vice-versa </li></ul></ul></ul><ul><ul><li>After you fix the network issues, re-run the service pack setup </li></ul></ul>
  28. 28. Troubleshooting Virtual Server Service Pack Setup Failures (5) <ul><li>Example 5 </li></ul><ul><ul><li>Lets review a virtual server service pack setup that failed with the following error message: </li></ul></ul><ul><ul><ul><li>An error occurred while creating virtual server resources for clustering. </li></ul></ul></ul><ul><ul><ul><li>Cannot create a file when that file already exists. </li></ul></ul></ul><ul><ul><ul><li>This error indicates that the failure occurred when the virtual server resources were created </li></ul></ul></ul><ul><ul><ul><ul><li>For more details, review Sqlsp.log and Sqlclstr.log on the node where the service pack setup was started </li></ul></ul></ul></ul><ul><ul><ul><li>Assume that Sqlsp.log has the following error footprint: </li></ul></ul></ul><ul><ul><ul><ul><ul><li>20:22:25 Begin Action : CreateVirtualServerResources </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>20:22:25 Begin: BeforeFTS() </li></ul></ul></ul></ul><ul><ul><ul><ul><li>20:22:25 Begin Action : EnumerateNodes </li></ul></ul></ul></ul><ul><ul><ul><ul><li>20:22:25 End Action : EnumerateNodes </li></ul></ul></ul></ul><ul><ul><ul><ul><li>20:22:25 End: AfterFTS() </li></ul></ul></ul></ul><ul><ul><ul><ul><li>20:22:35 End Action : CreateVirtualServerResources </li></ul></ul></ul></ul><ul><ul><ul><ul><li>20:22:35 CreateVirtualServerResources returned: 183 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>20:28:38 Begin Action : ClusterErrorCleanup </li></ul></ul></ul></ul>
  29. 29. Troubleshooting Virtual Server Service Pack Setup Failures (6) <ul><li>Example 5 (continued) </li></ul><ul><ul><li>Assume that Sqlclstr.log has the following error footprint: </li></ul></ul><ul><ul><ul><li>cConnectString=&quot;ODBC;DSN='';DRIVER={SQL Server};SERVER=VSQL;DATABASE=master;Trusted_Connection=yes&quot; </li></ul></ul></ul><ul><ul><li> Database 'pubs' cannot be opened because it is offline </li></ul></ul><ul><ul><ul><li>[sqlclusterSetup.cpp:1295] : 183 (0xb7): ~~~ DoClusterSetupWork </li></ul></ul></ul><ul><ul><li>During the virtual server service pack installation, setup queries the databases to make sure that all the database files are on disk resources that have the correct dependencies, and the virtual SQL Server resource, which is necessary for the failover support </li></ul></ul><ul><ul><ul><li>When a database is offline, setup cannot access the database and fails with the above message </li></ul></ul></ul><ul><ul><li>To work around this problem, bring the inaccessible database online, and then rerun the service pack setup </li></ul></ul><ul><ul><li>For more details, in the Knowledge base, search for “[sqlclusterSetup.cpp:1295] : 183” to return the article: 320524 , “SQL Server Service Pack 2 Setup May Stop Responding in a Windows Clustering Environment If There Is an Offline Database” </li></ul></ul>
  30. 30. SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server <ul><li>Service Pack 3 (SP3) for SQL Server 2000 is a major service pack and it should be thoroughly tested in a test environment first </li></ul><ul><ul><li>The basic testing goal is to make sure your applications are working correctly with the changes introduced by SP3 </li></ul></ul><ul><li>To make sure your SP3 setup is successful, complete the following pre-installation checklist </li></ul><ul><li>Checklist </li></ul><ul><li>Review the Readme file for SP3 and note any areas that could affect your production environment, and then test these before proceeding </li></ul><ul><li>Run DBCC checkdb against all your databases (system and user databases) </li></ul><ul><ul><li>Resolve any unexpected errors before continuing </li></ul></ul>
  31. 31. SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server (2) <ul><li>Make sure that you have a recent and accurate backup of your system and user databases, and your full text catalogs </li></ul><ul><li>Stop all monitoring software services (on all nodes that are part of the virtual SQL Server) such as Microsoft Operation Manager (MOM) and any third-party products that provide similar functionality </li></ul><ul><ul><li>Set this type of software for manual startup and restart the servers before you install SQL Server 2000 SP3 </li></ul></ul><ul><li>Verify that all the resources in the SQL Server group that contain the instance of SQL Server come online on all nodes of the cluster </li></ul><ul><ul><li>If any resource does not come online, fix that before you upgrade to SP3 </li></ul></ul>
  32. 32. SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server (3) <ul><li>Verify that there are no dependencies other than those created by the SQL Server setup on any SQL Server cluster resources </li></ul><ul><ul><li>Resources such as file shares, FTP servers, and Microsoft Internet Information Services (IIS) servers must always have a unique network name and an IP address resource </li></ul></ul><ul><ul><li>Remove any such non-default dependencies before you install SQL Server 2000 SP3 </li></ul></ul><ul><li>While performing the cluster portion of SQL Server 2000 SP3, the setup will reset all cluster resources to the default properties for all resources in the group, whether they are related to SQL Server or not </li></ul><ul><ul><li>Make sure to note all settings before you install SQL Server 2000 SP3 </li></ul></ul>
  33. 33. SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server (4) <ul><li>SP3 installation will fail if the “Unsigned non-driver installation behavior local security policy for Windows 2000” was set to &quot;Do not allow installation” </li></ul><ul><ul><li>Review the Readme file for more information </li></ul></ul><ul><li>Set unnecessary services for manual startup on all nodes of cluster and restart nodes before upgrading </li></ul><ul><ul><li>For a list of services that should be left running, see the “Prerequisites” section of the Microsoft white paper “SQL Server 2000 Failover Clustering” </li></ul></ul><ul><ul><li>Log on all nodes of the cluster using the startup account of the virtual SQL Server service </li></ul></ul><ul><li>Set MASTER, MODEL, and MSDB databases to auto grow on Data and log file </li></ul><ul><li>Remove Read Only option from user databases and restrict access to DBO </li></ul><ul><li>Disable any agent jobs that might interfere with the upgrade </li></ul>
  34. 34. Additional Resources <ul><li>Microsoft White Paper - SQL Server 2000 Failover Clustering http://www.microsoft.com/SQL/techinfo/administration/2000/failovercluster.asp </li></ul><ul><li>Microsoft Knowledge Base Articles </li></ul><ul><ul><li>302491 , “Setup May Fail to Perform Required Operations on the Cluster Nodes When Special Characters are Used in the Resource Name” </li></ul></ul><ul><ul><li>318672 , “Error Message: &quot;Setup failed to perform the required operation on the cluster nodes“” </li></ul></ul><ul><ul><li>320524 , “SQL Server Service Pack 2 Setup May Stop Responding in a Windows Clustering Environment If There Is an Offline Database” </li></ul></ul><ul><ul><li>254321 , “INF: Clustered SQL Server Do's, Don'ts, and Basic Warnings” </li></ul></ul><ul><ul><li>811168 , “INF: SQL Server 2000 Service Pack 3 Pre-Installation Checklist for SQL Server 2000 Virtual Server for Failover Clustering” </li></ul></ul><ul><li>SQL Server 2000 Books Online topic &quot;Failover Clustering” </li></ul>

×