2010-06-24 76 views
1

我目前的客戶正在努力解決他們的發佈流程。這有點複雜,有點不受控制。我正在嘗試修復這些進程問題,但同時,如果我可以將可掃描其腳本,查找依賴關係並生成這些腳本需要運行的順序的實用程序放在一起,將會很有幫助。SQL Server用於填充sys.sql_dependencies的代碼是否可用?

而不是重新發明輪子我以爲我會嘗試找到SQL Server用於填充sys.sql_dependencies(1)(現在它實際上在當前版本中非常準確)的代碼。

這段代碼是否可以在某處作爲隱藏的系統存儲過程/觸發器使用,還是某些不可訪問的二進制代碼?

爲了清楚起見,我正在尋找填充系統表的代碼,而不是訪問它們來確定依賴關係的代碼。換句話說,當我執行「創建過程...」時運行的代碼

如果有開放源代碼或已具有此功能的第三方應用程序,那麼我也會對此感興趣。



(1)好吧,技術上,sys.sql_dependencies超過sys.sysmultiobjrefs所以最終我在尋找填充該表中的代碼視圖。

回答

1

我相信這是相當無法訪問。

當sys.dependencies失敗我時,我試了Red-Gate's Dependency Tracker,並非常滿意。不是開源的,但它是一個非常好的工具。

+0

感謝您的建議。不幸的是,它看起來像紅門工具只適用於現有的SQL對象。我希望能夠在實際運行腳本之前在腳本中查找依賴關係。這似乎是一個艱鉅的任務,所以我希望有人已經爲我做了這項工作:) – 2010-06-24 14:24:00

1

其他第三方工具,可以掃描的源代碼文件的依賴性是Apex SQL Clean

這會告訴你在哪個腳本現有數據庫對象引用,但不與腳本本身的任何分析(如幫助,如果CREATE語句在一個腳本中,應該在另一個腳本引用它之前先運行)

+0

感謝您的鏈接。沒有做到我想要的東西,但是這是將來要記住的事情。 – 2010-06-24 17:09:12