数据库和数据库文件
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数据库,它为数据库提供队列和可靠