1、第 10 章数据库管理维护与新技术第 10 章 数据库管理维护与新技术10.1事务管理事务管理10.2数据库安全管理数据库安全管理10.3数据库日常维护数据库日常维护10.4数据库新技术数据库新技术第 10 章数据库管理维护与新技术10.1事事 务务 管管 理理10.1.1事务的概念事务的概念事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单元。通过事务,SQL Server 能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。事务通常是以 Begin Transaction 开始,以 Commit 或 Ro
2、llback 结束。其中 Commit 表示提交,即将事务中所有对数据库的更新写回到磁盘上的物理数据库中,事务正常结束。第 10 章数据库管理维护与新技术10.1.2执行事务的执行事务的 3 种模式种模式执行事务通常有以下 3 种模式。1.自动提交事务自动提交事务自动提交是系统默认的事务方式。2.显式事务显式事务显式事务是指在自动提交模式下以 Begin Transaction 开始,以 Commit 或 Rollback 结束的一个事务。第 10 章数据库管理维护与新技术显式事务的语法格式如下:begin transactiontransaction_name|tran_name_varia
3、blewith markdescription参数说明:(1)transaction_name 是给事务分配的名称,其命名要符合标识符命名规则,最大长度是 32 个字符。(2)tran_name_variable 是用 char、varchar、nchar 或 nvarchar 数据类型声明有效事务的变量的名称。(3)with markdescription 指定在日志中标记事务。description 是描述该标记的字符串。如果使用了 with mark,则必须指定事务名。with mark 允许将事务日志还原到命名标记。第 10 章数据库管理维护与新技术显式事务语句如表 10-1 所示。第
4、 10 章数据库管理维护与新技术第 10 章数据库管理维护与新技术第 10 章数据库管理维护与新技术3.隐式事务隐式事务当连接以隐性事务模式进行操作时,SQL Server 将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只需用 Commit 提交或 Rollback 回滚每个事务。隐式事务模式可生成连续的事务链。第 10 章数据库管理维护与新技术10.2数据库安全管理数据库安全管理SQL Server 的安全性管理分为 3 个等级:操作系统级、SQL Server 级和数据库级。操作系统级的安全性是指用户通过网络使用客户计算机实现 SQL Server 服务器访问时,首先要获得计
5、算机操作系统的使用权。SQL Server 级的安全性是指 SQL Server 的服务器级安全性建立在控制服务器登录账号和口令的基础上。SQL Server 采用标准 SQL Server 登录和集成 Windows NT 登录两种方式,无论使用哪种登录方式,用户在登录时提供的登录账号和口令都必须正确。第 10 章数据库管理维护与新技术数据库级的安全性是指在用户通过 SQL Server 服务器的安全性检验以后,将直接面对不同的数据库入口。Microsoft SQL Server 对用户的访问要经过验证和授权两个阶段。验证是检验用户的身份标识,授权是允许用户做些什么。在验证阶段,Micros
6、oft SQL Server 2008 R2 可以通过 SQL Server 账户或者 Windows 账户对用户进行验证。第 10 章数据库管理维护与新技术10.2.1服务器安全管理服务器安全管理SQL Server 服务器有两种验证模式:Windows 验证模式和混合验证模式。SQL Server 数据库系统通常运行在 NT 服务器平台或基于 NT 架构的 Windows 上。NT作为网络操作系统,本身就具备管理登录及验证用户合法性的能力,因此 Windows 验证模式就是利用用户安全性和账号管理的机制,允许 SQL Server 使用 NT 的用户名和口令。当用户试图登录到 SQL Se
7、rver 时,从 NT 或 Windows 的网络安全属性中获取登录用户的账号和密码,并验证其合法性。第 10 章数据库管理维护与新技术在 SSMS 中设置验证模式的步骤如下:(1)在“对象资源管理器”中,选择相应的服务器,右击鼠标弹出快捷菜单,选择“属性”命令,打开“服务器属性”对话框,选择“安全性”选项,进入设置页面,如图 10-1 所示。第 10 章数据库管理维护与新技术图 10-1“服务器属性”对话框第 10 章数据库管理维护与新技术(2)在“服务器身份验证”中设置需要的模式,最后单击“确定”按钮,完成设置。在 SQL Server 中有两种账号,其一是登录服务器的登录账号(Login
8、 Name),其二是使用数据库的用户账号(User Name)。在 SSMS 的“对象资源管理器”中展开“安全性”节点,再展开“登录名”节点,即可看到系统的登录账号,其中 SA 是超级管理员账号,允许 SQL Server 的系统管理员登录,如图 10-2 所示。第 10 章数据库管理维护与新技术图 10-2服务器登录账号第 10 章数据库管理维护与新技术在登录名(如 LAPTOP-03Q4URED40375)上右击,弹出快捷菜单,选择“属性”命令,弹出“登录属性”对话框。在“常规”选项卡的“默认数据库”中可选择需要经常使用的数据库(如 studscore_wl2);在“用户映射”选项卡的“映
9、射到此登录名的用户”下勾选相应的数据库,表示该登录账号可以访问勾选的数据库。设置完成后,单击“确定”按钮,如图 10-3 所示。第 10 章数据库管理维护与新技术图 10-3“登录属性”对话框第 10 章数据库管理维护与新技术10.2.2数据库用户安全管理数据库用户安全管理在 SQL Server 服务器配置了身份验证模式并创建了登录账户以后,还需要授予它们合适的数据库访问权限,也就是将每个需要访问数据库的登录账户映射到一个数据库的用户。数据库用户是数据库级的主体,是登录账户在数据库中的映射,是在数据库中执行操作和活动的行动者。第 10 章数据库管理维护与新技术1.特殊的数据库用户特殊的数据库
10、用户每个数据库都有一个 dbo 用户(database owner),而且不能删除,dbo 可以在数据库范围内执行一切操作。每个 SQL Server 服务器登录账户在其创建的数据库中都映射为 dbo用户,sa 是所有系统数据库的拥有者,因此 sa 映射为所有系统数据库的 dbo 用户。第 10 章数据库管理维护与新技术2.创建数据库用户创建数据库用户使用菜单方式创建数据库用户,步骤如下:(1)在“对象资源管理器”中,展开“数据库”节点,展开某一数据库,展开“安全性”节点,展开“用户”节点,如图 10-4 所示。在用户名上右击,弹出快捷菜单,选择“新建用户”命令,弹出“数据库用户-新建”对话框
11、。第 10 章数据库管理维护与新技术图 10-4“数据库用户新建”快捷菜单第 10 章数据库管理维护与新技术(2)在“用户名”处输入数据库用户名(如 stud),在“登录名”框内选择已经创建的登录账号,在“默认架构”处选择 dbo 架构,在“数据库角色成员身份”处勾选“db_owner”,然后单击“确定”按钮,完成数据库用户的创建,如图 10-5 所示。第 10 章数据库管理维护与新技术图 10-5“数据库用户-新建”对话框第 10 章数据库管理维护与新技术(3)查看、删除数据库用户。在“对象资源管理器”中,展开“数据库”节点,展开“安全性”文件夹,展开“用户”节点,选择相应的用户,右击弹出快
12、捷菜单,选择“删除”命令,删除用户。第 10 章数据库管理维护与新技术10.3数据库日常维护数据库日常维护10.3.1数据库备份与还原数据库备份与还原数据库备份与还原是维护数据库安全性和完整性的重要手段。备份是对 SQL Server数据库及其他相关信息进行拷贝保存的过程。还原即恢复,是将数据库备份进行装载,并应用事务日志重建数据库操作的过程。第 10 章数据库管理维护与新技术1.数据库备份数据库备份1)备份的内容和类型(1)备份的内容。备份的内容包括数据库、事务日志和文件 3 种。其中:数据库又分为系统数据库和用户数据库。系统数据库主要是记录系统信息和用户数据库信息的 master、msdb
13、 和 model 等数据库。用户数据库存放用户的业务数据,对用户而言,用户数据库的备份是非常重要的。第 10 章数据库管理维护与新技术(2)备份的类型。备份的类型包括完全备份、差异备份、事务日志备份、文件和文件组备份 4 种。完全备份是备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象,是最安全最保险的备份类型。差异备份也称增量备份,只备份上一次数据库备份以后发生更改的数据。其优点是存储和恢复速度快,一般是每天做一次差异备份。第 10 章数据库管理维护与新技术 事务日志备份就是对数据库发生的事务进行备份。只有完整恢复模式和大容量日志恢复模式下才会有事务日志备份。文件和文件
14、组备份是一种文件拷贝,如果数据库发生故障,将备份文件直接覆盖原文件和文件组就可以了。第 10 章数据库管理维护与新技术2)备份操作(1)使用菜单方式进行数据库备份。操作步骤如下:在“对象资源管理器”中,展开“数据库”节点,选择数据库,右击弹出快捷菜单,选择“任务”命令,弹出下一级菜单,选择“备份”命令,如图 10-6 所示。第 10 章数据库管理维护与新技术图 10-6数据库“备份”快捷菜单第 10 章数据库管理维护与新技术 在数据库备份对话框中,在“源”“备份集”和“目标”栏处进行选择或添加的操作,如备份数据库“studscore_wl2”。在“源”栏,在“数据库(T)”处选择studsco
15、re_wl2”,“备份类型”处选择“完整”,“备份组件”处点选“数据库(B)”。在“备份集”栏,在“名称(N)”处选择studscore_wl2-完整 数据库 备份”,点选“晚于(E)”。在“目标”栏,在“备份到”处点选“磁盘”,单击“添加”按钮,输入备份文件名字和地址,如图 10-7 所示。单击“确定”按钮,提示“备份成功!”。第 10 章数据库管理维护与新技术图 10-7“数据库备份”对话框第 10 章数据库管理维护与新技术(2)使用代码方式进行数据库备份。在 SQL Server 2008 R2 中可以使用 backup 命令完成数据库完整备份。语法格式如下:backup databas
16、e database_name to,.n参数说明:database_name 是备份文件名;backup_device 是备份设备,不要加引号。第 10 章数据库管理维护与新技术例 10-2直接完整备份到磁盘。如 studscore_wl2 备份为 stud19wl.bak。(1)创建备份设备。代码如下:sp_addumpdevice disk,bookstoreback,D:sqstud19wl.bak第 10 章数据库管理维护与新技术(2)完整备份。代码如下:backup database studscore_wl2 to bookstoreback或者backup database s
17、tudscore_wl2 to disk=D:sqstud19wl.bak(3)事务日志备份。代码格式如下:back log 数据库名 to 备份设备(逻辑名|物理名)第 10 章数据库管理维护与新技术例 10-3在完成数据库备份的情况下,完成 studscore_wl2 的事务日志备份。代码如下:第 10 章数据库管理维护与新技术2.数据库还原数据库还原数据库还原操作步骤如下:(1)右击数据库,弹出菜单,选择“还原.”,选择还原“数据库”,进入“还原数据库”对话框。(2)在“还原数据库”对话框中输入目标数据库的名称,即没有使用过的数据库名称,在“源设备”处选择用于还原的备份文件。在“还原”处
18、勾选复选框,然后单击“确定”按钮,还原成功,如图 10-8 所示。第 10 章数据库管理维护与新技术图 10-8“还原数据库”对话框第 10 章数据库管理维护与新技术10.3.2数据库分离与附加数据库分离与附加用户可以分离数据库的数据文件和日志文件,并将其附加于同一或其他数据库服务器上。数据库的分离和附加过程是一对反向操作,经常使用这一方法实现数据库在不同数据库服务器之间的移动。1.分离分离在“对象资源管理器”中,展开“数据库”节点,右击某一数据库弹出快捷菜单,选择“任务”命令,弹出下一级菜单,选择“分离”命令。在“分离数据库”对话框中单击“确定”按钮,此时在 SSMS 中就看不到该数据库了。
19、第 10 章数据库管理维护与新技术2.附加附加在“对象资源管理器”中,右击“数据库”节点,弹出快捷菜单,选择“附加”命令。在“附加数据库”对话框中选择数据库的主文件,单击“确定”按钮,返回对话框,如图10-9 所示。然后单击“确定”按钮,完成数据库附加操作。第 10 章数据库管理维护与新技术图 10-9“附加数据库”对话框第 10 章数据库管理维护与新技术10.3.3数据导入和导出数据导入和导出数据导入和导出是 SQL Server 与外部系统之间进行数据交换的手段。通过导入和导出操作,可以实现 SQL Server 和其他异类数据源(如电子表格 Excel、Access、Oracle 数据库
20、等)之间的数据传输。导入是将数据从数据文件加载到 SQL Server 表,导出是将数据从 SQL Server 表复制到数据文件。第 10 章数据库管理维护与新技术1.导入导入在 SQL Server 2008 R2 的 SSMS 中,使用“导入向导”工具可以完成从其他数据源向SQL Server 数据库导入数据的操作。操作步骤如下:(1)在“对象资源管理器”中展开“数据库”节点,右击某一个数据库,然后从快捷菜单中选择“任务”下的“导入数据”选项,弹出“导入数据”对话框,单击“下一步”按钮。第 10 章数据库管理维护与新技术(2)在“选择数据源”对话框中,选择要导入数据源的类型。如在数据源选
21、择“Microsoft Excel”,单击“浏览”按钮选择要导入数据文件的路径和文件名,勾选“首行包含列名称”复选框,单击“下一步”按钮,如图 10-10 所示。第 10 章数据库管理维护与新技术图 10-10“选择数据源”对话框第 10 章数据库管理维护与新技术(3)在“选择目标”对话框中,指定将数据复制到何处。在“目标”处选择“SQL Server Native Client 10.0”;在“服务器名称”处选择具体的服务器名称及身份验证方法,如 XWQ123SQLEXPRESS;在“数据库”列表中选择某一数据库。然后单击“下一步”按钮,如图 10-11 所示。第 10 章数据库管理维护与新
22、技术图 10-11“选择目标”对话框第 10 章数据库管理维护与新技术(4)在“指定表复制或查询”对话框中,选择“复制一个或多个表或视图的数据”。单击“下一步”按钮,在“选择源表或源视图”对话框中选择一个或多个要复制的源表,然后单击“下一步”按钮,进入“完成该向导”对话框,如图 10-12 所示。第 10 章数据库管理维护与新技术图 10-12“完成该向导”对话框第 10 章数据库管理维护与新技术(5)显示执行成功,如图 10-13 所示。图 10-13数据导入执行成功第 10 章数据库管理维护与新技术2.导出导出数据导出是将数据库中的数据表或视图中的数据导出为其他数据格式。数据导出的过程与数
23、据导入的过程类似。例如,将 orderitems 表的数据导出。经过“选择数据源”“选择目标”“指定表复制或查询”“选择源表和源视图”“查看数据类型映射”运行包等过程的操作,最后显示执行成功,如图 10-14 所示。第 10 章数据库管理维护与新技术图 10-14数据导出执行成功第 10 章数据库管理维护与新技术10.4数据库新技术数据库新技术10.4.1分布式数据库分布式数据库分布式数据库系统(Distributed DataBase System,DDBS)包含分式数据库管理系统(DDBMS)和分布式数据库(DDB)。在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数
24、据分别在不同的局部数据库中存储、由不同的 DBMS 进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接在一起。第 10 章数据库管理维护与新技术1.DDBS 的基本概念的基本概念分布式数据库系统就是物理上分散而逻辑上集中的数据库系统。随着计算机网络技术的飞速发展,DDBS 日趋成为数据库领域的主流方向。“分布计算”概念突破了集中式 DBS 的框架,数据分布使系统走上分布式数据库的道路,功能分布使系统走上 C/S 道路。这是 DBS 的两个发展方向,如图 10-15 所示。第 10 章数据库管理维护与新技术图 10-15分布式数据库系统第 10 章数据库管理维护与新技术2.
25、DDBS 的优缺点的优缺点DDBS 的优点如下:(1)每个站点(Site)自身具有完全的本地 DBS,经济性能优越,且响应速度快。(2)所有站点协同工作,组成了一个逻辑上的统一数据库。(3)站点数据由分布式 DBMS(DDBMS)管理,灵活且可扩展性好。(4)本地应用和本地用户只访问其所注册的那个站点上的数据,可靠性高,可用性好。(5)全局应用和全局用户访问涉及多个站点上的数据。第 10 章数据库管理维护与新技术DDBS 的缺点如下:(1)系统开销大。系统开销主要花在通信部分。(2)存取结构复杂。原来在集中式系统中有效存取数据的技术,在分布式系统中都不再适用。(3)数据的安全性和保密性较难处理
26、。第 10 章数据库管理维护与新技术3.主流的分布式数据库产品主流的分布式数据库产品主流的分布式数据库产品有基于 Hadoop 的分布式数据库产品 Greenplum、基于列存储的数据库产品 Vertica、为数据仓库设计的关系型数据库产品 SybaseIQ(15.4)等。SybaseIQ(15.4)采用业内领先的 MPP 列式数据库和最先进的数据库内分析技术,并革命性地加入了 MapReduce 与 Hadoop 集成,以应对大数据时代的分析挑战。第 10 章数据库管理维护与新技术10.4.2NoSQL 数据库数据库NoSQL 是 Not Only SQL(非关系型数据库)的缩写,即不使用传
27、统的关系数据模型,而是使用如 key-value 存储、文档型、列存储、图形数据库等方式存储数据的数据库技术。第 10 章数据库管理维护与新技术1.新需求与关系数据库的局限性新需求与关系数据库的局限性新需求与关系数据库的局限性如下:(1)对数据库高并发读写的需求。(2)对海量数据的高效率存储和访问的需求。(3)对数据库的高可扩展性和高可用性的需求。(4)数据库事务一致性需求。(5)数据库的写实时性和读实时性需求。(6)对复杂的 SQL 查询,特别是多表关联查询的需求。第 10 章数据库管理维护与新技术2.NoSQL 数据库的特点数据库的特点NoSQL 数据库的特点如下:(1)可以处理超大量的数
28、据。(2)通常运行在便宜的 PC 服务器集群上。(3)高性能。(4)没有过多的操作。(5)Bootstrap 支持。第 10 章数据库管理维护与新技术3.NoSQL 数据库系统实现技术数据库系统实现技术NoSQL 是非关系型数据存储的广义定义。NoSQL 数据库种类繁多,但是它们都有一个共同的特点,即都可以去掉关系数据库的关系型特性。NoSQL 数据库系统的实现方式有以下几种:(1)基于 key-value 存储的 NoSQL 数据库,如 Memcached、Tokyo Tyrant、Flare、ROMA、Redis 等。(2)基于文档存储的 NoSQL 数据库,如 MongoDB、CouchDB 等。(3)基于列存储的 NoSQL 数据库,如 Cassandra、Hbase、HyperTable 等。