Sunday, February 19, 2012

Error 229: Permissions problem with sysobjects and sysindexes

Hi,
I'm trying to view a database using Enterprise Manager and am getting the
following error when I try to view the list of tables, stored procs etc:
Error 229: SELECT permission denied on object 'sysobjects', database
'tours180805', owner 'dbo'.
SELECT permission denied on object 'sysindexes', database 'tours180805',
owner 'dbo'.
I'm not actually the administrator of this database, and all I know is that
it's a snapshot of a live database setup for me to develop against while i'm
writing a B2B link. As such I don't know what method was used to make the
copy, and if anything has been left out during copying. I don't have these
problems when viewing the live version.
Any help gratefully received.
Ben FidgeBen Fidge (BenFidge@.discussions.microsoft.com) writes:
> I'm trying to view a database using Enterprise Manager and am getting the
> following error when I try to view the list of tables, stored procs etc:
> Error 229: SELECT permission denied on object 'sysobjects', database
> 'tours180805', owner 'dbo'.
> SELECT permission denied on object 'sysindexes', database 'tours180805',
> owner 'dbo'.
> I'm not actually the administrator of this database, and all I know is
> that it's a snapshot of a live database setup for me to develop against
> while i'm writing a B2B link. As such I don't know what method was used
> to make the copy, and if anything has been left out during copying. I
> don't have these problems when viewing the live version.
It appears that someone though it a good idea to revoke access for public
to the system tables. You need to see an admin that can address this.
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techin.../2000/books.asp|||I am a SQL Server DBA (albeit a rookie) and I had the same problem when
moving a database from one server to another (same SQL level and such).
I raked my brain trying to figure out why my customer could not see
the contents of the database when all indications were that the user
IDs were migrated properly from the old to the new server (did I say
"migrated?" yes, user ids were migrated after generating the ddl using
sp_help_revlogin and making sure that all the permissions for the given
user appear to be identical on both servers).
Then I decided to just delete the user and addd it manually to SQL
Server and ... voila! no more 229 error.
Here is what I wonder (would say figured out but I am not that
confident)... When I migrated the user IDs I did so before I migrated
the database, hoping that I would not get any errors during the
database migration that could have been caused by not having a given
user already defined when an object is being created and/or loaded on
the new server. That must have been the cause of the problem because I
migrated another database without first migrating the user IDs and that
problem did not occur.
Anyone with a better explanation?
Erland Sommarskog wrote:
> Ben Fidge (BenFidge@.discussions.microsoft.com) writes:
> It appears that someone though it a good idea to revoke access for public
> to the system tables. You need to see an admin that can address this.
>
> --
> Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
> Books Online for SQL Server SP3 at
> http://www.microsoft.com/sql/techin.../2000/books.asp

No comments:

Post a Comment