Za prvé - měli byste použít sys.objects místo dbo.sysobjects. dbo.sysobjects je konstrukce SQL 2000, která je pouze v SQL 2008 z důvodů zpětné kompatibility. sys.objects obsahuje řádek pro každý uživatelsky definovaný objekt v rozsahu schématu, který je vytvořen v databázi, takže byste nemuseli svůj dotaz vůbec filtrovat. sys.all_objects je nadmnožina, která obsahuje systémové i uživatelské objekty.
Za druhé – na straně oprávnění – v SQL Server 2005 a novějších verzích je viditelnost metadat v zobrazeních katalogu omezena na zabezpečená data, která uživatel buď vlastní, nebo ke kterým má uživatel nějaké oprávnění. Takže vašemu uživateli bude muset být uděleno určité oprávnění k položkám, které hledá. Udělení DEFINICE ZOBRAZENÍ uživateli na schématu (schématech) v databázi by umožnilo fungování dotazu bez udělení přístupu k jakýmkoli datům.