FIX for SQL cluster instance install error: “There was an unexpected failure during the setup wizard. The service cannot be started, either because it is disabled, or because it has no enabled devices associated with it”


I received the following generic popup message when installing a new instance on SQL 2005 SP3 cluster running on Windows Server 2003 R2: 

There was an unexpected failure during the setup wizard.  The service cannot be started, either because it is disabled, or because it has no enabled devices associated with it.
 
The active node’s system and application event logs didn’t even show any services trying to start.  The SQL setup log wasn’t terribly helpful either.  The error was:
 
Error: Action “OpenPipeAction” failed during execution.

I found that after I canceled the failed installation, more information was written to the setup log.  That’s when I found these messages:

Error: Action “RunRemoteSetupAction” failed during execution.  Error information reported during run:

Attempting to determine log files for remote install.

Connection to remote computer’s scheduler service.

Error: SetTargetComputer on \\NODE2 failed with

Unable to start service (1058)

WinException while starting remote setup.

        Error Code: 0x80070422 (1058)

Windows Error Text: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.

I saw that the Task Scheduler was disabled on NODE2 (per our build standard).  I started the service, and the SQL instance installation completed successfully.

SQL query to find BES UserID


Had a support call today about a user not receiving email on his Blackberry device.  After a phone call to Research in Motion, we determined the user was out of the coverage area.  Very frustrating.  All the information was in the Blackberry Enterprise Server’s MAGT log, I just didn’t know how to find it.  Here’s how I figured it out.

Previously I had posted the following SQL query that determines a user’s name based upon the BES ID number.

SELECT     Id, DisplayName, UserName
FROM         UserConfig
WHERE     (Id = ‘73′)

I changed the query around to find the BES UserID based upon the UserName:

SELECT     Id, DisplayName, UserName
FROM         UserConfig
WHERE     (UserName = ‘jsmith’)

This query gave me the BES UserID, which was 779 in my case.

I then opened up the BES MAGT log, and searched for the following string:

UserId: 779 is out of coverage

I found it repeatedly.  My user was out of coverage all day, which is why no mail  was received on his Blackberry.

Fix: SQL Configuration Manager Connection to target machine could not be made in a timely fashion


Things didn’t go too smoothly yesterday when I was trying to reconfigure our SQL 2005 cluster and it’s database locations.  At one point I couldn’t even get SQL Configuration Manager to start up.  At various times I received both of the following errors.

The request failed or the service did not respond in a timely fashion. Consult the event log or other applicable error logs for details.  

Connection to target machine could not be made in a timely fasion.
 
Luckily, the fix was pretty easy.  Just launch services.msc and restart the Windows Management Instrumentation (WMI) service, SQL Configuration Manager should start up for you. 

Fix: SQL agent wont start on Windows 2003 Cluster, Event 53


The Problem

SQL Agent won’t start on a Windows cluster for a particular instance

The Symptoms

Seen in Windows Application log
 
Event: 53 Source: SQLAgent$CF3Common Category: Failover
 
[sqagtres] OnlineThread: Error 6 bringing resource online.
[sqagtres] OnlineThread: ResUtilSetResourceServiceEnvironment failed (status 6)
 
The Cause
 
In Cluster Administrator, the SQL Server Agent had lost its dependency upon the SQL server resource for the affected instance.
 
The Solution
 
Add the SQL Server dependency, bring SQL Server Agent online in Cluster Administrator

SQL Query to determine Blackberry MDS Services administration password


I was troubleshooting a Blackberry Manager problem today that required the BES MDS credentials.  The admin thought he knew what the credentials were, but wasn’t sure.  So I wrote the following SQL query and ran it against the Blackberry Enterprise Server’s BesMgmt database to get the user name and password:  

Use BesMgmt
select
WSAdminUserName, WSAdminPassword
from dbo.MDSAGConfig
 
Replace BesMgmt with the name of your BES database if you are not using the default database name.
 
See RIM KB15618 for additional details on how to reset the BES MDS Services administration password.

FIX: Event ID: 57860 “An error occurred while attempting to log in to the following server… SQL error number: “0011” is seen when backing up a server with SQL installed


Exact Error Message

Event ID: 57860 Source: Backup Exec Type: Error Description: An error occurred while attempting to log in to the following server: “SERVERNAME”. SQL error number: “0011”. SQL error message: “[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied
 
Details:
 
This error will occur when performing any type of backup on a server running Microsoft SQL Server or Microsoft SQL Server Desktop Engine (MSDE), even if the SQL Agent Backup is not being performed. “bedssql2.dll” will always be initialized and loaded on every server that is running the “Backup Exec Remote Agent Service ” whether the SQL agent and license is installed or not.
 
Cause:
 
One or more SQL Databases are corrupted on the remote machine, or the SQL database no longer exists on the remote machine.

Workaround:

Perform the following to resolve this issue:

1. On the SQL server, stop the Backup Exec Remote Agent Service from Windows Control Panel > Services.

2. If SQL is installed on the media server (i.e. if SQL is on the same machine as Backup Exec), within Windows Explorer browse to the installation directory for Backup Exec, which by default is:

\Program Files\VERITAS\Backup Exec\NT

for Backup Exec version 11d and above, the default location is 

\Program Files\Symantec\Backup Exec\
 
If SQL is installed on a remote server, browse to the installation directory for the Remote Agent:

\Program Files\VERITAS\Backup Exec\RANT

for 11d and above:

\Program Files\Symantec\Backup Exec\RAWS

3. Rename the bedssql2.dll file to bedssql2.old

4. Start the Backup Exec services

If the SQL/MSDE is installed on a Remote Server:

1. Stop Remote Agent service on the remote server.
2. Rename the bedssql2.dll file to bedssql2.old on the remote server.
3. Start the Remote Agent service.
4. Re-Start the Backup Exec services on the media server.
5. Run the Backup job and check the result.

WARNING:  Renaming the bedssql2.dll will effectively disable the SQL agent on the server it is renamed upon.  If the SQL agent is purchased in the future, the issue with the corrupt database(s) must be resolved first, and backup of the SQL servers on which the bedssql2.dll was changed is desired – the bedssql2.old file MUST be renamed back to bedssql2.dll. 

How to change the SQL sa password from a command prompt


To change the SQL sa password from a command prompt:

Start a command prompt by typing StartRuncmd

Enter the following commands, pressing Enter after each line

OSQL -S yourservername -E
    1> EXEC sp_password NULL, ‘yourpassword’, ‘sa’
    2> GO

Where yourservername is the name of your server and yourpassword is the new sa account password.  Type exit twice to return to the server desktop. 

This works in SQL 2005, I don’t have access to other versions so I can’t say if it will or won’t work other versions of SQL.

Posted in howto. Tags: , , , . 4 Comments »