Cannot find the user '$ndo$shadow'

I just did a technical upgrade from Nav 4.01 to 5.0. I also upgraded from SQL 2000 to a SQL 2005 db.

The db seems fine from the testing I’ve done as far as viewing\modifing data - doing regular user based transactions however when I attemp to import objects I get the following message:

15151,“42000”,[Microsoft][ODBC SQL Server Driver][SQL Server] Cannot find the user ‘$ndo$shadow’, because it does not exist or you do not have permission.

GRANT ALL ON “database”.“dbo”.“Tablename” TO [$ndo$shadow]

I’ve read numerous posts relating to $ndo$shadow and how to fix this issue in previous versions of SQL however this app role does not exist in SQL 2005.

Just wondering if anyone has run into this issue before.


What is your “Security Model”? “Standard” I suppose …

What happens if you “Synchronize” all users?


Never seen this specifc one before but we did have a few issues with the application role in one of our test DB’s. I assume you are using the standard security model? If so, you can probably fix it by temporary changing your security model to advanced (need db_owner to do this and be in single user mode- do this from Managment Studio - our Navision clients all seem to hang if do it through there) and then changing it back again to standard. This should rebuild the application role and resolve your issue. Best to try it in a test DB first obviously. If nothing else works, there is a utility on mibuso which will re-generate the application role completely. Not tried it so can’t comment on whether it will work for you.




We had this problem with a test database where this error occurred for a select number of users. On following your suggestion of changing the security model from Standard to Enhanced then, back again, the problem was resolved.

Thanks for posting this suggestion, as it was a bit confusing as only “some” users were effected.