我正在运行 Sql 2008 的 Windows Server 2003 机器上安装客户端的 ASP.net 站点。
该站点使用 Report Viewer 2012,但是当我尝试在服务器上安装它时,我收到消息“Sql Server 2012 的 CLR 类型”丢失。
有谁知道是否可以在 SQL 2008 和 Sql 2012 的情况下安装 2012 CLR 类型?
非常感谢。
如何更新 CLR 函数(或过程)程序集 dll,而不必在 SQL Server (2008 R2) 中删除并重新创建程序集?
就目前而言,如果我更新程序集(例如添加新函数),SQL Server 将不会接受更新的 dll,直到我删除程序集:
DROP ASSEMBLY CLRFunctions
Msg 6590, Level 16, State 1, Line 1
DROP ASSEMBLY failed because 'CLRFunctions' is referenced by object 'NormalizeString'.
Run Code Online (Sandbox Code Playgroud)
但在我可以删除程序集之前,我必须首先删除引用它的所有函数:
DROP FUNCTION NormalizeString
DROP FUNCTION RemoveDiacritics
DROP FUNCTION RemoveCombiningDiacritics
DROP FUNCTION CombineLigatures
....
DROP FUNCTION PseudolocalizeArabic
Run Code Online (Sandbox Code Playgroud)
并且然后我可以删除这个组件:
DROP ASSEMBLY CLRFunctions
Run Code Online (Sandbox Code Playgroud)
现在我必须“创建”程序集:
CREATE ASSEMBLY CLRFunctions FROM 'c:\foos\CLRFunctions.dll';
Run Code Online (Sandbox Code Playgroud)
现在我必须寻找的所有UDF的声明中之前,我删除了他们注册。
我宁愿更新程序集,并让 SQL Server 开始使用它。
更新:我随机尝试DBCC FREEPROCCACHE …
我们的一个内部应用程序有一个 SQLCLR 程序集,它当前遇到了问题。开发人员在使用存储在我们的源代码控制系统中的版本重新创建问题时遇到问题,因此他怀疑可能已经发布了一些未上传到源代码控制的代码。有没有办法将 SQLCLR 程序集提取到 .dll 文件中,以便他可以对其进行逆向工程以进行分析?