2
就像在錫上說的那樣。 如何確定哪些SQL對象正在使用給定的SYNONYM?我想有一種方法是搜索PROC或VIEW的所有內容並運行一個LIKE '%SYN_NAME%'
,但看起來非常笨拙。是否有方法列出所有對象,如使用SYNONYM的VIEW?
就像在錫上說的那樣。 如何確定哪些SQL對象正在使用給定的SYNONYM?我想有一種方法是搜索PROC或VIEW的所有內容並運行一個LIKE '%SYN_NAME%'
,但看起來非常笨拙。是否有方法列出所有對象,如使用SYNONYM的VIEW?
select * from sys.sql_expression_dependencies
where referenced_id = object_id('<syn schema>.<syn name>')
該視圖允許訪問依賴關係樹。所以如果想要引用這個對象的對象返回,你需要遞歸或類似。
您可以通過限制意見加入到sys.objects中或OBJECTPROPERTY()
這是更好的。我投票刪除了我的帖子。我編輯這一個,將referencing_id加入sysobjects中以獲取引用對象。 – 2013-02-20 20:35:45
我認爲這可能會做到。在接下來的一週左右會做一些測試。我們第一次使用SYNONYMs。 – wergeld 2013-02-20 21:45:01