为什么';SQL Server是否预装了用于CLR集成的.net Framework?

为什么';SQL Server是否预装了用于CLR集成的.net Framework?,.net,sql-server,sql-server-2005,clr,.net,Sql Server,Sql Server 2005,Clr,例如,如果我想引用.net framework中的某些内容以便在CLR存储过程中使用,我必须首先将其加载到Sql server数据库中 为什么不预装呢?它是与性能相关的,还是与安全问题有关,或者是其他什么问题 谢谢。我认为这是出于安全原因,因为默认情况下不安装它会减少任何黑客可用的攻击面。我认为这是出于安全原因,因为默认情况下不安装它会减少任何黑客可用的攻击面。可能是因为它是一个可选功能,没有太多使用。然而 可能是因为它是一个可选功能,没有使用那么多。然而 默认情况下它是关闭的,因为它增加了攻击

例如,如果我想引用.net framework中的某些内容以便在CLR存储过程中使用,我必须首先将其加载到Sql server数据库中

为什么不预装呢?它是与性能相关的,还是与安全问题有关,或者是其他什么问题


谢谢。

我认为这是出于安全原因,因为默认情况下不安装它会减少任何黑客可用的攻击面。

我认为这是出于安全原因,因为默认情况下不安装它会减少任何黑客可用的攻击面。

可能是因为它是一个可选功能,没有太多使用。然而

可能是因为它是一个可选功能,没有使用那么多。然而

默认情况下它是关闭的,因为它增加了攻击表面积,并且在可能的地方不需要。许多其他SQL Server的东西也必须专门启用


其次,它在许多商店是不允许的,这让我得出了我厚颜无耻的回答:“因为开发者可能会使用它”。在关系引擎中使用CLR有好处:自定义数据类型、自定义聚合等,但它会被滥用,因为对于许多人来说,编写c#而不是T-SQL更容易。

默认情况下它是关闭的,因为它增加了攻击表面积,并且在可能的地方不需要。许多其他SQL Server的东西也必须专门启用


其次,它在许多商店是不允许的,这让我得出了我厚颜无耻的回答:“因为开发者可能会使用它”。在关系引擎中使用CLR有一些好处:自定义数据类型、自定义聚合等,但它会被滥用,因为对于许多人来说,编写c#而不是T-SQL更容易。

SQL Server 2000的所有功能都打开了,在slammer蠕虫事件发生后,微软吸取了教训,在SQL Server 2005及以上版本中,所有启用的东西(如xp_cmdshell、openrowset等)都默认关闭,以减少攻击面。CLR也因为同样的原因被关闭。

在slammer蠕虫事件发生后,微软吸取了教训,在SQL Server 2005和更高版本上,所有启用的东西,如xp_cmdshell、openrowset等,默认情况下都被关闭,以减少攻击面。CLR也因同样的原因关闭