server
2008的系统共中将创建4个可见系统数据库:master、model、msdb、tempdb
master数据库
master数据库是sql
server中最重要的数据库,它是sql
server的核心数据库,如果该数据库被损坏,sql
server将无法正常工作,master数据库中包含所有的登录名或用户id所属的较角色、服务器中的数据库的名称及相关的信息、数据库的位置、sql
server如何初始化四个方面的重要信息。
model数据库
用户创建数据库时是以一套预定义的标准为模型。例如,若希望所有的数据库都有确定的初始大小,或者都有特定的信息集,那么可以吧这些信息放在model数据库中,以model数据库作为其他数据库的模板数据库。如果想要使用所有的数据库都有一个特定的表,可以把该表放在model数据库里。
model数据库是tempdb数据库的基础。对model数据库的任何改动都将反映在tempdb数据库中,所以,在决定对model数据库有所改变时,必须预先考虑好
msdb数据库
msdb数据库给sql
server代理提供必要的信息来运行作业,因而它是
sql
server中另一个十分重要的数据库。
tempdb数据库
tempdb数据库用作系统的临时存储空间,其主要作用是存储用户建立的临时表和临时存储过程,存储用户说明的全局变量值,为数据排序创建临时表,存储用户利用游标说明所筛选出来的数据。
SQLServer2000提供了一个读取数据页结构的命令DBCC Page。该命令为非文档化的命令,具体如下:DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])
DBCC Page的输出主要分为5个部分: Page、BUFFER、Page Hearder、Data、OFFSET Table(行的偏移量数组)。
Page指出该表的文件编号及页码。
Buffer指出关于给定页面的缓冲区的信息。
Page Header指出页面中所有标题字段的数据。
Data指出每一行的信息。对于每一行,DBCC Page指出行在槽中的位置,以及该行在页面中的偏移量。页面数据被分成3部分,左列指出的是所显示的数据在行中的字节位置。接着4列包含页面存储的实际数据,以16进制的形式显示。右列包含数据的字符表示(只有字符数据是可读的)。
Offset Table指出页面末尾的行偏移量数组的内容。注意这里并不是行物理存储的顺序,而是以槽的编号的顺序来显示的,不过这里可以通过槽的编号看出它的物理存储顺序,比如槽的编号最小的为物理存储的第一行,依此类推。
http://www.cnblogs.com/yumenjianke/archive/2009/12/04/1616903.html
下面有两个sql语句可以达到在sqlserver
2005/2008压缩指定数据库文件和日志的大小的效果:
1、dbcc
shrinkdatabase
(transact-sql)
收缩指定数据库中的数据文件和日志文件的大小。
语法
dbcc
shrinkdatabase
(
'database_name'
|
database_id
|
0
[
,target_percent
]
[
,
{
notruncate
|
truncateonly
}
]
)
[
with
no_infomsgs
]
参数
'database_name'
|
database_id
|
0
要收缩的数据库的名称或
id。如果指定
0,则使用当前数据库。
target_percent
数据库收缩后的数据库文件中所需的剩余可用空间百分比。
notruncate
通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。target_percent
是可选参数。
文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。因此,指定
notruncate
时,数据库看起来未收缩。
notruncate
只适用于数据文件。日志文件不受影响。
truncateonly
将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动。数据文件只收缩到最近分配的区。如果与
truncateonly
一起指定,将忽略
target_percent。
truncateonly
只适用于数据文件。日志文件不受影响。
with
no_infomsgs
取消严重级别从
0
到
10
的所有信息性消息。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)