第二章SQLServer2005概述2.1SQLSvever2005的组成部分数据库引擎分析服务(AnalysisServices)集成服务(IntegrationServices)报表服务(ReportingServices)服务代理复制全文搜索通知服务IntegrationServices数据库引擎ReportingServicesAnalysisServices服务代理复制全文搜索通知服务第二章SQLServer2005概述2.2SQLSvever2005主要组件数据库引擎AnalysisServicesReportingServicesNotificationServicesIntegrationServices服务器组件SQLServerManagementStudioSQLServer配置管理器数据库引擎优化顾问BusinessIntellibenceDevelopmentStudioSQLServerProfiler客户端组件DB_LibraryODBC驱动程序OLE_DB连接组件2.3SQLServer2005的实用程序SSMS(SQLServerManagementStudio)SQLServer管理控制器是一个集成的管理平台,集成了SQLServer2000企业管理器、服务管理器、查询分析器的所有功能进入SSMS,首先连接服务器登录验证模式1、Windows身份验证2、SQLServer身份验证SSMS连接服务器成功,进入SSMS界面。对象资源管理器已注册的服务器文档窗口可以访问的数据库其他实用程序以下均为独立的实用程序(从程序组菜单中选择)SQLServer商业智能开发平台(SSBIMS)提供开发项目的开发环境,可选择任意VisualStudio工具SQLServer分析器(SSP)为DBA提供监视、记录、检查数据库使用情况的图形工具数据库引擎优化顾问对指定数据库进行性能评估,给出优化建议。SQLServer分析服务(SSAS)为SSBIMS应用程序提供联机分析处理和数据挖掘功能SQLServer配置管理器(SSCM)配置网络协议,以及客户端的连接配置等SQLServer数据库对象SSMS查询窗口SQLServer2005的查询窗口可以使用交互方式输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执行结果,来完成对数据库中数据的分析和处理。对象资源管理器查询结果窗口查询编辑窗口SSMS查询窗口查询种类新建查询:查询当前服务器上的数据数据库引擎查询:查询任意服务器上的数据AnalysisServicesMDX查询:查询多维数据集AnalysisServicesDMX查询:查询数据挖掘结果数据AnalysisServicesXMLA查询:使用XMLA访问多维数据集SQLServerMobile查询:支持压缩数据库2.4SQLServer的安全管理数据的安全性--是指保护数据以防止因不合法的使用而造成数据的泄密和破坏。SQLServer的安全体系结构:客户机操作系统的安全性。可以通过在网络系统边界安装防火墙系统得以实施。SQLServer的登录安全性。允许哪些用户登录。数据库的使用安全性。规定用户登录以后可以使用哪些数据库。数据库对象的使用安全性。规定用户登录某一数据库后,可以操作哪些数据库对象以及怎样操作。2.4.1SQLServer安全体系结构SQLServer的安全模型用户服务器数据库数据库对象SQLServer身份验证数据库访问权限数据库对象访问权限获得操作系统的使用权SQLServer安全体系结构SQLServer的安全性SQLServer的服务器级安全性建立在服务器登录账号和密码的基础上。SQLServer采用了标准SQLServer登录和集成WindowsNT登录两种方式。无论使用哪种登录方式,用户在登录时提供的登录账号和密码,决定了用户能否获得SQLServer的访问权。管理和设计登录方式由DBA完成。SQLServer事先设计了许多固定服务器的角色(权限集合),用来为具有服务器管理员资格的用户分配使用权利。拥有固定服务器角色的用户可以拥有服务器级的管理权限。SQLServer安全体系结构SQLServer数据库的安全性当用户通过SQLServer登录验证后,可以访问服务器上的不同的数据库。这时用户将接受第三次安全性检验。当建立用户的登录账号时,默认指定master数据库是用户的默认数据库。以后用户每次连接上服务器,就获得了对默认数据库的访问权。但是master数据库存储大量的系统信息,直接影响系统安全。因此,建议用户最好是根据实际需求指定默认的数据库。默认的情况下,数据库的拥有者(Owner)可以访问该数据库的对象,分配访问权给别的用户,以便让别的用户也拥有针对该数据库的访问权利。SQLServer安全体系结构SQLServer数据库对象的安全性在创建数据库对象时,SQLServer自动把该数据库对象的拥有权赋予该对象的创建者。默认情况下,只有数据库的拥有者可以在该数据库下进行操作。当一个非数据库拥有者想访问数据库里的对象时,必须事先由数据库拥有者赋予用户对指定对象执行特定操作的权限。例:一个用户想访问school数据库里的student表中的信息,则必须在成为数据库用户的前提下,获得由school数据库拥有者分配的student表的访问权限。2.4.2SQLServer的验证模式SQLServer对用户的访问检验分为:验证阶段。用户在SQLServer上获得对任何数据库的访问权限之前,必须登录到SQLServer上,并且被认为是合法的。许可确认阶段。用户验证通过后,登录到SQLServer上,系统检查用户是否有访问服务器上数据的权限。SQLServer2005提供的两种身份验证模式:Windowa验证模式:由Windows操作系统验证用户身份。混合验证模式:由Windows操作系统验证或SQLServer数据库验证用户身份。用户身份验证模式Windows操作系统验证模式:通过操作系统验证的Windows的合法用户账户视同SQLServer的合法登录帐户。SQLServer数据库验证模式:通过操作系统验证的合法用户账户,还要进行二次验证。在SQLServer中,输入登录名和密码,通过验证则为SQLServer的合法登录帐户。设置验证模式操作步骤如下:(1)启动SSMS,选择要设置验证模式的服务器,从快捷菜单上选择“属性”命令,(2)在“服务器属性”对话框中,选择“安全性”页。(3)选择“服务器身份验证”。(4)选择“登录审核”信息。(5)单击“确定”按钮即可。2.4.3账号管理SQLServer的账号类型:登录服务器的登录账号。使用数据库的用户账号。注意:登录账号只是让用户登录到SQLServer中,登录名本身并不能让用户访问服务器中的数据库。要访问特定的数据库,还必须具有用户名。服务器的登录账号安装SQLServer后,系统默认创建两个登录账号:sa(标准账号)BUILTIN\Administrators(Windows组账号)1.查看系统创建的默认登录账号启动SSMS,在“对象资源管理器”中。展开“安全性”文件夹,选择“登录名”选项,即可看到系统的全部登录帐号。服务器的登录账号2.创建登录账号(1)启动SSMS,在“对象资源管理器”中。展开“安全性”文件夹,选择“登录名”选项,快捷菜单“新建登录名”命令(2)“常规”页主要参数输入登录名选择身份验证方式选择默认数据库(3)“服务器角色”页选择系统预定义的服务器角色数据库的用户账号在数据库中,一个用户取得合法的登录账号,只表明该账号可以通过Windows认证或SQLServer认证,并不表明可以对数据库数据和数据库对象进行某种或者某些操作,管理员必须在数据库中为用户建立一个用户账号,才能使该用户访问该数据库。新建数据库后,每个数据库中有一个默认用户账号:dbo:代表数据库所有者。创建用户账号(1)启动SSMS,在“对象资源管理器”中。展开“数据库”文件夹,选择数据库,选择“用户”数据库对象,快捷菜单“新建用户”(2)“常规”页主要参数输入用户账号选择登录账号选择预定义的数据库角色登录账号与用户账号SQLServerAUser1User2BAAACCCCUser1User4登录账号User1User2User3User4每个登录账号在一个数据库中只能与一个用户账号相关联,但是可以在不同的数据库中各有一个用户账号2.4.4权限与角色权限:用来控制登录账户对服务器的操作,用户账户对数据库的访问与操作。权限的种类服务器权限:执行数据库管理任务的权限,包含在预定义的服务器角色中。数据库权限对象权限:访问已存在数据库对象的权限如:Select,delete,update,insert,execute…..系统权限:创建数据库或数据库对象的权限,包含在预定义的数据库角色中。如:createdatabase,createtable,createview…..2.4.4权限与角色角色:是SQLServer的数据库对象,也是一种权限机制。当把一组系统权限授予角色后,角色表示一组权限的集合。SQLServer管理者可以将某一角色授予给一组用户,这样只要对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。角色分类服务器角色:SQLServer内置数据库角色:SQLServer内置用户自定义服务器角色服务器角色是执行服务器级管理操作的用户权限的集合SQLServer提供的服务器角色及其权限如下:P241sysadmin(系统管理员):拥有SQLServer所有的权限许可。serveradmin(服务器管理员):管理SQLServer服务器端的设置diskadmin(磁盘管理员):管理磁盘文件。processadmin(进程管理员):管理SQLServer系统进程.securityadmin(安全管理员):管理和审核SQLServer系统登录setupadmin(安装管理员):增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。dbcreator(数据库创建者):创建数据库、并对数据库进行修改bulkadmin(大容量插入操作管理者):可执行大容量插入操作。数据库角色数据库角色是执行数据库级管理操作的用户权限的集合。SQLServer提供的数据库角色类型:标准角色。SQLServer已经预定了这些角色所具有的管理、访问数据库的权限,而且SQLServer管理者不能对其所具有的权限进行任何修改。用户自定义角色。根据用户的需求,可以对角色中的权限进行修改。注:应用程序角色。数据库中的特殊角色,当打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据时采用。当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限。数据库角色标准角色在数据库创建时,系统默认创建10个固定的标准角色。这些固定的数据库角色的含义如下:P243public:用户默认权限组。db_owner:当前数据库中全部权限。db_accessadmin:可以添加或删除数据库用户、工作组和角色。db_securityadmin:管理角色、角色成员、管理对象和语句权限。db_ddladmin:可以增加、删除和修改数据库中任何对象。db_backupoperator:可以备份和恢复数据库。db_datareader:可以选择数据库内任何用户表中的所有数据。db_datawriter:可以更改数据库内任何用户表中的所有数据db_denydatareader:不能选择数据库内任何用户表中的任何数据。db_denydatawriter:不能更改数据库内任何用户表中的任何数据。权限管理1、登录账号的权限管理操作步骤:(1)启动SSMS,在“对象资源管理器”中。展开“安全性”|“登录名”,选