数据库开发:SQL Server管理 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

数据库开发:SQL Server管理

点滴 admin 14年前 (2011-08-13) 1683次浏览 已收录 扫描二维码

SQL Server管理,你做得好吗?下文这些可能会对你的工作有一些帮助,不妨耐心的看看吧。

1. 数据库文件有.mdf .ndf .ldf三种文件,mfd为主数据库文件,ndf为从数据库文件,ldf为日志数据库文件,每个数据库mdf文件只有一个,ndf文件可以有多个。

2.
数据页大小为8k,sql数据库最大一个特性是数据无跨页,比如一条数据3k,那么5条数据需要3页存储,而不是两页。数据库扩展页是8页,也就是如果一
张表存储空间不够了,我们要插入一条3k的数据,数据库不是分配一页,而是8页,也就是64k空间,这个我们windows系统也是,我们见一个文本文
件,然后输入一个a,那么这时候系统为我们文件分配的内存不是2个字节,而是1k空间。

数据库开发:SQL Server管理

如果一个数据页大小只有8k,那么像txt,image这些数据怎么存储呢?

那么我们这时系统存储的是txt,image的堆地址,她们的数据存储在堆里,那么他们地址最多不会超过8字节。

3. 数据库内存,我们读取一条数据是先在内存里找,如果内存没有,我们就会在数据库里面找,然后把数据读到内存里面来。那么我们更新一条数据呢?

我们更新(增、删、改)一条数据不是commit的时候数据就写到数据库里了,而是数据库会有一个chekpoints,在checkpoints
的时候数据库,会一页一页的把数据往数据库里写。这个在sql2005里的时间大概是15分钟只需一次,那么没有交易的数据在哪里呢?那么可能存在两个地
方,一个是在temptdb里面,一个是在buffercahce里面。

4. 对大的系统数据库应注意几个问题,我们都知道数据库瓶颈是
磁盘阵列有I/O瓶颈,如果我们数据库超作频繁,这样我们数据库日志文件增大比较快,如果我们把数据库文件和日志文件放在一个磁盘里那么,会导致越来操作
数据库的数据越慢,那么我们可以把日志文件和数据文件放在
不同的磁盘里,一个磁盘两个通道,如果放在不同磁盘那么写数据和日志可以并行超作了,还有我们每天最好6个小时做一次日志备份,这样我们可以减小我们的日
志文件大小,因为日志文件备份后就从日志里面删除了。

5.
数据库文件组的利用,如果我们数据库设计很大,我们还可以设计数据库文件组,把不同的数据放在不同的文件组,不同文件组放在不同磁盘,如果表大,我们还可
以把一个表放在不同文件组,很多时候我们把一个表放在不同文件组,可能比放在一个文件组快,因为放在不同文件组是并行访问的,但是放在一个文件组需要顺序
访问,一般没有必要的情况下,还是建议大家做表分区。

6.
建数据库的时候我们需要注意,我们数据文件放在磁盘的格式fat32的允许数据库文件最大为2g如果我们建立好数据库后再发现这个问题就麻烦了,要不停的
加数据库文件,所以建议放在NTFs格式磁盘上,数据库最大容量修改规则,能改大不能该小,那么有没有把数据库改小的办法呢?有的压缩数据库。

数据库开发:SQL Server管理

这里我们可以压缩数据大小。

7. 备份数据库注意事项:

1.一定要选上下面那两个勾,这样保证我们备份成功。

数据库开发:SQL Server管理

我们备份数据库(特别是做维护计划的时候)的最好步骤一般用

1. 检查数据库的完整性

2. 日志尾备份(后面我们复灾的时候会讲到)

3. 备份

最好这几个是有顺序来自。

我们备份一周备份最好是周末完整备份,1-5差异备份,6小时做一次日志备份

8. 数据库性能监视打开方法:

数据库开发:SQL Server管理

比如我们监视应用程序引起的sqlserver死锁 添加监视:

数据库开发:SQL Server管理

我们可以看到如下:

数据库开发:SQL Server管理

都是0诶没有死锁,那么证明我们系统很健康啊。。。,但是监视一般是在服务器闲的时候监视,因为这个也是占用资源的。

有错误的地方欢迎大家拍砖,希望交流和共享。

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。