- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在 SQL Server 2000 中有一个调用外部 exe 的常规(即未扩展)存储过程。该 exe 依次加载来自 SDK 的 .dll 并从中调用一些过程(即 Init、DoStuff、Shutdown)。
我们拥有这个外部 exe 的唯一原因是因为我们不想创建一个调用 .dll 的扩展存储过程。我们相信,如果 dll 崩溃(虽然不太可能发生,但仍然如此),那么 SQL Server 进程也会崩溃,这不是我们想要的。对于外部 exe,只有该 exe 会崩溃。
现在,我们正在升级到 SQL Server 2008,并考虑创建一个调用该事物的 CLR 存储过程,从而摆脱该 exe。当然,这个 SP 会被标记为 UNSAFE。因此,问题是,与扩展 SP 方法相比,这样做是否安全(更安全、足够安全等)?
我在 BOL 上找到的唯一相关内容是:
Specifying UNSAFE allows the code in the assembly to perform illegal operations against the SQL Server process space, and hence can potentially compromise the robustness and scalability of SQL Server
,但我不确定它是否回答了我的问题,因为我不是追求“稳健性和可扩展性”,而是追求稳定性并保持事物的正常运行。
PS:我们希望摆脱这个 exe,因为它会在管理 SP 权限时带来不便(你知道,如果你调用包含 xp_cmdshell 的 SP,这些东西就会突然适用于你)。
最佳答案
由于此代码最初与扩展存储过程一起使用,因此听起来像是非托管代码。非托管代码中的错误很容易使您的进程崩溃。
CLR 集成比扩展存储过程更加健壮,但代码仍然在进程内运行,因此错误可能会导致 SQL Server 崩溃或损坏。 (作为比较,理论上,SAFE CLR 例程不会损坏 SQL Server,尽管它可能会导致降低服务器可用性的问题,而无需完全关闭 SQL Server。)
基本上,在这种情况下不使 SQL Server 崩溃的唯一方法是:
关于sql-server - SQL Server 2008 : How crash-safe is a CLR Stored Procedure that loads unmanaged libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752357/
我偶然发现了 Wikipedia 上的线程安全文章;它区分了几个安全级别,尤其是: Thread safe: Implementation is guaranteed to be free of ra
当我启动 Rails 时,如何摆脱这个警告/错误。 在没有 :safe 选项的情况下调用“加载”——默认为安全模式。 => Booting Thin => Rails 3.2.13 applicati
当我启动 Rails 时,如何摆脱这个警告/错误。 在没有 :safe 选项的情况下调用“加载”——默认为安全模式。 => Booting Thin => Rails 3.2.13 applicati
我正在尝试使用 FCM 和 https://www.simplifiedcoding.net/firebase-cloud-messaging-android/ 上提供的教程向我的应用程序添加通知服务
我正在 VB.net 中寻找“安全”点符号。这样的事情是否存在——在 VB.NET 或任何语言中?我希望能够做的是,在使用 non-nullable 遗留对象时,解决如下问题: “如果有计划,如果有案
我在我的机器上使用 Windows 10 家庭单语言版,这是一个 64 位操作系统。 我已经安装了最新版本的 XAMPP,它在我的机器上安装了 PHP 7.2.7。 我是根据摘自 PHP Manual
我在 XmlDocument class documentation 中看到在 MSDN 上 Any public static ( Shared in Visual Basic) members o
例如,我经常想用 SELECT whatever FROM questions WHERE views * N + votes * M > answers AND NOT(answered) O
在DataStax收购Aurelius之后,自从Titan 1.0.0在2015年9月发布以来,自那时以来几乎没有提交过,所以我想知道在生产中使用TitanDB是否安全。谁能给我一些见识? 最佳答案
给定一个文件: dept4.abc.edu dept3.abc.edu dept2.abc.edu dept1.abc.edu 我知道如何使用以下命令获取从底部开始的第三行: tail -3 file
SELECT TO_NUMBER('*') FROM DUAL 这显然给了我一个异常(exception): ORA-01722: invalid number 有没有办法“跳过”它并获取 0 或 N
我不是在问这些是否真的是随机的。我只是想知道如果两个用户同时点击一个页面他们可以获得相同的随机数吗?我在想,如果我在多核服务器上运行它,我会因为同步或其他原因在很长一段时间内生成相同的随机数吗? pu
我有一个服务器存储来自客户端的数据。每个客户端都在自己的线程中工作,并且拥有一个数据对象。 这个数据对象是一个自定义类,让我们调用包含非特定数据的 Data.java,这可能是一些字节,但通常约为 1
我正在开发一个应用程序,其中我有一个包含 5000 行和 4 列的数据库。 problem_id (int) problem_no (string) problem_title (string) da
我有一个表,其中每行的字段数据都不完整,我想要修复。 这就是我的意思: mysql> CREATE TABLE test ( key INT a CHAR(1),
这个问题已经有答案了: How do JavaScript closures work? (86 个回答) 已关闭 6 年前。 所以,这个代码片段工作起来非常方便,但我对它的工作方式感到有点惊讶。 v
我想 compile C++ extensions to SQL Server , 来自文档 Safe mode: Run verifiably typesafe code; compiled wit
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。为了帮助澄清这个问题以便它可以重新打开,visit the help center。 关
这种互斥模式是否像我认为的那样安全?如果是这样,你怎么调用它? lock (_lock) { if (_flag) return; else _flag = true; } try {
假设您使用 EntityFramework 作为 ORM,所有这些都封装在一个单独的 DAL 类库中。 您在另一个“公共(public)”类库中有以下 POCO 对象,它在您的 DAL、SL 和表示层
我是一名优秀的程序员,十分优秀!