خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


یافتن Dependency یا وابستگی جداول در SQL Server

یافتن Dependency یا وابستگی جداول در SQL Server
در این پست نحوه پیدا کردن Dependency جداول ها در SQL را با استفاده از SSMS یا SQL Server Management Studio به شما نشان خواهیم داد. دانستن وابستگی ها یا Dependency ها هنگام Alter کردن یا drop کرن جدول کاربردی است.

نرم افزار سامانه مودیان راهکار
این یکی از سوالات متداول در انجمن های SQL Server است. برای نشان دادن این مورد ما از جدول HumanResources.Employe که در پایگاه داده Adventure Works موجود است استفاده می کنیم.



یافتن Dependency یا وابتگی جداول در SQL Server
دو روش برای یافتن Dependency جدول در SQL وجود دارد.
در روش نخست، SQL Server Management Studio را اجرا کرده و بدان لاگین کنید. Object Explorer همانطور که بالاتر گفته شد، ما از دیتابیس Adventure Works استفاده می کنیم. شما به سراغ دیتابیس مورد نظرتان بروید و آن را Expand کنید.
سپس روی جدول مورد نظر کلیک راست کرده و گزینه View Dependencies را کلیک کنید.

یافتن Dependency یا وابتگی جداول در SQL Server
جدول مورد نظر ما HumanResources.Employe می باشد. وقتی گزینه View Dependencies را کلیک می کنید، پنجره زیر باز می شود که دو گزینه به شما ارائه می دهد. اولی Objects that Depends on Employee که این گزینه همه table ها، Function ها، View ها که به جدول Employee وابستگی دارند را نمایش می دهد.

یافتن Dependency یا وابتگی جداول در SQL Server
گزینه دوم Objects on which Employee Depends است و جداولی که جدول Employee بدان ها وابسته است را لیست می کند.

یافتن Dependency یا وابتگی جداول در SQL Server
در ذیل لیستی از وابستگی های جدول Employee را فهرست شده است:

یافتن Dependency یا وابتگی جداول در SQL Server
در روش دوم از طریق کوئری به Dependency های یک جدول در SQL Server می رسیم که البته این گزینه هم به چند طریق است. در روش اول از طریق stored procedure سیستمی SP_DEPENDS همه dependency ها را به شی مشخص شده باز می گرداند که شامل Table ها، View ها، Stored Procedure ها، Constraint ها و غیره است.

-- Query to find Table Dependencies in SQL Server is: 
USE [AdventureWorks2014]
GO
EXEC sp_depends @objname = N'HumanResources.Employee' ;

یافتن Dependency یا وابتگی جداول در SQL Server
روش دیگری برای یافتن وابستگی های جدول وجود دارد که در کوئری زیر می توانید بدان برسید:

-- Query to find Table Dependencies in SQL Server is:
USE [AdventureWorks2014]
GO
SELECT referencing_id,
referencing_schema_name,
referencing_entity_name
FROM sys.dm_sql_referencing_entities('HumanResources.Employee', 'OBJECT');

یافتن Dependency یا وابتگی جداول در SQL Server
روش سوم به صورت زیر می باشد:

-- Query to find Table Dependencies in SQL Server is:
USE [AdventureWorks2014]
GO

SELECT ROUTINE_SCHEMA,
ROUTINE_NAME,
ROUTINE_TYPE,
ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%Employee%'

یافتن Dependency یا وابتگی جداول در SQL Server
روش چهار برای یافتن Table Dependencies استفاده از اسکریپت زیر است:

-- Query to find Table Dependencies in SQL Server is:
USE [AdventureWorks2014]
GO

SELECT *
FROM sys.sql_expression_dependencies A, sys.objects B
WHERE referenced_id = OBJECT_ID(N'HumanResources.Employee') AND
A.referencing_id = B.object_id
GO

یافتن Dependency یا وابتگی جداول در SQL Server
انتخاب ستون های مورد نیاز به جای استفاده از select * می تواند گزینه بهتری باشد:
-- Query to find Table Dependencies in SQL Server is:
USE [AdventureWorks2014]
GO

SELECT referenced_schema_name,
referenced_entity_name,
name,
type_desc,
create_date
FROM sys.sql_expression_dependencies A, sys.objects B
WHERE referenced_id = OBJECT_ID(N'HumanResources.Employee') AND
A.referencing_id = B.object_id
GO

یافتن Dependency یا وابتگی جداول در SQL Server
البته در اسکریپت فوق شما می توانید نام ستون های مورد نظرتان را جایگزین کنید.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز