gpt4 book ai didi

.net - Sql Server 中的 CLR 集成可能出现哪些问题

转载 作者:行者123 更新时间:2023-12-02 22:45:26 25 4
gpt4 key购买 nike

我阅读了一篇有关在 sqlserver 中使用 CLR 集成的文章,并且想知道可能存在哪些潜在问题(如果有)。我的想法是使用它来验证遗留数据库中潜在的不良数据。例如,电话号码栏中的人名。

编辑:我不认为有任何问题,但这不是我看到很多讨论的问题,并且想确保我没有打开 jar 头蠕虫,这会在以后引起问题。我之所以问这个问题,是因为当我问这个问题时,我的 DBA 看着我,就像我疯了一样。

最佳答案

SQL Server 中的 CLR 集成本身并不稳定。作为证据,我将向您指出这样一个事实:在 SQL Server 2008 中,一堆系统数据类型被实现为 CLR 数据类型,例如新的 geography and geometry类型。因此,CLR 被认为足够安全,允许新的核心功能基于它。

话虽如此,CLR 为 SQL 编程带来了一个全新的武器库,这可能会搬起石头砸自己的脚。您可以启动线程、阻止 IPC 通信(事件、互斥体、信号量)、外部连接并等待 I/O、在内存中读/写、调用各种 Win32 APIS,并且通常会鲁莽行事并造成严重破坏。旧的 T-SQL 编程需要更多的黑客才能才能实现同样的目标。

您是否正在考虑实现一种新的数据类型,该数据类型可以公开良好的、受约束的行为,例如字段的正则表达式验证?前进。您是否正在考虑从 SQL 托管的 CLR 内部发出 Web 服务请求?你已经得到了它,你将得到你应得的一切!

经验法则是,如果您的程序集将在没有可靠要求的情况下加载和验证(没有 EXTERNAL_ACCESS,没有 UNSAFE),那么您应该没问题。当然,您仍然可以在 SAFE 程序集中编写 while(1) {;} 循环,但 T-SQL 存储过程也可以...

关于.net - Sql Server 中的 CLR 集成可能出现哪些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1105267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com