0

Microsoft SQL Server(Microsoft SQL Server 的 JavaScript 过程语言插件)中是否存在类似PLV8的内容?

4

2 回答 2

1

您可以利用 MS SQL Server 中的CLR 集成,并编写可以在 SQL Server 中执行的托管代码(C#/VB.Net/可能的其他语言)。

话虽如此,存在这种可能性的事实并不一定意味着应该使用它。与 T-SQL 相比,很少有任务真正受益于在托管代码中实现,例如(列表绝不完整):

  • 计算繁重的字符串操作,包括正则表达式(后者在 T-SQL 中没有替代品);
  • 与 SQL Server 外部对象(文件系统、各种 API 端点等)的通信;
  • 实现自主交易的可能性。

在采用这种方法之前,请确保您的团队了解与这种方法相关的性能和安全影响,因为它们很多。上述链接为您提供了一个很好的起点。

于 2020-10-24T02:38:04.023 回答
1

Sql Server 按内核授权,而且价格不便宜。因此,这不是推动 Sql Server 销售数量(因此是功能优先级)的大型 Sql Server 客户所要求的,因为它会增加处理相同数据所需的非常昂贵的内核数量。相反,这种事情将进入应用程序或服务层,它们不是按内核许可的。此外,这些应用程序服务更容易扩展到多台机器的农场。

也就是说,您可以使用 CLR 和 xp_cmdshell 来完成类似的任务,并且最近的版本有一些原生 JSON 处理。

于 2020-10-24T03:00:15.057 回答