כדי להגיע למידע שאינו נשמר במישרין בטבלת מערכת כלשהי- יש לבצע Join בינה לבין טבלאות מערכת אחרות שמשלימות את החסר, ומהן הלאה לעוד טבלאות; ולעיתים זה יוצר שאילתות מסורבלות למדי שתפקידן אינו לשלוף את המידע השמור בדטבייס אלא בסך הכל מטה-דטה, מידע על המידע.
ב-SQL Server יש די הרבה פונקציות עזר שמאפשרות לקצר הליכים ולהגיע למטה-דטה יותר בקלות. לא משהו שלא ניתן להגיע אליו אחרת, אלא קצת פחות קוד מסורבל..
להלן מספר דוגמאות המדברות בעד עצמן:
Select Schema_Name(Schema_ID) Schema_Name,
Object_Name(parent_object_id) parent_Object_Name,
*
From sys.objects;
Select Object_Name(object_id) Object_Name,
Schema_Name(ObjectProperty(object_id,'SchemaId')) Schema_Name,
Type_Name(system_type_id) Type_Name,
Type_Name(user_type_id) User_Type_Name2,
Object_Name(default_object_id) Default_Constraint_Name,
Object_Name(rule_object_id) Rule_Constraint_Name,
*
From sys.columns;
Select Object_Name(object_id) [Object_Name],
ObjectPropertyEx (object_id,'BaseType') Object_Type,
Schema_Name(Cast(ObjectPropertyEx (object_id,'SchemaId') As Int))
Schema_Name,
Col_Name(object_id,Column_id) Column_Name,
*
From sys.index_columns
Order By Object_Name(object_id),
Index_Id,
key_ordinal;