خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
یافتن Dependency یا وابستگی جداول در SQL Server
در این پست نحوه پیدا کردن Dependency جداول ها در SQL را با استفاده از SSMS یا SQL Server Management Studio به شما نشان خواهیم داد. دانستن وابستگی ها یا Dependency ها هنگام Alter کردن یا drop کرن جدول کاربردی است.
این یکی از سوالات متداول در انجمن های SQL Server است. برای نشان دادن این مورد ما از جدول HumanResources.Employe که در پایگاه داده Adventure Works موجود است استفاده می کنیم.
دو روش برای یافتن Dependency جدول در SQL وجود دارد.
در روش نخست، SQL Server Management Studio را اجرا کرده و بدان لاگین کنید. Object Explorer همانطور که بالاتر گفته شد، ما از دیتابیس Adventure Works استفاده می کنیم. شما به سراغ دیتابیس مورد نظرتان بروید و آن را Expand کنید.
سپس روی جدول مورد نظر کلیک راست کرده و گزینه View Dependencies را کلیک کنید.
جدول مورد نظر ما HumanResources.Employe می باشد. وقتی گزینه View Dependencies را کلیک می کنید، پنجره زیر باز می شود که دو گزینه به شما ارائه می دهد. اولی Objects that Depends on Employee که این گزینه همه table ها، Function ها، View ها که به جدول Employee وابستگی دارند را نمایش می دهد.
گزینه دوم Objects on which Employee Depends است و جداولی که جدول Employee بدان ها وابسته است را لیست می کند.
در ذیل لیستی از وابستگی های جدول Employee را فهرست شده است:
در روش دوم از طریق کوئری به Dependency های یک جدول در SQL Server می رسیم که البته این گزینه هم به چند طریق است. در روش اول از طریق stored procedure سیستمی SP_DEPENDS همه dependency ها را به شی مشخص شده باز می گرداند که شامل Table ها، View ها، Stored Procedure ها، Constraint ها و غیره است.
روش دیگری برای یافتن وابستگی های جدول وجود دارد که در کوئری زیر می توانید بدان برسید:
روش سوم به صورت زیر می باشد:
روش چهار برای یافتن Table Dependencies استفاده از اسکریپت زیر است:
انتخاب ستون های مورد نیاز به جای استفاده از select * می تواند گزینه بهتری باشد:
البته در اسکریپت فوق شما می توانید نام ستون های مورد نظرتان را جایگزین کنید.
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته
این یکی از سوالات متداول در انجمن های SQL Server است. برای نشان دادن این مورد ما از جدول HumanResources.Employe که در پایگاه داده Adventure Works موجود است استفاده می کنیم.
دو روش برای یافتن Dependency جدول در SQL وجود دارد.
در روش نخست، SQL Server Management Studio را اجرا کرده و بدان لاگین کنید. Object Explorer همانطور که بالاتر گفته شد، ما از دیتابیس Adventure Works استفاده می کنیم. شما به سراغ دیتابیس مورد نظرتان بروید و آن را Expand کنید.
سپس روی جدول مورد نظر کلیک راست کرده و گزینه View Dependencies را کلیک کنید.
جدول مورد نظر ما HumanResources.Employe می باشد. وقتی گزینه View Dependencies را کلیک می کنید، پنجره زیر باز می شود که دو گزینه به شما ارائه می دهد. اولی Objects that Depends on Employee که این گزینه همه table ها، Function ها، View ها که به جدول Employee وابستگی دارند را نمایش می دهد.
گزینه دوم Objects on which Employee Depends است و جداولی که جدول Employee بدان ها وابسته است را لیست می کند.
در ذیل لیستی از وابستگی های جدول Employee را فهرست شده است:
در روش دوم از طریق کوئری به 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' ;
روش دیگری برای یافتن وابستگی های جدول وجود دارد که در کوئری زیر می توانید بدان برسید:
-- 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');
روش سوم به صورت زیر می باشد:
-- 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%'
روش چهار برای یافتن 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
انتخاب ستون های مورد نیاز به جای استفاده از 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
البته در اسکریپت فوق شما می توانید نام ستون های مورد نظرتان را جایگزین کنید.
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: