Last
week I faced an error on testing environment while right click on my subscriber
and article property.
Database
'distribution' cannot be opened. It has been marked SUSPECT by recovery. See
the SQL Server error log for more information. (Microsoft SQL Server, Error:
926)
For
help, click:
http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.5058&EvtSrc=MSSQLServer&EvtID=926&LinkId=20476
------------------------------
After
that I found my replication set-up is stopped... In
according to error and without any doubt I was clear this issue is related to Distribution
database. Either it has been corrupted or anything else goes wrong with DB...
Then I started googling
and digging inside replication configuration, architecture and setup
(publisher-distributor and subscriber). I found some help from mytechmantra.com
to recover any database if corrupted. So I tried some steps as below… I did 5 steps to correct the issue:
- ALTER DATABASE distribution SET EMERGENCY
- ALTER DATABASE distribution SET SINGLE_USER WITH ROLLBACK IMMEDIATE
- DBCC CHECKDB (distribution)
- DBCC CHECKDB (distribution, REPAIR_ALLOW_DATA_LOSS)
- ALTER DATABASE Distribution SET MULTI_USER
First I run:
ALTER DATABASE distribution SET
EMERGENCY
Result
got change like below
Then I run:
ALTER DATABASE distribution SET
SINGLE_USER WITH
ROLLBACK IMMEDIATE
Result
got on msg below like below :
Nonqualified transactions are being
rolled back. Estimated rollback completion: 0%.
Nonqualified transactions are being
rolled back. Estimated rollback completion: 100%.
Then I run below
DBCC CHECKDB (distribution)
I
find lots of errors in message windows like below
There are 0 rows in 0 pages for object
"MSnosyncsubsetup".
Msg 8948, Level 16, State 1, Line 3
Database error: Page (1:522) is marked
with the wrong type in PFS page (1:1). PFS status 0x0 expected 0x60.
Msg 8948, Level 16, State 1, Line 3
Database error: Page (1:521) is marked
with the wrong type in PFS page (1:1). PFS status 0x0 expected 0x60.
Msg 8906, Level 16, State 1, Line 3
Page (1:856) in database ID 11 is
allocated in the SGAM (1:3) and PFS (1:1), but was not allocated in any IAM.
PFS flags 'MIXED_EXT ALLOCATED
0_PCT_FULL'.
Msg 8980, Level 16, State 1, Line 3
CHECKDB found 8 allocation errors and 22 consistency errors in database
'distribution'.
Repair_allow_data_loss is the minimum
repair level for the errors found by DBCC CHECKDB (distribution).
DBCC execution completed. If DBCC
printed error messages, contact your system administrator
Then
I decided to repair this error using below command:
DBCC CHECKDB (distribution, REPAIR_ALLOW_DATA_LOSS)
There are 0 rows in 0 pages for object
"MSnosyncsubsetup".
DBCC results for 'MSrepl_commands'.
Msg 8948, Level 16, State 1, Line 3
Database error: Page (1:522) is marked
with the wrong type in PFS page (1:1). PFS status 0x0 expected 0x60.
The error has been repaired.
There are 87 rows in 5 pages for
object "MSrepl_commands".
CHECKDB found 1 allocation errors and
0 consistency errors in table 'MSrepl_commands' (object ID 501576825).
DBCC results for 'MSrepl_originators'.
There are 0 rows in 0 pages for object
"sys.filetable_updates_2105058535".
CHECKDB found 8 allocation errors and
23 consistency errors in database 'distribution'.
CHECKDB fixed 8 allocation errors and
23 consistency errors in database 'distribution'.
DBCC execution completed. If DBCC
printed error messages, contact your system administrator.
Finally good message comes after below
command:
ALTER DATABASE Distribution SET
MULTI_USER
Error goes out and replication started fi9...
This is Good information about this topic..I like it.. wordpress database fix ..Keep it Up!
ReplyDelete