zoukankan      html  css  js  c++  java
  • 数据库和数据库文件

    SQL Server实例从技术上来讲最多能容纳32767个数据库.

    1.SQL Server数据库的属性和特征:

    (1)它是许多对象的集合,例如:表,视图,存储过程和约束。技术上限制是2的31次方-1

    (2)它属于单个SQL Server登录账号

    (3)它维护有自己的一组用户账号,角色,架构和安全信息.

    (4)它有自己的一组系统表和视力来容纳数据库目录

    (5)它是恢复和维护其中各对象之间逻辑一致性的主要单位(例如:主键和外键关系总是指向同一个数据库中的其它表,而不是其他数据库中的表)

    (6)它有着自己的事务日志并管理自己的事务.

    (7)它能够使用多个磁盘驱动器和操作系统文件.

    (8)从技术上讲它的大小能够从最小1MB到最大1048516TB

    (9)它能够自动地增长和收缩,也可以通过命令控制其增长和收缩.

    (10)它能够在查询中与同一个SQL Server实例或链接服务器中的其它数据库的对象进行连接操作。

    (11)它能够设置或中止一些具体的选项(例如,我们可以设置一个数据为只读或者作为复制中被发布数据的源数据库)

    2.一个SQL Server 数据库不具有以下属性:

    (1)它并不等同于整个SQL Server实例.

    (2)它不是单个的SQL Server表

    (3)它不是某个特定的操作系统的文件.

    3:系统数据库

    (1)master:master上的系统表跟踪作为整体的系统安装和随后创建的其它数据库。虽然每个数据库都有一组维护其包含对象信息的系统目录,但master数据库中一些系统目录还能够保存关于磁盘空间,文件分配和使用,系统层次的配置信息,端点和登录账号的信息。在执行创建数据库,改变配置值和修改登录账号的操作后应该备份master数据库

    (2) Model:当创建一个新的数据库时,SQL Server都会复制model数据库作为新数据库的基础。如果希望每一个新的数据库在创建时都含有某些对象或者权限,可以把这些对象或权限放在model数据库中,然后所有的新数据库都会继承它们。也可以使用Alter DataBase命令来修改model数据库的大多数属性。

    (3)tempdb: 被用来作为一个工作区。每次SQL Server重新启动时都会重建而不是恢复tempdb数据库.用户显示创建的临时表,存储SQL Server在查询处理和排序时内部产生中间结果的工作表,维护用在快照隔离级别和某些其他操作的行版本,填充静态游标和键集游标的键值都会用到该数据库。Tempdb的大小和配置对优化SQL Servere的功能和性能都至关重要。

    (4)mssqlsystemresource:是一个隐藏的数据库,通常被称为resouce数据库。可执行的系统对象,如系统存储过程和函数都存储.如果需要查看些数据库,可以先停用SQL Server然后Copy出一个mdf文件,附加到数据库(新的数据库):

    CREATE DATABASE resource_COPY ON (NAME = data, FILENAME =
    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\
    mssqlsystemresource_COPY.mdf'), (NAME = log, FILENAME =
    'C:\Program Files\Server\MSSQL.1\MSSQL\Data\mssqlsystemresource_COPY.ldf')
    FOR ATTACH;

    (5)msdb:SQL Server代理服务会用到msdb数据库,它会执行一些例如备份和复制任务的计划好的活动。Service Broker也会用到msdb数据库,它为数据库提供队列和可靠消息的传递。当不在该数据库上执行备份和维护操作时,通常可以忽略msdb数据库.

    3.示例数据库:

    (1)AdventureWorks:用来展示SQL Server2005的特性,AdventureWorksDW:包括数据仓库和SQL Server2005数据仓库特性相关的数据和特性。

    4.数据库文件:

    (1)每个数据库文件在创建时指定五个属性:逻辑文件名,物理文件名,初始大小,最大尺寸和成长增量。这些属性的值和关于每个文件的其它的属性可以从元数据视图sys.database_files中看到,

    file_guid:文件的Guid,NULL=数据库从早版本的数据库升级而来;

    Type:文件类型0 = 行,1=日志,2:保留将来用,3:保留将来用,4=全文;

    data_space_id:该文件所属数据空间ID.数据空间是一个文件组 0 = 日志文件.

    physical_name: 操作系统文件名称.

    state: 文件状态: 0 :在线;1:还原中;2.恢复中;3.等待恢复中,4:置疑;5:保留到将来使用。6:离线;7:死亡;

    size:文件当前大小,单位为页面(8KB);对一个数据库快照,大小反映了快照能够为这个文件使用的最大空间。

    max_size:最大文件大小,单位为KB(8KB): 0:不允许增长,-1:文件可以增长到磁盘满为止。268435456 :日志文件能够增长到2TB.

    growth:0:文件大小固定,不会增长;>0:文件将自动增长。如果is_percent_growth = 0 ,则增量以8KB页为单位,并舍入到最近的64kb.如果最近的64KB,如果is_percent_growth = 1:增量将用整数百分比表示。

    is_media_read_only: 1:文件位于只读媒体上。0:文件标记为读/写

    is_sparse: 1:文件是稀疏文件;0:文件不是稀疏文件;

    is_percent_growth:1:文件的增长以百分比表示;0:以页数为单位表示绝对增长大小。

    is_name_reserved:1:只有在下一次备份之后才能重用删除的文件名(name 或physical_name),从数据库删除文件时,逻辑名称将停留在保留状态,直到下次日志备份此列只在完整恢复模式和大容量日志恢复模式下相关.

  • 相关阅读:
    Django and Djangorestframework
    安装socketio出现module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 错误
    pycharm 里运行 django 工程 You must either define the environment variable DJANGO_SETTINGS_MODULE 错误
    linux 安装python3
    iOS 10.3下解决Fiddler代理抓包ssl证书信任问题
    Android 7.0 fiddler代理抓不到https请求的解决办法
    python base64 decode incorrect padding错误解决方法
    Fiddler做代理服务器时添加X-Forwarder-For转发真实客户端ip
    python安装pbkdf2 遇到错误TypeError: __call__() takes exactly 2 arguments (1 given)
    soapUI通过groovy脚本设置超时时间
  • 原文地址:https://www.cnblogs.com/lilycnblogs/p/2044812.html
Copyright © 2011-2022 走看看