قم بإدراج الكائنات الأساسية المستخدمة في وظيفة SQL Server
-
26-09-2020 - |
سؤال
أستخدم ما يلي للحصول على قائمة بالكائنات الأساسية في العرض:
SELECT view_name, Table_Name
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE View_Name IN
(
'View1', 'View2'
)
ORDER BY view_name, table_name
لم أتمكن من العثور على أي جدول نظام يوفر الكائنات الأساسية في إحدى الوظائف.هل لدى أي شخص أي فكرة عن كيفية سحب هذه المعلومات بسهولة؟أنا أتعامل مع العديد من الوظائف مع كائنات قاعدة بيانات أساسية متعددة وأريد تجنب الجهد اليدوي للحصول على هذه المعلومات.شكرًا!
المحلول
href="https://msdn.microsoft.com/en-us/library/ms189487.aspx" rel="nofollow"> sp_depends سيعطيك قائمة الكائنات المعالين في جميع الإصدارات الحاليةمن SQL Server ولكن يتم سرد حسب الانتهاء.
href="https://msdn.microsoft.com/en-us/library/ms34552.aspx" rel="nofollow"> هنا مقالة MSDN مع وسيلة للعثور على كائنات مرجعيةوظيفة ومع تعديلات صغيرة يمكنك الحصول على قائمة الكائن المشار إليها بواسطة وظيفة:
giveacodicetagpre.نصائح أخرى
* يرجى القراءة *
كما هو مذكور في إجابةSpörri أعلاه، sys.sql_dependencies
تم إهماله.
تبعيات sys.sql_(Transact-SQL) :
ستتم إزالة هذه الميزة في إصدار مستقبلي من Microsoft SQL Server.تجنب استخدام هذه الميزة في أعمال التطوير الجديدة ، والتخطيط لتعديل التطبيقات التي تستخدم هذه الميزة حاليًا.استخدم sys.sql_expression_dependencies بدلاً من ذلك.
لقد لاحظت أنه من بين 3 وظائف، كان معرف كائن دالة واحدة مفقودًا في الجدول المهمل sys.sql_dependencies
, ، ووجدت كل شيء في sys.sql_expression_dependencies
الجدول بدلا من ذلك.لذا استخدم ما يلي للحصول على التبعيات:
select *
from sys.sql_expression_dependencies
where referencing_id = object_id('schema.object_name')