WEB开发网
开发学院数据库MSSQL Server 剖析SQL Server2005 SQLCLR代码安全性 阅读

剖析SQL Server2005 SQLCLR代码安全性

 2006-08-07 09:14:56 来源:WEB开发网   
核心提示: · 系统管理员必须能够控制对操作系统资源的存取,这意味着,剖析SQL Server2005 SQLCLR代码安全性(4),必须存在一种安全的方式来从SQL Server进程中存取机器资源,这些目标的最明显的表现之一是,直到你支持CLR集成为止,当SQLCLR代码执行时,默认情

· 系统管理员必须能够控制对操作系统资源的存取。这意味着,必须存在一种安全的方式来从SQL Server进程中存取机器资源。

这些目标的最明显的表现之一是,默认情况下,CLR集成是关闭的。如果你想在一个数据库中运行.NET代码,那么一个系统管理员必须把它打开。打开它的T-SQL代码需要使用sp_configure:

sp_configure 'clr enabled',1

GO

RECONFIGURE

GO

当然,你还可以使用新的与SQL Server 2005一起安装的Surface Area配置工具来实现这一点,如图1所示。从Windows开始菜单下,选择"Microsoft SQL Server 2005→Configuration Tools→SQL Server Surface Area Configuration",再选择"Surface Area Configuration for Features",然后从列表下选择"CLR Integration"。

图1.Surface Area配置工具-该图展示了怎样使用Surface Area配置工具来启动SQLCLR。

因此,正确理解开关CLR集成特征的含义是十分重要的;然而,它唯一影响的是,是否允许在存储过程、触发器、用户定义类型及用户定义函数中运行SQLCLR代码。如果它被禁用,那么,在该服务器实例中不会执行SQLCLR代码;如果它被启动,那么,任何CLR代码都可以执行(当然,假定用户拥有正确的执行权限)。如果它被禁用,它不会阻止你把SQLCLR程序集安装到数据库中。你可以安装所有你想使用的程序集(当然,假定你拥有这样做的属性许可权),但是它们在任何环境下都不会运行,直到你支持CLR集成为止。

当SQLCLR代码执行时,它是在一个严格的安全环境中-这是一个既能保护操作系统资源又能保护SQL Server中的数据和对象的层。

上一页  1 2 3 4 5  下一页

Tags:剖析 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接