Ten eerste - u moet sys.objects gebruiken in plaats van dbo.sysobjects. dbo.sysobjects is een SQL 2000-constructie die alleen in SQL 2008 voorkomt vanwege achterwaartse compatibiliteit. sys.objects bevat een rij voor elk door de gebruiker gedefinieerd object met schemabereik dat in een database is gemaakt, zodat u uw query helemaal niet hoeft te filteren. sys.all_objects is een superset, die zowel systeem- als gebruikersobjecten bevat.
Ten tweede - aan de kant van de machtigingen - in SQL Server 2005 en latere versies is de zichtbaarheid van de metadata in catalogusweergaven beperkt tot beveiligbare bestanden die een gebruiker bezit of waarvoor de gebruiker enige toestemming heeft gekregen. Uw gebruiker moet dus toestemming krijgen voor de items waarnaar hij op zoek is. Door de gebruiker VIEW DEFINITION toe te kennen voor het schema('s) in de database, zou de query kunnen werken, zonder toegang tot gegevens.