数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL Server管理 这些你懂吗?


发布日期:2023年08月28日
 
SQL Server管理 这些你懂吗?

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

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

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

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

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

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

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

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

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

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

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

备份数据库注意事项

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

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

检查数据库的完整性

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

备份

最好这几个是有顺序来自

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

数据库性能监视打开方法

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

我们可以看到如下

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

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

上一篇:SQL Server数据库与其实际应用元数据介绍

下一篇:将Access移植到SQL Server