零点起飞学SQLSever之SQLServer28数据库.pptx

上传人:zhu****ei 文档编号:5429726 上传时间:2020-01-29 格式:PPTX 页数:30 大小:238.83KB
返回 下载 相关 举报
零点起飞学SQLSever之SQLServer28数据库.pptx_第1页
第1页 / 共30页
零点起飞学SQLSever之SQLServer28数据库.pptx_第2页
第2页 / 共30页
零点起飞学SQLSever之SQLServer28数据库.pptx_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第4章SQLServer2008数据库 数据库是某个企业 组织或部门所涉及的数据的综合 它不仅反映数据本身的内容 而且反映数据之间的联系 对数据库的基本操作是数据库管理或开发人员的一项重要工作 本章将从SQLServer2008数据库的基础学起 主要包括了解SQLServer2008数据库 创建数据库 重命名和删除数据库 修改数据库以及分离与附加数据库等知识 4 1SQLServer2008数据库简介 本节将主要介绍SQLServer2008数据库的一些基础知识 使读者能够更好地理解数据库的概念 并了解在SQLServer2008中 文件 文件组和事务日志是如何使用的 4 1 1数据库基础知识 SQLServer的一个实例可以包含多个数据库 每个数据库中可以保存相关或不相关的数据 在SQLServer2008中 主要包括两种类型的数据库 联机事务处理 OLTP 数据库和联机分析处理 OLAP 数据库 在SQLServer2008中新增了一种数据库快照 将在数据库维护章节中向读者详细介绍 下面简要介绍这三种类型的数据库 1 联机事务处理 OLTP 数据库2 数据仓库3 数据库快照 4 1 2什么是系统数据库 SQLServer2008包含一些系统数据库 这些数据库记录了一些SQLServer必需的信息 用户不能直接修改这些系统数据库 也不能在系统数据库表上定义触发器 SQLServer2008包含以下几个系统数据库 master model msdb tempdb和Resource 1 master数据库2 model数据库3 msdb数据库4 tempdb数据库5 Resource数据库 4 1 3文件和文件组 SQLServer2008使用文件和文件组来管理物理数据库 每个数据库至少具有两个系统文件 一个数据文件和一个日志文件 数据库文件里包含数据和对象 如表 索引 存储过程 触发器 数据类型 角色和视图等 日志文件里包含恢复数据库的所有事务信息 为了便于分配和管理 可以将数据文件集合起来 放到文件组中 1 数据库文件2 数据库文件的存储路径3 数据库文件的名称4 数据库文件的大小5 文件组6 文件和文件组的设计规则和使用建议 4 1 4数据库对象 一个数据库往往由多种数据对象构成 SQLServer2008数据库的数据元素包括表 视图 索引 主键 外键 存储过程 触发器 数据类型 约束 默认值 角色 用户和架构等 这些数据库对象可以通过 SQLServerManagementStudio 中的 对象资源管理器 组件窗口来查看 4 2创建数据库 若要创建数据库 必须确定数据库的名称 所有者 大小以及存储该数据库的文件和文件组 注意 所有者是创建数据库的用户 在创建数据库之前 还应注意以下事项 若要创建数据库 必须至少拥有CREATEDATABASE CREATEANYDATABASE或ALTERANYDATABASE权限 在SQLServer2008中 对各个数据库的数据和日志文件设置了某些权限 创建数据库的用户将成为该数据库的所有者 对于一个SQLServer实例 最多可以创建32 767个数据库 数据库名称必须遵循为标识符指定的规则 model数据库中的所有用户定义对象都将复制到所有新创建的数据库中 在SQLServer2008中 创建数据库一般有两种方式 使用工具向导和使用Transact SQL语句 下面分别介绍如何使用SQLServerManagementStudio提供的工具向导和Transact SQL脚本语句来创建数据库 4 2 1使用SSMS创建数据库 在SQLServerManagementStudio中 使用图形工具向导来创建一个 Practice JWGL 数据库 该数据库包含一个初始大小为10MB的数据库文件和一个初始大小为5MB的日志文件 数据文件的增长方式为 增量为10MB 不限制增长 日志文件的增长方式为 增量为20 不限制增长 其他参数均采用默认值 并将数据文件和日志文件存储到 D Practice JWGL 目录中 4 2 2使用语句创建数据库 Transact SQL语言提供了创建数据库的语句CREATEDATABASE 其语法格式如下 CREATEDATABASEdatabase name ON PRIMARY n n LOGON n FORLOAD FORATTACH NAME logical file name FILENAME os file name SIZE size MAXSIZE max size UNLIMITED FILEGROWTH growth increment n FILEGROUPfilegroup name n 1 创建未指定文件的数据库 实例4 1 创建一个Student数据库 所有参数均取默认值 2 创建指定数据文件和日志文件的数据库 创建指定数据文件和日志文件的数据库 除了需指定数据库的全局名称外 还可以自定义其他数据库值 实例4 2 创建一个Student1数据库 该数据库的主文件逻辑名称为Student1 data 物理文件名为Student1 mdf 初始大小为10MB 最大尺寸为无限大 增长速度为10 数据库的日志文件逻辑名称为Student1 log 物理文件名为Student1 ldf 初始大小为1MB 最大尺寸为5MB 增长速度为1MB 3 创建指定多个数据文件和日志文件的数据库 实例4 3 创建一个指定多个数据文件和日志文件的数据库 该数据库名称为Students 有1个10MB和1个20MB的数据文件和2个10MB的事务日志文件 数据文件逻辑名称为student1和student2 物理文件名为student1 mdf和student2 mdf 主文件是student1 由primary指定 两个数据文件的最大尺寸分别为无限大和100MB 增长速度分别为10 和1MB 事务日志文件的逻辑名分别为studentlog1和studentlog2 物理文件名分别为studentlog1 ldf和studentlog2 ldf 最大尺寸均为50MB 文件增长速度为1MB 具体操作过程如下 4 3删除和重命名数据库 SQLServer2008允许对现有数据库进行重命名操作以及对不再需要的数据库进行删除操作 下面主要介绍如何使用SQLServerManagementStudio提供的工具向导和Transact SQL脚本语句来重命名和删除数据库 4 3 1重命名数据库 SQLServer2008允许对数据库重新命名 并且新的名称必须符合SQLServer2008的命名规则 下面分别介绍如何使用SQLServerManagementStudio提供的工具向导和Transact SQL脚本语句来重命名数据库 1 使用SQLServerManagementStudio重命名数据库2 使用Transact SQL重命名数据库在SQLServer2008中可以使用系统存储过程sp renamedb来更改数据库的名称 在重命名数据库之前 应该确保没有用户使用该数据库 而且数据库应该设置为单用户模式 系统存储过程sp renamedb语法如下 sp renamedb dbname old name newname new name 实例4 4 将已经存在的数据库Practice JWGL重命名为Practice JWGLS 4 3 2删除数据库 当不再需要数据库或者它被移到另一数据库或服务器时候 即可删除该数据库 数据库删除之后 文件及其数据都从服务器上的磁盘中删除 不能删除系统数据库master model msdb和tempdb 下面分别介绍如何使用SQLServerManagementStudio提供的工具向导和Transact SQL脚本语句来删除数据库 1 使用SQLServerManagementStudio删除数据库2 使用Transact SQL语句删除数据库也可以使用Transact SQL脚本语句删除一个或多个数据库及其数据库快照 其语法格式如下 DROPDATABASEdatabase name database snapshot name n 实例4 5 使用Transact SQL脚本语句将已经存在的数据库Practice JWGL删除 具体操作步骤步骤如下 4 4修改数据库 一般情况下 数据库是变化的 伴随着数据量的增长 SQLServer2008数据库可能有时候不能完全满足用户的需求 这就需要用户适时地对数据库进行调整 本节将介绍SQLServer2008提供的一些常见的修改数据库的功能及其具体操作 4 4 1扩大数据库大小 当数据库中的数据库文件和日志文件的空间被占满时 需要为数据文件和日志文件分配更多的空间 SQLServer2008可以根据在创建数据库时设定的增长参数自动地扩大数据文件和日志文件 用户也可以手动地分配额外的存放数据文件的空间 或者创建新的数据文件空间分配给数据库 当数据库未使用 启用自动增长 选项时 如果数据量增加 而现有的数据库文件不能满足用户的需求时 需要手动地增加数据库的大小 4 4 2收缩数据库 在SQLServer2008中 数据库中的每个文件都可以通过删除未使用的页的方法来缩小 尽管数据库引擎会有效地重新使用空间 但是如数据库文件无需最初分配的大小 可以通过收缩文件来回收这些空间 当由于业务的变化而要收缩数据库的体积时 可以通过收缩数据库 缩小数据库的体积 4 4 3收缩数据库文件 在SQLServer2008中 可以使用SQLServerManagementStudio的对象管理器来收缩数据文件或日志文件 主要数据文件不能收缩到小于model数据库中的主文件的大小 收缩数据文件或日志文件 4 4 4数据文件和日志文件的添加和删除 用户可以通过添加数据文件和日志文件来扩展数据库 也可以通过删除它们来缩小数据库 添加文件是相对容易的操作 但删除文件相对比较复杂 删除数据文件和日志文件时 必须确保它们是空文件 即里面不能包含数据或日志 使用SQLServerManagementStudio添加和删除数据文件和日志文件 4 4 5更改默认文件组 在默认情况下 数据库的默认文件组是主文件组 可以重新定义默认文件组 但是只能有一个文件组是默认文件组 重新定义默认文件组后 所有没有初始分配文件组的数据文件将会自动地分配到默认文件组 因此 有时为了方便用户管理文件 需要重新定义默认文件组 4 4 6设置数据库选项 每个数据库都由一些参数选项来确定数据库的特性 系统管理员和数据库所有者都可以修改这些参数 并且每个数据库的参数都是相互独立的 修改其中一个数据库的参数 不会影响其他数据库 数据库主要包含以下几类数据库选项参数 恢复选项 游标选项 杂项选项 数据库有效性选项 快照隔离选项 自动选项 使用SQLServerManagementStudio可以轻松地配置数据库选项参数 4 4 7更改数据库所有者 数据库的当前所有者可以更改为连接到数据库的任何用户 但是master model和tempdb系统数据库不能更改所有者 我们可以使用SQLServerManagementStudio工具来更改数据库所有者 4 4 8移动数据库 根据业务需要 可能要求将数据库文件移动到不同的阵列 磁盘或目录下 以满足不同策略的需求 例如 关键的数据库文件放在阵列中 次要或者不常使用的数据文件可以放在安全性较低一些的大容纳量存储器上 将 Practice JWGL 数据库的 D Practice JWGL Practice JWGL mdf 文件 移动到 E Practice JWGL 目录下 4 4 9改变数据库状态 有时需要对数据库进行某些操作 但又要使数据库保持运行 如对数据库进行维护等操作 为了达到这个目的 SQLServer对数据库进行了状态模拟区分 SQLServer2008包含的数据库状态和模式如下 离线状态 在线状态 紧急状态 单用户模式 多用户模式 受限用户模式 只读模式 读写模式 在设置数据库状态的过程中 可能需要终止一些不满足新状态要求的会话和事务 而对于事务的终止操作又有以下几种类型 Normal Normalwithtime out Immediate 使用SQLServerManagementStudio设置数据库状态和事务终止类型的 4 5分离与附加数据库 当移动数据库或者把数据库更改到同一台电脑的SQLServer2008服务器的其他实例中时 分离 detach 数据库和附加 attach 数据库会很有用处 分离数据库操作是指把数据库从服务器的实例中移除 但是要保证数据库的数据文件和日志文件完整无损 这些文件还可以重新附加到数据库的实例中去 分离数据库时要注意以下几点 如果数据库被复制并且被发布 就不能进行分离操作 如果数据库被复制就不能发布 否则无法分离数据库 在分离前 应该先禁止使用发布 数据库存在数据库快照时不能分离 在分离前 必须删除所有快照 数据库正在被镜像时 不能被分离 数据库不可靠时 不能被分离 分离前 数据库要设置为紧急 emergency 状态 可以附加复制的数据库 也可以附加分离出来的数据库 4 5 1分离数据库 使用SQLServerManagementStudio分离 Practice JWGL 数据库 具体操作步骤如下 用户也可以使用Transact SQL语句来分离数据库 其语法格式如下 sp detach db dbname database name skipchecks skipchecks KeepFulltextIndexFile keepfulltextindexfile GO使用语句将 Practice JWGL 数据库分离出来 4 5 2附加数据库 使用SQLServerManagementStudio附加已分离的 Practice JWGL 数据库 用户也可以使用Transact SQL语句来附加数据库 其语法格式如下 4 5 2附加数据库 CREATEDATABASEdatabase nameON n FOR ATTACH WITH ATTACH REBUILD LOG NAME logical file name FILENAME os file name SIZE size KB MB GB TB MAXSIZE max size KB MB GB TB UNLIMITED FILEGROWTH growth increment KB MB GB TB n ENABLE BROKER NEW BROKER ERROR BROKER CONVERSATIONS 例如 将前面分离出来的 Practice JWGL 数据库重新附加到服务器中去 4 7小结 数据库是由相关数据组成的一个结构化的集合 数据被处理后以文件的形式存储在一个或多个外部存储器中 本章重点是数据库 先就SQLServer2008组织管理数据库的基本概念进行了介绍 而后详细介绍了在SQLServer2008系统中创建数据库的操作方法和操作过程 一是利用图形工具向导 二是编写创建数据库的SQL代码 最后讲述了数据库的基本管理操作 包括数据库的更名 删除 修改 添加等 下一章将学习SQLServer2008数据表对象和索引对象的基本管理操作
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!