其中按需是手动操作的,其他三个则可以自动完成。按计划是使用SQL Server代理来定时检查策略,另外两个是在更改时由DDL触发器触发。
其他的概念我不用多说,大家可以看联机丛书,这里就举个例子来说明策略管理的使用。
假设现在我们要开发个业务系统,其数据库为TestDB1,使用ADO.NET 调用存储过程来实现数据操作,现在项目中规定存储过程的命名规范:以“usp_”开头。这里我们可以使用策略管理来实现对该规范的检查或强制实行。具体操作过程如下:
(1)由于我们针对的对象是存储过程,所以在“方面”节点下右击“存储过程”,选择“新建条件”选项,系统将会弹出新建条件的窗口。
(2)输入“条件”的名称:“存储过程命名规范”,然后字段列表中选择@Name,运算符为LIKE,值为'usp[_]%'。也就是判断存储过程的名字LIKE 'usp[_]%',也就是以“usp_”开头的SQL表达。如图:
这里字段和值都可以使用变量和函数,如果允许“USP_”、“Usp_”等开头的存储过程,则可以将字段运用小写函数,改写为“Lower(@Name)”,然后单击“确定”按钮,创建“条件”完成。
(3)右击“策略”节点,在右键菜单中选“新建策略”选项,系统将打开新建策略窗口,输入策略名“检查存储过程命名规范”,在检查条件的下拉列表中 选择刚创建的条件“存储过程命名规范”,系统将根据选择的检查条件列出针对目标,默认情况下是对每个数据库的每个存储过程进行检查,由于这里我们只希望检 查TestDB1数据库,所以需要新建数据库的条件,如图:
(4)单击“新建条件”后将出现与第(2)步新建条件相同的窗口,只是这里我们新建的条件方面是数据库,新建条件TestDB1,如图所示:
(5)单击“确定”按钮回到新建策略窗口,针对目标变成了对TestDB1数据库的每个存储过程。这里若要强制实现这个策略,则选择评估模式为“更改:禁止”并选中“已启用”复选框表示启用该策略。
(6)单击“说明”选择页,可以在其中选择策略的类别、在违反策略时给出的友好说明。最后单击“确定”按钮即可完成策略的创建工作。
(7)接下来就是测试该策略是否有效了,运行如下SQL语句创建一个存储过程usp_GetDate:
GO
CREATEPROCusp_GetDate
AS
SELECTGETDATE()
GO
一切正常,存储过程被创建成功。那么再创建一个存储过程db1_GetDate:
GO
CREATEPROCdb1_GetDate
AS
SELECTGETDATE()
GO
哈哈,系统抛出异常了:
“SQLSERVER:\SQL\MS-ZY\DEFAULT\Databases\TestDB1\StoredProcedures\dbo.db1_GetDate”已违反策略“检查存储过程命名规范”。
此事务将回滚。
策略条件:“Lower(@Name) LIKE 'usp[_]%'”
策略说明:“项目中统一了TestDB1数据库中存储过程的命名规范,所有存储过程必须以usp_开头”
其他帮助:“存储过程必须以usp_开头”:“”
语句:“CREATE PROC db1_GetDate
AS
SELECT GETDATE()
”。
消息 3609,级别 16,状态 1,过程 sp_syspolicy_dispatch_event,第 65 行
事务在触发器中结束。批处理已中止。
再看看对象资源管理器中,该存储过程确实没有被创建。同样可以在另外的数据库中创建这两个存储过程,但是由于策略中针对的是TestDB1数据库,所以在其他数据库中这两个存储过程都将会被成功创建。
现在有了这个策略,大家在命名存储过程时都必须按照规范来了。
如果策略被定义为“按需”评估模式的话,则用户可以在其中创建违反策略的存储过程。若要检查现有的数据库对象是否符合策略,只需要在对象资源管理器
中右击数据库对象节点,然后选择右键菜单中的“策略”下的“评估”
选项,如果要检查具体某个数据库对象的“方面”属性值的话,则选择右键菜单中的“方面”选项。
选择“评估”选项后系统弹出评估策略窗口,其中列出了所有存储过程方面相关的策略,选择需要验证的策略,然后单击“评估”按钮即可查看当前数据库对象是否符合策略。
这里只是一个简单的示例而已,策略管理的功能远不止命名规范的检查这么简单,通过策略管理还可以检查数据库是否自动收缩、SQL Server的密码策略、网络数据表大小、最大并行度……
微软为我们提供了一个安装包,其中包含了大量的策略示例,帮助大家学习和使用基于策略的管理,下载地址:
相关推荐
SQL Server 2008 包含了一系列的新特性,比如改进的安全性、增强的数据类型支持以及对XML数据的支持等。 #### 二、SQL Server 2008 的安装步骤 1. **下载安装包**:首先需要从微软官方网站或其他可靠来源下载SQL ...
在"sqlserver——oracle工具"的标题中,我们关注的是在SQL Server和Oracle之间进行数据迁移的工具。常见的数据迁移工具有: 1. Oracle SQL Developer Data Pump:Oracle官方提供的免费工具,可以方便地导入导出数据...
探索SQL Server的安全特性,如登录、用户、角色和权限,理解如何为不同的用户分配访问和操作数据库的权限,是保护数据安全的重要步骤。 8. **性能优化**: 最后,你可以通过监控和调整索引、统计信息和查询计划,...
这一章主要介绍了SQL Server 2008的基本概念、版本信息以及新特性。包括Express、Standard、Enterprise等不同版本的区别,以及增强的数据加密、备份恢复、性能优化等方面的改进。 第二章:安装与配置SQL Server ...
这篇博客“事务管理(二)——SQL SERVER的事务管理”可能详细介绍了SQL Server如何处理事务,包括事务的特性、隔离级别以及如何处理事务中的并发问题,如死锁。 首先,事务有四个基本特性,即原子性(Atomicity)...
学习并实践这些代码示例,读者将能够更好地理解和运用SQL Server 2008的T-SQL特性,从而提升数据库管理和开发的技能。这不仅有助于日常的数据库管理任务,也对解决性能瓶颈和设计高效的数据解决方案大有裨益。同时,...
SQL Server 2008是Microsoft公司推出的一款强大的关系型数据库管理系统,广泛应用于各种行业的数据存储和管理,包括我们的主题——图书管理系统。在这个系统中,SQL Server 2008扮演着核心角色,负责存储、管理和...
综上所述,这份"sqlserver2008教案"不仅覆盖了T-SQL的基本语法和高级特性,还通过实例和案例教学,使你能够掌握SQL Server 2008的实战应用。无论你是初学者还是有一定基础的数据库管理员,都能从中受益匪浅,提升你...
总结来说,"大型数据库系统管理、设计与实例分析——基于SQL Server程序原代码"这个主题涵盖了数据库设计理论、SQL Server的使用、数据库管理系统的核心功能,以及实际案例的操作。深入学习这个主题,不仅可以提升...
SQL Server 2008引入了一项重要的新特性——**基于策略的管理**(Policy-Based Management),简称PBM。这项功能允许DBA以一种声明性的方式来定义、管理和验证SQL Server环境中的各种策略,极大地简化了大规模数据库...
在本课程的第12部分——“利用SQL Server 2005新特性升级数据应用(下)”中,我们将深入探讨SQL Server 2005引入的一些关键改进,这些改进对于提升数据应用的效率和可靠性至关重要。 1. **Service Broker**: SQL ...
《SQL Server 2000 图解教程——下》是一本专门为初学者设计的数据库管理教程,通过丰富的图像和简洁的文字,深入浅出地讲解了SQL Server 2000的核心概念和技术。在这个部分,我们将重点探讨SQL Server 2000在数据...
随着SQL Server版本的更新,如SQL Server 2012及更高版本,数据挖掘功能也在不断演进,掌握新特性将有助于保持技术的前沿性。 总之,《数据挖掘原理与应用——SQL Server 2005 数据库》是一本实用的指南,通过详细...
最后,课程可能会讨论一些高级主题,如数据库性能优化、数据仓库和商务智能,以及SQL Server 2008的新特性和改进,如数据加密、数据镜像和AlwaysOn可用性组,这些都是数据库管理员和开发人员需要了解的关键技术。...
《数据库应用技术——SQL ...通过《数据库应用技术——SQL Server 2000简明教程》的学习,你将具备使用SQL Server 2000管理数据库、编写T-SQL脚本、优化性能和构建报表的能力,为实际工作或进一步学习打下坚实的基础。
《数据库技术及应用——SQL Server 2005》是一份深入探讨数据库管理和开发的教程,专注于Microsoft SQL Server 2005这一特定版本。SQL Server 2005是微软公司推出的一款强大的关系型数据库管理系统(RDBMS),在企业...
这个"SQL Server 2000 SP4企业版精简版8M.rar"是一个压缩包,其中包含了SQL Server 2000的企业版精简版安装程序——"SQL Server 2000 SP4企业版精简版8M.exe"。"SP4"指的是Service Pack 4,这是SQL Server 2000的...
6. **维护和优化**:在SQL Server 2005中,你可以利用新的特性和功能对数据库进行优化,例如使用新的索引策略、调整查询性能等。 在实际操作过程中,可能会遇到各种问题,如兼容性问题、性能瓶颈、数据一致性等。...
SQL Server 2005是微软推出的一款强大的关系型数据库管理系统,它引入了许多创新特性,使得数据库管理和数据处理效率大幅提升。以下是对SQL Server 2005十大特性的一部分详细解析: 1. **非聚簇索引中的包含列**:...
SQL Server 7.0 通过许多特性,例如多服务器、单控制台管理、基于事件的作业执行和警报,集成化安全性以及管理脚本等,降低了使用的总成本。新的版本还通过常规任务的自动化,将数据库管理员解放出来,以便处理更...