WEB开发网
开发学院数据库MSSQL Server 讲述如何使用SQL CLR表值函数进行扩展 阅读

讲述如何使用SQL CLR表值函数进行扩展

 2007-05-17 09:36:00 来源:WEB开发网   
核心提示: 部署权限:SQL Server 使用权限集在其宿主环境中安全地运行代码,当您在 Visual Studio 中创建数据库项目时,讲述如何使用SQL CLR表值函数进行扩展(6),默认的权限集是 SAFE,这是唯一允许您在不进行其他配置的情况下直接从 Visual Studio 中部署的权限

部署权限:

SQL Server 使用权限集在其宿主环境中安全地运行代码。当您在 Visual Studio 中创建数据库项目时,默认的权限集是 SAFE。这是唯一允许您在不进行其他配置的情况下直接从 Visual Studio 中部署的权限集。若要向您的程序集赋予 SAFE 以外的权限集,必须给您的程序集一个强名称,并执行其他配置步骤,然后才将该程序集部署到数据库。

向 SQL Server 注册程序集时,有三种可能的权限集:SAFE、EXTERNAL ACCESS 和 UNSAFE。

• SAFE 只允许内部计算和从该程序集中的代码进行本地数据访问。

• EXTERNAL ACCESS 允许访问外部系统资源,如文件、网络资源和注册表。

• UNSAFE 允许该程序集中的代码不受限制地运行。

若要使用 SAFE 以外的权限集部署您的程序集,必须遵循一些其他步骤。首先,必须从您要向 SQL Server 注册的程序集创建非对称密钥。其次,使用该密钥来创建登录信息。最后,必须向该登录信息授予相应的权限。以下 Transact-SQL 语句使用上述步骤将 UNSAFE 权限集授予根据前一部分的 tvfEventLogs 示例创建的程序集。

USE master
GO
CREATE ASYMMETRIC KEY EventLogKey FROM EXECUTABLE FILE =
'D:assemblies  vfEventLog  vfeventlog.dll'
CREATE LOGIN EventLogLogin FROM ASYMMETRIC KEY EventLogKey
GRANT UNSAFE ASSEMBLY TO EventLogLogin
GO

这一操作只需进行一次,不是每次部署该程序集时都要进行。有关使用不同的权限集和向 SQL Server 注册程序集的详细信息,请参阅 CLR 集成代码访问安全性和创建程序集,二者都包含在 SQL Server 2005 联机丛书中。

事件日志报表:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:讲述 如何 使用

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