MS SQL 服务器检查注册程序集是否存在
MS SQL Server check existence of registered Assembly
在数据库中,我通常使用基于 XML 的拆分函数版本。后来通过一些研究,我创建了 split 函数的汇编 CLR 版本。
在数据库更新过程(补丁)中,我删除了所有用户函数,修补数据库,然后再次创建用户函数。由于补丁进程,它将再次恢复 XML 版本的拆分功能。
到目前为止,我已经检查了 MSDN,但找不到任何提示:
如何检查 DLL 是否在数据库中注册为程序集?
在 Management Studio 中,我可以打开数据库 -> 程序能力 -> 程序集,并且可以看到 DLL(如果已注册)。但是我想以编程方式执行此操作,如果 DLL 可用,则在 CREATE FUNCTION 上使用 CLR 版本,否则我想使用 XML 版本来确保拆分函数在任何情况下都可用。
有人知道这是否可行吗?
试试这个。还有 sys.%assembly%
次观看,也请查看。
select
*
from sys.assembly_files f
full outer join sys.assemblies a
on f.assembly_id=a.assembly_id
full outer join sys.assembly_modules m
on a.assembly_id=m.assembly_id
在数据库中,我通常使用基于 XML 的拆分函数版本。后来通过一些研究,我创建了 split 函数的汇编 CLR 版本。
在数据库更新过程(补丁)中,我删除了所有用户函数,修补数据库,然后再次创建用户函数。由于补丁进程,它将再次恢复 XML 版本的拆分功能。
到目前为止,我已经检查了 MSDN,但找不到任何提示: 如何检查 DLL 是否在数据库中注册为程序集?
在 Management Studio 中,我可以打开数据库 -> 程序能力 -> 程序集,并且可以看到 DLL(如果已注册)。但是我想以编程方式执行此操作,如果 DLL 可用,则在 CREATE FUNCTION 上使用 CLR 版本,否则我想使用 XML 版本来确保拆分函数在任何情况下都可用。
有人知道这是否可行吗?
试试这个。还有 sys.%assembly%
次观看,也请查看。
select
*
from sys.assembly_files f
full outer join sys.assemblies a
on f.assembly_id=a.assembly_id
full outer join sys.assembly_modules m
on a.assembly_id=m.assembly_id