it-swarm.asia

كيفية العثور على طرق العرض التي تستخدم جدول معين في SQL Server (2008)؟

يجب أن أضيف بعض الأعمدة إلى جدول وأحتاج أيضًا إلى إضافة هذه الأعمدة إلى جميع طرق العرض التي تستخدم هذا الجدول.

هل من الممكن الحصول على قائمة بجميع طرق العرض في قاعدة بيانات تستخدم جدولًا معينًا؟

49
Peter

هذا ينبغي أن تفعل ذلك:

SELECT * 
FROM   INFORMATION_SCHEMA.VIEWS 
WHERE  VIEW_DEFINITION like '%YourTableName%'
85
James Hill

للعثور على تبعيات الجدول ، يمكنك استخدام عرض كتالوج 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 كمهندس دعم

11
Milica Medic

إذا كنت بحاجة إلى العثور على كائنات قاعدة البيانات (مثل الجداول والأعمدة والمشغلات) بالاسم - ألق نظرة على FREE أداة Red-Gate المسماة SQL Search التي تقوم بذلك - تبحث في قاعدة بيانات كاملة لأي نوع من سلسلة (ق).

enter image description here

enter image description here

إنها أداة رائعة يجب أن تتوفر لأي مطور لقواعد البيانات أو قواعد البيانات - هل سبق أن ذكرت أنه بالتأكيد {FREE للاستخدام في أي نوع من الاستخدام ؟؟

5
marc_s

أجد أن هذا يعمل بشكل أفضل:

SELECT type, *
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE '%' + @ObjectName + '%'
AND type IN ('V')
ORDER BY name

تصفية VIEW_DEFINTION داخل INFORMATION_SCHEMA.VIEWS يعطيني عددًا قليلاً من الإيجابيات الخاطئة.

3
Steven de Salas
SELECT VIEW_NAME
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE TABLE_NAME = 'Your Table'
2
Dmitry

حدد الجدول الخاص بك -> عرض التبعيات -> الكائنات التي تعتمد عليها

1
Diego