时间:2021-07-01 10:21:17 帮助过:27人阅读
sys.assembly_references.程序集之間的相互引用依賴關係。
sys.module_assembly_usages將程序集的ID與引用它們的數據庫對象ID,關係起來了。
- <code class="language-sql hljs "><span class="hljs-operator"><span class="hljs-keyword">SELECT</span> OBJECT_NAME(object_id) <span class="hljs-keyword">AS</span> db_object
- ,a.name <span class="hljs-keyword">AS</span> assembly
- <span class="hljs-keyword">FROM</span> sys.module_assembly_usages u
- <span class="hljs-keyword">INNER</span> <span class="hljs-keyword">JOIN</span> sys.assemblies a <span class="hljs-keyword">ON</span> a.assembly_id = u.assembly_id</span></code>
VS可以很方便創建和部署CLR程序集到SQL Server中,但並沒有同樣方便的工具去卸載它們。你必須有順序地手動將它們移動。
在移除某程序集之前可以通過查看依賴項先移動那些引用此程序集的T-Sql對象,可以Sp_Depends或在對象資源管理器中右鍵查看。
純T-SQL的數據庫編程時代正在發生變化,CLR正是這一跡象的例子。盡管有人會有點排斥,但正是變化讓DBA生涯變得有趣。CLR真正突破了T-SQL在某些方面的限制。兩種模式的混合編程能力是一個強大的工具,DBA和開發者都應該掌握它們。
原文鏈接
- <code class="language-sql hljs "><span class="hljs-comment">-- Assembly Query </span>
- <span class="hljs-operator"><span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span> sys.assembly_modules;</span>
- <span class="hljs-operator"><span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span> sys.assemblies;</span>
- <span class="hljs-operator"><span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span> sys.assembly_files;</span>
- <span class="hljs-comment">-- CLR Object In Database</span>
- <span class="hljs-operator"><span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span> sys.objects <span class="hljs-keyword">WHERE</span> type_desc <span class="hljs-keyword">LIKE</span> <span class="hljs-string">‘CLR%‘</span>;</span>
- <span class="hljs-comment">-- 哪些系统对象引用了CLR程序集</span>
- <span class="hljs-operator"><span class="hljs-keyword">SELECT</span> OBJECT_NAME(object_id) <span class="hljs-keyword">AS</span> [Object_Name],b.Name <span class="hljs-keyword">AS</span> Assembly_Name
- <span class="hljs-keyword">FROM</span> sys.module_assembly_usages a
- <span class="hljs-keyword">INNER</span> <span class="hljs-keyword">JOIN</span> sys.assemblies b <span class="hljs-keyword">ON</span> a.assembly_id = b.assembly_id;</span></code>
DBA眼中的CLR
标签:create 哪些 like sage 使用 ref cti 操作 工作