Good morning.
The error 8510 can indicate a database corruption ? And
error 3437 ? (Error 8510, Severity: 20, State :1).
Thank you very much.
DanielThe 8510 error message is considered unnecessary because
the state of the transaction is already aborted or
committed before the error message occurs.
The 8510 error message occurs when two (2) SQL Server
SPIDs are working on behalf of the same MS DTC
transaction. One of the SPIDs is completing a successful
abort or commit operation. The second SPID is attempting
to re-enlist or reset the connection state. The reset is
generally associated with connection pooling operations.
The second SPID incorrectly looks for the MS DTC
transaction and encounters the 8510 error message when it
can no longer locate the transaction by a globally unique
identifier (GUID) because it was aborted or committed
successfully.
For error 3437:
There are 3 ways we can resolve the transaction. We used
the 2nd option (II) to
resolve the issue. We made sure to stop SQL Server
services and MSDTC. We
restarted MSDTC and then used the command line arguments
to start SQL, details
bellow:
I) To resolve the problem transactions using the MSDTC
Administrative Console.
1) On Windows NT server, you can invoke that by
running DAC.EXE from Start\
Run. Then under Transactions tab, right click the
transaction, and select
Resolve.
2) On Windows 2000, follow the below steps:
a. Open the MMC Console by typing MMC.exe in the Run
dialog box.
b. In the MMC console dialog box, click Console, and
then click Add/Remove
Snap-in.
c. In the Add/Remove Snap-in dialog box, click Add.
d. In the Add Standalone Snap-in dialog box, click
Component Services, and then
click ADD to add the snap-in. Click Close.
e. In the Add/Remove Snap-in dialog box, click OK.
f. In the console root under Component Services,
expand Component Services,
point to Computers, point to My Computer, and then click
Distributed
Transaction Coordinator.
g. Select Transaction List. The right window will
show the transactions. Right
click the transaction, and select Resolve. Now there are 3
options. Commit,
Abort or Forget.
We tried selecting from the resolve menu these options and
got the error:
Abort - the transaction cannot be forced to abort or
commit because the
transaction state is not ?in doubt?.
Forget - either the transaction is not committed or the
are resource managers
or subordinate MSDTC transaction managers still connected.
II) As the dB is receiving error 3437 during recovery, is
to start SQL Server
under a trace flag from the command prompt, as follows:
sqlservr -c -m -T3421 -T3605
You will be prompted for each transaction in the prepared
state and will be
able to manually commit or rollback the transaction as
desired. In my case we
opted to rollback the transactions.
See the section "Manually Resolving Transactions" in Books
Online for more
details on the ramifications of manually resolving
transactions.
After resolving the transaction, you can stop the server
from the command
prompt by clicking CTRL+C.
III) Use the KILL command passing the Unit of Work ID
(UOW) value. So we should
use
KILL UOW WITH { COMMIT | ROLLBACK }
This posting is provided "AS IS" with no warranties, and
confers no rights.
http://www.microsoft.com/info/cpyright.htm
>--Original Message--
> Good morning.
> The error 8510 can indicate a database corruption ? And
>error 3437 ? (Error 8510, Severity: 20, State :1).
>
>Thank you very much.
>Daniel
>.
>|||Thank you very very very much!
Regards.
Daniel
>--Original Message--
>The 8510 error message is considered unnecessary because
>the state of the transaction is already aborted or
>committed before the error message occurs.
>
>The 8510 error message occurs when two (2) SQL Server
>SPIDs are working on behalf of the same MS DTC
>transaction. One of the SPIDs is completing a successful
>abort or commit operation. The second SPID is attempting
>to re-enlist or reset the connection state. The reset is
>generally associated with connection pooling operations.
>The second SPID incorrectly looks for the MS DTC
>transaction and encounters the 8510 error message when it
>can no longer locate the transaction by a globally unique
>identifier (GUID) because it was aborted or committed
>successfully.
>For error 3437:
>There are 3 ways we can resolve the transaction. We used
>the 2nd option (II) to
>resolve the issue. We made sure to stop SQL Server
>services and MSDTC. We
>restarted MSDTC and then used the command line arguments
>to start SQL, details
>bellow:
>
>I) To resolve the problem transactions using the MSDTC
>Administrative Console.
>1) On Windows NT server, you can invoke that by
>running DAC.EXE from Start\
>Run. Then under Transactions tab, right click the
>transaction, and select
>Resolve.
>2) On Windows 2000, follow the below steps:
>a. Open the MMC Console by typing MMC.exe in the Run
>dialog box.
>b. In the MMC console dialog box, click Console, and
>then click Add/Remove
>Snap-in.
>c. In the Add/Remove Snap-in dialog box, click Add.
>d. In the Add Standalone Snap-in dialog box, click
>Component Services, and then
>click ADD to add the snap-in. Click Close.
>e. In the Add/Remove Snap-in dialog box, click OK.
>f. In the console root under Component Services,
>expand Component Services,
>point to Computers, point to My Computer, and then click
>Distributed
>Transaction Coordinator.
>g. Select Transaction List. The right window will
>show the transactions. Right
>click the transaction, and select Resolve. Now there are
3
>options. Commit,
>Abort or Forget.
>
>We tried selecting from the resolve menu these options
and
>got the error:
>Abort - the transaction cannot be forced to abort or
>commit because the
>transaction state is not ?in doubt?.
>Forget - either the transaction is not committed or the
>are resource managers
>or subordinate MSDTC transaction managers still
connected.
>
>II) As the dB is receiving error 3437 during recovery, is
>to start SQL Server
>under a trace flag from the command prompt, as follows:
>sqlservr -c -m -T3421 -T3605
>You will be prompted for each transaction in the prepared
>state and will be
>able to manually commit or rollback the transaction as
>desired. In my case we
>opted to rollback the transactions.
>See the section "Manually Resolving Transactions" in
Books
>Online for more
>details on the ramifications of manually resolving
>transactions.
>After resolving the transaction, you can stop the server
>from the command
>prompt by clicking CTRL+C.
>
>III) Use the KILL command passing the Unit of Work ID
>(UOW) value. So we should
>use
>KILL UOW WITH { COMMIT | ROLLBACK }
>
>This posting is provided "AS IS" with no warranties, and
>confers no rights.
>http://www.microsoft.com/info/cpyright.htm
>>--Original Message--
>> Good morning.
>> The error 8510 can indicate a database corruption ? And
>>error 3437 ? (Error 8510, Severity: 20, State :1).
>>
>>Thank you very much.
>>Daniel
>>.
>.
>
No comments:
Post a Comment