Select to view content in your preferred language

Cannot register dataset as versioned �?? DBMS table not found �?? invalid object name

6833
1
03-21-2013 07:42 AM
deleted-user-qeqP86WthK5Z
Deactivated User

I'm setting up annotation in a versioned dataset and after realizing we needed additional attribution to said annotation decided to add additional annotation into the dataset with "New" tacked on the end. Moved all the data from the old annotation features into the corresponding new anno.  Reconciled and posted all anno edits from the old anno to default and compressed the database and updated table statistics with the Analyze tool.  I knew better but neglected to un-version the dataset before I deleted the old annotation features figuring I didn't need any of it any longer since the new anno was good. 

Received the following error when I try to register the dataset as versioned to version the new annotation.  (There are additional features in the dataset that have been previously versioned which I didn't check the check box to move edits to base so it tells me about that, I say ok and then):

Failed to register as versioned.
DBMS table not found[Microsoft SQL Server Native Client 10.0: Invalid object name �??GIS.MCGIS.ANNO_100Scale_BlockNumbers_New�??.]
[GIS.MCGIS.ANNO_100Scale_BlockNumbers_New][STATE_ID = 9816]
DBMS table not found[Microsoft SQL Server Native Client 10.0: Invalid object name �??GIS.MCGIS.ANNO_100Scale_BlockNumbers_New�??.]
[GIS.MCGIS.ANNO_100Scale_BlockNumbers_New][STATE_ID = 9816]

I did notice a bit of weirdness after this.  The very annotation feature class BlockNumbers_New was outside of the original dataset it was in originally and was listed outside datasets in ArcCatalog.  Continuing to be a bull in a china shop, I deleted the feature class figuring it was obviously not where I wanted it, it was not needed anymore, and if I removed it SDE might not care that it could not find it where it was originally (the dataset I was trying to version.)  This did not alleviate any part of my issue.  The same error as above is shown every time I try to version the dataset.

So digging into SQL I found that:
STATE_ID 9816 is the state id held by DEFAULT - from the SDE_Versions table.
That state id is in none of the adds or deletes tables and all such tables (including the business I tables) are no longer available for the annotation features I deleted.
The multiversioned views, automatically created when one versions a feature in ArcGIS 10, are gone as well.
The SDE_table_registry table has no record of the old anno features, nor does the SDE_layers table.

Besides snooping around in SQL I've diagnosed both the metatdata and tables with sdegdbrepair command line scripts. No issues were identified.

My question, besides how not get this error anymore, is where does this feature exist in the bowels of SDE that makes it think that it is still something that needs to be found and when it can't find it throws that error? 

What are my options here?
 

My next step was to create a new dataset, create and load all the data into that new dataset, un-version the old dataset and get all my names of the features and dataset set to the names I want and version the new dataset and move on with my life. 

The issue I have with that is that SDE thinks the dataset is not versioned when I try to un-version it now.  Any insight and guidance is extremely appreciated.

All the moves I made (good or bad) were performed in ArcCatalog.
I am running 10.1 SP1 desktop and 10 Server/SDE;  database is SQL 2008.

Thank you very much for any help you can give.

0 Kudos
1 Reply
deleted-user-qeqP86WthK5Z
Deactivated User
I called ESRI Tech Support and they helped me out.  The issue was that one way or another the Blocks anno class I deleted was not deleted from the geodatabase fully and was still inside the GDB_Items table.  When it came to versioning the dataset SDE knew there was some other item floating around that it needed to place in the dataset but couldn�??t find it and therefore did not know if the dataset was versioned or not.

Trying to add the feature back into the database through ArcCatalog will not work because it thinks the feature still exists in the geodatabase (Cannot add because feature already exists error).

We fixed it by running a command line:

shp2sde -o create �??l [orphaned featureclass],SHAPE �??f [Shapefile.shp] �??i sde:sqlserver:mcgis4 �??D [database] �??u [table owner] �??p [password]

We created a point shapefile (with the exact name as the missing feature class), which SDE took as an annotation feature class and the feature class re-appeared in ArcCatalog exactly where I had originally placed it.  The GDB_Items table must keep track of such things because the shp2sde command does not ask such questions when adding the shapefile.  The feature could then be deleted via ArcCatalog again and it removed fully, allowing me to re-create the annotation the way I needed it and re-version the dataset.

An additional way to accomplish this, I�??ve been told by another member of ESRI�??s staff, is to create a identically named table via SQL and this would make the item appear in ArcCatalog to be deleted in the same way.  I did not go this way but wanted to add it as an option.

This is another knowledge base article on this situation if you need more knowledge:
http://support.esri.com/en/knowledgebase/techarticles/detail/34050