Discussion Locked

SQL 6.5 database initialization problem

0 helpful
3 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

We have been experiencing reoccuring problems with two databases (DBs) being marked as suspect after restarting SQL.

One of the DBs is the msdb. It is constantly being marked suspect after a SQL Server service restart (or reboot of the server). the other is a workflow DB.

It appears the problem starts upon initialization of the MS DTC. The message returned is 'Failed to obtain TransactionDispenserInterface: XACT_E_TMNOTAVAILABLE'.

Since the MS DTC uses the MTS to handle transactions, Ibelieve that part of our problem may lie in this error.

There is also an error that occurs during the disk initialization phase of SQL. The error reported is OS system error 5:Access Denied.

We have used the dbhelp option to determine the DB owner; it is 'sa'. We have checked the device file permissions. They are set to 'Everyone' and 'Full Control'. Furthermore, all other DBs - there are a total of 12 including the system DBs - start
without a problem. There is one exception. The DB which handles document workflow is experiencing the same problems as the msdb.

I have researched some of this on the Microsoft web site, but found very limited information (big surprise :-| ).

The last error message recorded during the recovery of the DB is OS error 6: The handle is invalid. This message displays a virtual page address in hex.

The only other strange thing that is happening is related to the MS DTC log file being set to read-only. No record of how this is happening.

Weare running NT 4.0 with SP 5, SQL 6.5 with SP 5a on a Dual Intel PIII processor system with 512 MB of RAM.

Any input will be duely rewarded! Thanks!

3 replies

by lwe

Don't know for sure, but all your problems could be related to the access denied error. Have you checked what NT ID the SQL Services are running under? Make sure they are running under an ID that has the appropriate permissions. You might try makingthe ID a member of the administrators local group on the NT server and see if that eliminates the problem.

by pparks_2000

After a second look at the logs and some comferring with my collegues, we came to the conclusion that the MS SQL Server service was starting before the MS DTC. This meant that when, during the SQL start-up, SQL made the ITransactionDispenser::BeginTransaction method call, the transaction manager interface was not available to respond.

The fix was to force the MS SQL Server service to depend on the MS DTC to start. This allowed all services to start in order and prevent the two databases which are reliant on the DTC for functionality from being marked as suspect.

This discussion is closed to new replies.