Quote:> Subject: SQL Server 6.0 to Server 7.0 Migration Problems
You need to fix the 605 before doing the migration.
Q. I am getting an error 605 on SQL Server - what can I do?
A. This problem is caused by a cross-link in the page chains of two or more
tables, causing them to point to each other's data. Make sure that is a "real"
605 by running the dbcc in single-user mode as they can be spuriously reported
if updates are occuring at the time of the dbcc.
At this point if you have a good backup and will not lose any data, then now is
the time to use it. If you don't have a good backup then look at your backup
procedures! To try and resolve the problem read on :-
Use DBCC PAGE (doc'd in the Books Online) to determine whether the page is a
data or index page. If it is an index you are in luck and you may be able to
drop and recreate the index.
If it is not an index page or this does not work then you will need to transfer
all the data/objects into a new database. For the problem table(s) this may
not work as the page chain is broken, so you will probably need to manually
select out data in ranges based on keys above and below the broken point(s).
Once you have transferred all the objects across drop the old database and
rename the new one.
If you don't want to transfer all the data across then you can just do the
broken tables. When this is done, rename the broken tables by directly
updating their name in sysobjects. Then create new tables with the old names.
Make sure no other errors are in the database first. Make sure you also
re-create any views/stored-procedures that reference the tables so that they
start pointing to the new ones.
If the above is not possible due to the size of the database or other reasons
then your only alternative is to pay for Microsoft PSS support who may be able
to patch the pointers in the tables/pages directly for you. However this sort
of fix is not guaranteed and is done (if at all) on a best efforts basis
totally at your risk.
Q. I'm getting an error 1117/2543 in SQL Server. Can I rebuild the extents
A. It is recommended that you select/bcp out all the relevant data and then
recreate the objects concerned. However, if you want to attempt a rebuild of
the extents then make a backup first, and then try the following after putting
the database into single-user/read-only mode first :-
Alternatively you could just rename the object and leave it in the database
with a dummy name - you won't be able to drop the object.
sp_dboption <dbname>,'read only',true
sp_dboption <dbname>,'read only',false
Neil Pike MVP/MCSE. Protech Computing Ltd
(Please reply only to newsgroups)
SQL FAQ (365 entries) see
or www.ntfaq.com/sql.html (+ ntfaq download)