19

我们有几个本地数据库,我们正在查看是否可以将它们迁移到 SQL Azure。其中一些数据库有几个用 C# 在程序集中 (SAFE) 编写的用户定义函数。经过搜索,我发现了一些相互矛盾的帖子。有人说 v12 支持 CLR 代码。其他人说没有。所以,这是我的问题:

  • V12 是否支持嵌入 clr 程序集?
  • 我们如何使用程序集导出 azure 的生成脚本?每当我们将导出选项设置为 azure 时,我们最终都会收到一条错误消息,指出 clr 用户定义的函数在 azure 中不受支持。

多谢你们!

路易斯

4

4 回答 4

15

Azure 不支持 CLR 函数:

在这里检查:

Azure SQL 数据库 Transact-SQL 差异

在不受支持的功能下,它提到“.NET Framework CLR 与 SQL Server 集成”

我相信对于它是否像以前在一个版本中那样支持它们可能会有一些混淆,然后他们删除了支持。

这是一个链接,详细说明了它们受到支持但被撤消的事实,显然是由于安全问题:

突发新闻,从字面上看:从 Azure SQL DB 中删除了 SQL CLR 支持

于 2016-05-20T09:12:56.527 回答
10

Azure SQL 支持现在使用 Azure SQL 托管实例进行 CLR。 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance-transact-sql-information#clr

于 2019-02-04T22:09:57.457 回答
3

使用托管实例,您可以获得包括 C# CLR 在内的本地部署的几乎所有支持优势。要访问实例,您必须使用 SQL Server Management Studio 18 或 TSQL 的 SSMS Preview 6。

于 2019-02-17T10:15:51.050 回答
0

您有 2 个选择:

  1. 使用 Azure SQL 托管实例(非常昂贵,每月超过 1000 美元)
  2. 创建一个 Azure VM 并在其上安装 SQL Server(便宜得多,每月不到 20 美元)
于 2020-09-08T22:57:36.317 回答