Problems installing SQL Server 2005 in two node cluster




I'm trying to install a clustered version of SQL Server 2005 on
Windows Server 2003, and I've no got to the point where I'm not sure
what's going on.

Effectively, everything goes smoothly until the installer attempts to
start SQL Server on the active node, at which point I get a dialogue
box that states:

"The SQL Server service failed to start. For more information, see the
SQL Server Books Online topics, "How to: View SQL Server 2005 Setup
Log Files" and "Starting SQL Server Manually".

The Setup Log is dumping this text:

--------------------------------------------------
Error Code: 17058
MSI (s) (B8!14) [15:36:13:011]: Product: Microsoft SQL Server 2005 --
Error 29503. The SQL Server service failed to start. For more
information, see the SQL Server Books Online topics, "How to: View SQL
Server 2005 Setup Log Files" and "Starting SQL Server Manually."
The error is (17058) .

Error 29503. The SQL Server service failed to start. For more
information, see the SQL Server Books Online topics, "How to: View SQL
Server 2005 Setup Log Files" and "Starting SQL Server Manually."
The error is (17058) .
<Func Name='GetCAContext'>
<EndFunc Name='GetCAContext' Return='T' GetLastError='0'>
Doing Action: Do_sqlScript
PerfTime Start: Do_sqlScript : Mon Nov 10 15:36:13 2008
Service MSSQLSERVER with parameters '-m SqlSetup -Q -
qLatin1_General_CI_AS -T4022 -T3659 -T3610 -T4010' is being started at
Mon Nov 10 15:36:13 2008
Service failed unexpectedly (17058)
Error Code: 0x800742a2 (17058)
Windows Error Text: Source File Name: sqlsetuplib\service.cpp
Compiler Timestamp: Fri Sep 16 13:20:12 2005
Function Name: sqls::Service::Start
Source Line Number: 301
--------------------------------------------------

I'm not getting a SQL Error log, and looking in Event Viewer, I'm
seeing these two errors:

initerrlog: Could not open error log file 'Y:\Microsoft SQL Server
\MSSQL.1\MSSQL\LOG\ERRORLOG'. Operating system error = 5(error not
found).

UpdateUptimeRegKey: Operating system error 5(error not found)
encountered.

Now looking in Y:\..., ERRORLOG doesn't exist. So I've created it
manually ("copy con ERRORLOG" from the command line), validated
permissions:

--------------------------------------------------
Y:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG>cacls *
Y:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG DEVTEST
\SqlServer2005Agent:F

DEVTEST
\SqlServer2005:F
BUILTIN
\Administrators:F
NT AUTHORITY
\SYSTEM:F


Y:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG>
--------------------------------------------------

....and tried again. Still not starting, and ERRORLOG is 0 bytes in
size. Now I've fired up the sysinternal's tool PROCMON to dig a bit
deeper to see what I'm missing, and I'm seeing this:

--------------------------------------------------
Sequence: 29706
Date & Time: 10/11/2008 15:43:38
Event Class: File System
Operation: CreateFile
Result: ACCESS DENIED
Path: Y:\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG
TID: 676
Duration: 0.0000322
Desired Access: Generic Write, Read Attributes
Disposition: OpenIf
Options: Synchronous IO Non-Alert, Non-Directory File, Open No Recall
Attributes: N
ShareMode: Read
AllocationSize: 0
--------------------------------------------------

....and the process is (according to procmon) running as NT AUTHORITY
\SYSTEM.

Two things strike me as odd:
1. NT AUTHORITY\SYSTEM has Full access to the ERRORLOG file and
directory.
2. In services.msc, the process is configured to start as a named
domain user (DEVTEST\sqlsrv - a member of the group DEVTEST
\SqlServer2005) and *NOT* a built-in (LocalSystem, NetworkService,
etc)

Starting the service from services.msc still shows sqlservr.exe trying
to access the file as NT AUTHORITY\SYSTEM, and I get the same errors
in the event log: I don't understand why it isn't trying to connect to
the file as the configured domain user.

Background to the cluster:
* Two nodes running Windows Server 2003 with MSCS
* Used to host SQL Server 2000
* Server 2000 uninstalled using SQL Server 2000 CD
* This is the fifth (I think) attempt at installation, and I've had
the same error each time: attempted resolutions include:
-> Making sure I have the correct permissions (I'm a domain admin and
have the rights as defined at [1])
-> Ensuring all old SQL cluster resources are purged from Cluster
Administrator
-> Physically deleting all SQL Server directories from the two
servers and the shared RAID array
-> Purging the setup files from the registry with the Windows Install
Clean-up tool
-> Purging registry entries from HKLM\SOFTWARE\Microsoft releated to
SQL Server
-> Purging the services from HKLM\SYSTEM\CurrentControlSet\Services

I'm not sure what else I can do: as far as I'm aware, everything is
set-up correctly. NetBIOS is off the network cards, I have the right
rights, the domain groups configured for SQL Server, Agent and FT
Search are each Domain Local - Security and these seems to be getting
the right rights from what I can see in the Local Security Policy snap-
in.

I've googled and all the main candidates (crypto services not running;
permissions; NetBIOS enabled) I've all accounted for.

Suggestions on a postcard please -- more information can be provided
if requested.

Cheers,

Chris...
[1] http://msdn.microsoft.com/en-us/library/ms189910(SQL.90).aspx
.



Relevant Pages

  • Re: file backup component
    ... Otherwise you can try to use audit techniques to find out who's trying to access the LDF file. ... file backup app or any other app that need LDF file a while. ... he meant something that belongs to the SQL server itself. ... Delay the start of the SQL server service until manual start. ...
    (microsoft.public.windowsxp.embedded)
  • Re: Who is using MSMQ?
    ... To add on to the other responses, the MSMQ warning messages you get from the ... SQL Server Service Manager are the same ones you get from the Windows MMC ...
    (microsoft.public.sqlserver.security)
  • Re: SQL 2K SSL Connection Problem
    ... Why did not you check the SQL Server service itself? ... So ensure your SQL Server service runs and the best practice for SQL Server service is using a domain account in domain environments. ... supporting Microsoft Groove Server. ...
    (microsoft.public.sqlserver.setup)
  • RE: Error setting up SQL Replication
    ... SQL Server when you setup up your merge replication? ... Did your SQL Server service account has encough permission to read/write ... are using a remote distributor, please ensure that your distributor SQL ... Please gather Windows Event Logs on the problematic node: ...
    (microsoft.public.sqlserver.replication)
  • Re: Installation - What Account is needed?
    ... Because, when you change your SQL Server' s service account's password from your Active Directory, it won't be updated automatically at the SQL Server server and when your SQL Server service restarts, it'd compain about the wrong password. ... it does not mean your SQL Server services have to be running under the account which you installed the mentioned SQL Server instance. ... I understand you are asking about the required account to install a SQL ...
    (microsoft.public.sqlserver.setup)

Loading