现在的位置: 首页 > 综合 > 正文

【学习散记13之—数据库简介】

2013年10月17日 ⁄ 综合 ⁄ 共 2362字 ⁄ 字号 评论关闭

                                                                               数据库简介

                                    ps:MSDN摘入
 简单来说它是一组容纳和操作数据的对象(一个SQL SERVER实例最多可以容纳32767个数据库 - -||基本不会出现这样的情况.)
 
 数据库的属性和特征:
  1.由一个表集合组成。这些表包含数据以及为支持对数据执行的活动而定义的其他对象,如视图、索引、存储过程、用户定义函数和触发器。
  2.属于单个SQL SERVER登入账号.
  3.它有自己的一组系统表和视图来容纳数据库目录.
  4.它是恢复和维护各个对象之间逻辑一致性的主要单位.(比如主外键只能指向一个数据库的表)
  5.它有自己的事务日志并且管理之.
  6.它能够使用多个操作系统文件.
  7.它能自动搜索.
  8.它能和同一个实例或者通过链接服务器的其他数据库进行链接查询.

 
 数据库可以分成系统数据库和用户数据库.
 系统数据库:

  SQL2005提供了4个系统数据库,分别为MASTER、Model、tempdb、msdb,还有一个隐藏的系统数据库Resource。

   master数据库:
    1.记录 SQL Server 系统的所有系统级信息。这包括实例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设置.
    2.master 数据库还记录了所有其他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息。

  使用 master 数据库时,请考虑下列建议:
    a.始终有一个 master 数据库的当前备份可用。
    b.执行下列操作后,尽快备份 master 数据库:
      创建、修改或删除任意数据库
      更改服务器或数据库的配置值
      修改或添加登录帐户
    c.不要在 master 中创建用户对象。否则,必须更频繁地备份 master。
    d.不要针对 master 数据库将 TRUSTWORTHY 选项设置为 ON。
    
   Resource数据库:
    它的全名叫mssqlsystemresource。之所以先讲这个,因为它和MASTER数据库有个误点.我们有些人会错误的以为一些SQL server的系统
    对象比如系统存储过程和函数,都是存储在MASTER数据库上.其实它们都物理地保留在Resource数据库,但在逻辑上显示在每个数据库的SYS架构下.
    

    物理属性:Resource 数据库的物理文件名为 mssqlsystemresource.mdf 和 mssqlsystemresource.ldf。默认情况下,这些文件位于 <驱动器>:/Program Files/Microsoft SQL    Server/MSSQL10.<instance_name>/Binn/ 中。

    访问此数据库的内容方法:
     1.停止SQL SERVER,复制resource数据库到新的位置且重新命名。
     2.重启SQL 服务,使用SQL的ATTACH语句附加或者图形界面操作附加.
     这样你就可以向对待用户数据库一样查看Resource 数据库.
    
    将它和Master数据库放一起,是因为Resource 数据库取决于 master 数据库的位置。如果移动了 master 数据库,则必须将 Resource 数据库移动到同一个位置。具体参看MSDN
    转移除这2个数据库外的数据库文件方法,参看http://blog.csdn.net/feixianxxx/archive/2009/11/23/4859068.aspx
    
   model 数据库:
    model 数据库用作在 SQL Server 实例上创建的所有数据库的模板。
    当发出 CREATE DATABASE 语句时,将通过复制 model 数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。
    如果修改 model 数据库,之后创建的所有数据库都将继承这些修改。例如,可以设置权限或数据库选项或者添加对象,例如,表、函数或存储过程。
   
   msdb 数据库:
    msdb 数据库由 SQL Server 代理用于计划警报和作业,也可以由其他功能(如 Service Broker 和数据库邮件)使用。
   
   tempdb 数据库:
    tempdb 数据库被用作一个工作区.它的独特之处在于每次SQL Server重新启动时都会重建而不是恢复它.

    它保存下列各项:
     1.显式创建的临时用户对象,例如全局或局部临时表、临时存储过程、表变量或游标。
     2.SQL Server在查询处理和排序时内部产生中间结果的工作表.
     3.由使用已提交读(使用行版本控制隔离或快照隔离事务)的数据库中数据修改事务生成的行版本。
     4.由数据修改事务为实现联机索引操作、多个活动的结果集 (MARS) 以及 AFTER 触发器等功能而生成的行版本。

    PS:由于tempdb的大小和配置对优化SQL Server的功能和性能来说非常重要,内容比较多,参看http://blog.csdn.net/feixianxxx/archive/2010/02/07/5296399.aspx

     
    
 用户数据库:
  拥有一般数据库的特点和属性.还有自己的一些用户特点.
 
 数据库文件和文件组的信息 可以参考:http://blog.csdn.net/feixianxxx/archive/2010/01/28/5267290.aspx
 
    
    
    

抱歉!评论已关闭.