Re: Access Denied etc. - appears to be Server 2003 SP1 problem
- From: "Graham Morris" <Graywing@xxxxxxxxxxxxxxxx>
- Date: Fri, 5 Aug 2005 11:09:50 +0100
I have solved this problem myself, so this message is for the benefit of
Googlers. MS have changed the Service Control Manager (SCM) on
Windows 2003 SP1 so that it has a different ACL. It seems that when you do
use SQL-DMO to query the state of a server, it checks the service state on
the node in question, and if the user doesn't have Connect, Enumerate
Service and Query Lock permissions on the SCM he gets a "Service Control:
Access Denied" message.
The good news is that you can change the ACL on the SCM on SP1 (it was
wired-in previously). The bad news is that I can't find a utility or MMC
snap-in to do this: it seems you have to write a program (which is what I
have done).
N.B. This problem is not confined to SQL clusters
"Graham Morris" <Graywing@xxxxxxxxxxxxxxxx> wrote in message
news:%239BKAoBlFHA.3960@xxxxxxxxxxxxxxxxxxxxxxx
> This now appears to be a problem related to installing Server 2003 SP1 -
> after I uninstalled it the problem went away. Sorry about the wrong info.
> Can anyone help?
>
> "Graham Morris" <Graywing@xxxxxxxxxxxxxxxx> wrote in message
> news:eiu3zA2kFHA.1412@xxxxxxxxxxxxxxxxxxxxxxx
>>I have a two node SQL Server 2000 cluster which I have upgraded to SP4.
>>
>> My application, running as a non-privileged user on another node, now
>> gets an
>> "access denied" error when it tries to check the state of the cluster
>> using SQL-DMO.
>> The code (in VBScript) looks like this:
>>
>> Dim oSQL
>>
>> set oSQL = CreateObject("SQLDMO.SQLServer")
>>
>> oSQL.Name = "VIRTUALSERVER"
>>
>> Dim stat
>>
>> stat = oSQL.Status
>>
>> WScript.echo "Status is " & stat
>>
>>
>> The line stat = oSQL.Status fails with "Access Denied". There is no
>> error if SQL Server is not clustered.
>>
>> The same user in the same environment can successfully run osql and query
>> the database as before.
>> I have an unsatisfactory workaround - if I call oSQL.Connect before
>> checking the status, it works. However if the server is down, it takes
>> 10-15 seconds and the connect fails rather than the status call.
>>
>> The OS is SQL Server 2003 (no service pack)
>>
>>
>
>
.
- Follow-Ups:
- Prev by Date: Re: 'SQLOLEDB' - 0x80004005
- Next by Date: Re: SQL Counters Missing
- Previous by thread: SQL Counters Missing
- Next by thread: Re: Access Denied etc. - appears to be Server 2003 SP1 problem
- Index(es):
Relevant Pages
|