पहला - आपको dbo.sysobjects के बजाय sys.objects का उपयोग करना चाहिए। dbo.sysobjects एक SQL 2000 निर्माण है जो केवल SQL 2008 में पिछड़े-संगतता कारणों से है। sys.objects में प्रत्येक उपयोगकर्ता-परिभाषित, स्कीमा-स्कोप्ड ऑब्जेक्ट के लिए एक पंक्ति होती है जो डेटाबेस के भीतर बनाई जाती है, इसलिए आपको अपनी क्वेरी को बिल्कुल भी फ़िल्टर करने की आवश्यकता नहीं होगी। sys.all_objects एक सुपरसेट है, जिसमें सिस्टम और उपयोगकर्ता ऑब्जेक्ट दोनों शामिल हैं।
दूसरा - अनुमति पक्ष पर - SQL सर्वर 2005 और बाद के संस्करणों में, कैटलॉग दृश्यों में मेटाडेटा की दृश्यता उन प्रतिभूतियों तक सीमित है जो एक उपयोगकर्ता के पास है या जिस पर उपयोगकर्ता को कुछ अनुमति दी गई है। तो आपके उपयोगकर्ता को उन वस्तुओं पर कुछ अनुमति देनी होगी जिन्हें वह ढूंढ रहा है। डेटाबेस में स्कीमा (स्कीमा) पर उपयोगकर्ता को दृश्य परिभाषा प्रदान करने से क्वेरी को किसी भी डेटा तक पहुंच प्रदान किए बिना काम करने की अनुमति मिल जाएगी।