Microsoft SQL 服务器中是否存在类似 PLV8 的内容?

Is something like PLV8 exist in Microsoft SQL Server?

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

您可以在 MS SQL 服务器中使用 CLR integration,并编写您可以在 SQL 中执行的托管代码(C#/VB.Net/可能是其他语言) =30=] 服务器.

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

  • 计算量大的字符串操作,包括正则表达式(后者在 T-SQL 中别无选择);
  • 与 SQL 服务器外部对象的通信(文件系统、各种 API 端点等);
  • 实现自治事务的可能性。

在采用这种方式之前,请确保您的团队了解与此方法相关的性能和安全影响,因为它们有很多。前面提到的 link 给了你一个很好的起点。

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

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