SQL 策略管理

 

策略管理是SQL Server 2008 中的一个新特性,用于管理数据库实例、数据以及数据库对象的各种属性。在种管理下,用基于策略管理取两个方面是用:有效估、监视以及管理用。而在有效的管理用条件下,安全是最重要的,下面针对策略管理的安全性实战

 

管理策略的安全性

属于Policy Administrator Role 的成才可以制定和修改策略定个角色的成是必要小心控制的,因为恶意用可以通制定苛刻的策略来达到似于拒的效果,个方面与其他数据

 

打开management studio → 管理 → 策略管理

中可以看到,策略管理中包含三个点:策略、条件、方面。

 

方面:

就是策略要用的象,包括:服器、表、触器、视图、存储过些方面都是系好了的,供瞻仰不可更改。双具体的某一个方面可以方面的属性,在定条件即可对这些属性行判断,如图为储过程方面的属性

条件:

条件就是一个布表达式判断策略是否真。

策略:

策略就是在条件假的情况下要行的操作,即估模式。策略中的估模式有

4 种:按需、按划、更改时记录和更改禁止4 种模式,定如下:

按需:当用直接指定种模式,它可策略估。

更改: 禁止:种自模式使用DDL 器来防止反策略。

更改: 仅记录:当生相关更改并反日志策略种自模式使用事件通知策略估。

划。种自模式使用SQL Server 代理作定期策略估。此模式记录违反策略的情况。

其中按需是手操作的,其他三个可以自完成。按划是使用SQLServer 代理

来定时检查策略,另外两个是在更改DDL 器触

 

策略管理建及

A、基于策略管理的常配置步骤为

DEMO1:要求所建的存储过程必加密

--1建条件

打开management studio → 管理 → 策略管理 → 条件 → 右 → 新建条件

义创建条件的名称/条件针对象(方面)/表达式

在此我需要要求建存储过时强制加密,表达式

@Isencrypted = true

--2建一个策略

打开management studio → 管理 → 策略管理 → 策略 → 右 → 新建策略

策略的名称/检查的条件

--3、启用策略

策略建好之后,默是没有启用的。我单进行启用

--4测试建一个不加密的存储过

create proc pr_name

as

print 'hello'

go

--返回果:

SQLSERVER:\SQL\SQL2008\DEFAULT\Databases\mydb\StoredProcedures\dbo.pr_name反策略

―proc_encryption

此事将回

策略条件:―@IsEncrypted = True()

策略:―

其他帮助:―:―

:―

create proc pr_name

as

print 'hello'

消息3609级别16,状1sp_syspolicy_dispatch_event,第65

在触器中束。批理已中止。

 

 

建一个加密的存储过程:

create proc pr_name

with encryption

as

print 'hello'

go

--返回:命令已成功完成

--5、使用估功能

建的存储过估,是否足条件选择创建好的存储过 → 右 → 策略 → 策略,点击评估。

足条件:返回如下详细信息:

若不足条件,返回如下果:详细信息:

--6、策略的出及

出策略:

建好的策略,点选择导出策略:

入策略:

在策略管理下,的策略选项上,点选择导入策略选择入的文件:

DEMO2:建一个策略,要求MYDB 数据建的所有存储过程命名均是以pc_

--1建条件

入“条件”的名称:“proc_name”,然后字段列表中选择@Name,运算符LIKE值为'pc[_]%'。也就是判断存储过程的名字LIKE'pc[_]%',也就是以“pc_”开SQL 表达。

里字段和都可以使用量和函数,如果允PC_”、“Pc_”等开的存储过程,以将字段运用小写函数,改写Lower(@Name)”,然后单击“确定”按建“条件”完成

--2建策略

“策略”点,在右“新建策略”选项,系将打开新建策略窗口,策略名“proc_name”,在检查条件的下拉列表中选择刚创建的条件“proc_name”,系根据选择检查条件列出针对,默情况下是每个数据的每个存储过检查由于里我希望检查MYDB 数据,所以需要新建数据的条件,如选择新建条件:

由于仅针对mydb 数据,此方面选择“数据”,表达式中,字段选择@Name,运算符选择=,值则义为mydb”数据

单击“确定”按回到新建策略窗口,针对标变成了MYDB 数据的每个存储过程。

里若要实现这个策略,则选择评估模式“更改:禁止”并中“已启用”复表示启用策略。

单击明”选择页,可以在其中选择策略的类别、在反策略时给出的友好明。最后单击“确定”按即可完成策略的建工作。

--3测试建一个命名以pr_的存储过程:

create proc pr_na

with encryption

as

print 'hello'

go

--返回果:

SQLSERVER:\SQL\SQL2008\DEFAULT\Databases\mydb\StoredProcedures\dbo.pr_na反策略―proc_name

此事将回

策略条件:―@Name LIKE 'pc[_]%'

策略:―

其他帮助:―:―

:―--ENCRYPTED--

消息3609级别16,状1sp_syspolicy_dispatch_event,第65

在触器中束。批理已中止。

建一个命名以pc_的存储过

create proc pc_na

with encryption

as

print 'hello'

go

--返回果:

命令已成功完成。