يجب أن أضيف بعض الأعمدة إلى جدول وأحتاج أيضًا إلى إضافة هذه الأعمدة إلى جميع طرق العرض التي تستخدم هذا الجدول.
هل من الممكن الحصول على قائمة بجميع طرق العرض في قاعدة بيانات تستخدم جدولًا معينًا؟
هذا ينبغي أن تفعل ذلك:
SELECT *
FROM INFORMATION_SCHEMA.VIEWS
WHERE VIEW_DEFINITION like '%YourTableName%'
للعثور على تبعيات الجدول ، يمكنك استخدام عرض كتالوج sys.sql_expression_dependencies:
SELECT
referencing_object_name = o.name,
referencing_object_type_desc = o.type_desc,
referenced_object_name = referenced_entity_name,
referenced_object_type_desc =so1.type_desc
FROM sys.sql_expression_dependencies sed
INNER JOIN sys.views o ON sed.referencing_id = o.object_id
LEFT OUTER JOIN sys.views so1 ON sed.referenced_id =so1.object_id
WHERE referenced_entity_name = 'Person'
يمكنك أيضًا تجربة ApexSQL Search إضافة SSMS و VS إضافية تشتمل على ميزة عرض التبعيات. تتمتع ميزة عرض التبعيات بالقدرة على تصور علاقات جميع كائنات قاعدة بيانات SQL ، بما في ذلك العلاقات بين كائنات مشفرة وكائنات النظام ، وكائنات SQL Server 2012 المحددة ، والكائنات المخزنة في قواعد البيانات المشفرة باستخدام تشفير البيانات الشفاف (TDE)
إخلاء المسؤولية: أعمل في ApexSQL كمهندس دعم
إذا كنت بحاجة إلى العثور على كائنات قاعدة البيانات (مثل الجداول والأعمدة والمشغلات) بالاسم - ألق نظرة على FREE أداة Red-Gate المسماة SQL Search التي تقوم بذلك - تبحث في قاعدة بيانات كاملة لأي نوع من سلسلة (ق).
إنها أداة رائعة يجب أن تتوفر لأي مطور لقواعد البيانات أو قواعد البيانات - هل سبق أن ذكرت أنه بالتأكيد {FREE للاستخدام في أي نوع من الاستخدام ؟؟
أجد أن هذا يعمل بشكل أفضل:
SELECT type, *
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE '%' + @ObjectName + '%'
AND type IN ('V')
ORDER BY name
تصفية VIEW_DEFINTION
داخل INFORMATION_SCHEMA.VIEWS
يعطيني عددًا قليلاً من الإيجابيات الخاطئة.
SELECT VIEW_NAME
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE TABLE_NAME = 'Your Table'
حدد الجدول الخاص بك -> عرض التبعيات -> الكائنات التي تعتمد عليها