这里在对SQL server 2008R2来做一些基本功能性和结构性的解释,以下都是些说明文。技多不压身,多学点总是好的,对吧。好,接下来进入正题
SQL Server的数据存储结构
• 文件类型
说明:一个数据库至少应该包含一个数据文件和一个事务日志文件,接下来介绍介绍数据库一共具有几种文件类型
✓ 主数据库文件:主数据文件包含数据库的启动信息,指向数据库中的其他文件。每个数据库有且只有一个,一般的扩展名为.mdf
✓ 次要(辅助)数据文件:除了主数据文件以为所有其他的数据文件都叫次要数据文件,次要数据文件可有可无,也可以有多个。一般的扩展名为.ndf
✓ 事务日志文件:包含恢复数据库所有事物日志的信息,每个数据库至少有一个,当然也可以有多个,只能增长,不能减少。一般扩展名为.ldf
✓ 文件流数据文件:可以使得基于SQL Server的应用程序能在文件系统中存储非结构化的数据,如文档、图片、音频、视频等。文件流主要将SQL Server数据库引擎和新技术文件系统(NTFS)集成在一起,它主要以varbinary(max)数据类型存储数据。
• 数据库管理
✓ 创建数据库:若要创建数据库,必须先确定数据库的名称、所有者(创建数据库的用户)、大小、以及存储该数据文件和事物日志文件的位置。所以,在创建数据库之前,需要考虑以下几点。
❄ 创建数据库的权限默认授予sysadmin和dbcreator服务器角色成员,服务器角色用于向用户授予服务器范围内的安全特权
❄ 创建数据库的用户将成为该数据库的所有者
❄ 考虑数据文件及事物日志文件的放置位置
❄ 合理估计数据库的大小和增长值
❄ 数据库名称的创建一般以字母或下划线开头
✓ 扩展数据库 :当然是在数据文件和日志文件被占满的时候需要扩展,或在特定的情况下扩展,基本分为以下几种
❄ 手动扩展分为添加文件和更改初始大小
❄ 自动增长
✓ 收缩数据库:数据库在使用一段时间后,时常会因为数据删除而造成数据库中空闲空间太多的情况,这时就需要收缩数据库的磁盘空间,以免浪费磁盘空间。
❄ 手动收缩数据库:
右键数据库 ==> 任务 ==> 收缩 ==> 数据库
说明:收缩数据库不能收到比初始大小少
❄ 收缩文件:
右键数据库 ==> 任务 ==> 收缩 ==> 文件
在“收缩操作”选项组中有三个选项,其作用分别如下
✦ 释放未使用的空间:将释放文件中所有未使用的空间,并将文件收缩到上次分配的大小。这将减小文件的大小,但不移动任何数据
✦ 在释放未使用的空间前重新组织页:将释放文件中所有未使用的空间,并尝试重新定位到未分配的空间。这里需要指定“将文件收缩到多少”的值
✦ 通过将数据迁移到同一文件组中的其他文件来清空文件:将指定文件中的所有数据移至同一文件组中的其他文件中,然后就可以删除空文件
说明:可以收缩到小于初始大小
✓ 自动收缩数据库:
可以通过设置“数据库属性”窗口中的“选项”选择页中的“自动收缩”选项参数来实现自动收缩功能。但是一般自动收缩有点不太受控制,所以建议关闭自动收缩功能。
✓ 分离和附加数据库:
❄ 分离数据库:一般用来移动或复制数据库
一般数据中的文件都是和数据库相关联的,只要是在相关联的状态就无法实现复制、移动等相关性的操作。所有如果想要复制或移动只能先将数据库分离,数据库分离不会删除数据文件。分离数据库只有在数据库就绪状态下才可以分离。
❄ 附加数据库:
右击“数据库”选项 ==> “附加”
附加数据库时,所有数据文件(主数据文件和次要数据文件)都必须可用。如果任何数据文件的路径不同于首次创建数据库或上次附加数据库时的路径,则必须指定文件的当前路径
数据库中数据类型是相当多的,如想了解更多这里提供一个链接,讲的非常详细:
http://blog.youkuaiyun.com/anxpp/article/details/51284106
这里也谢谢作者描述的十分详细