承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

新手SqlServer数据库dba需要注意的一些小细节

管理员 2023-07-10 10:32:42 互联网圈 13 ℃ 0 评论 6304字 收藏

前言:任何的优化和修改都是以业务情况为条件,可能有的写的有误或不准确的地方,欢迎各位来拍砖。

1.在创建db的时候自增长建议设置成按MB(M)增长,步长根据业务量来设置,一般情况建议设置100⑵00M(见图片),还有就是尽可能别改初始大小,这个默许就好。

  如果依照数据文件(mdf)依照默许的1m增长,同时db的业务写入比较频繁,那数据库就会频繁的向磁盘要求空间,会造成没必要要的io消耗,也会由于申请空间造成资源等待等问题。

  如果把日志文件(ldf)依照默许的百分比10%增长,一样当db业务量很大或有大事务的时候,日志会蹭蹭的增长,假设现在日志文件大小是100G,那每次增长步长就是10G,各位可以想一下如果数据库突然像磁盘申请10个G的空间,那当时的io情况会是甚么样。

2.建议给系统预留一些内存。根据内存大小预留(服务器64g内存一般我限制sqlserver到60g,留4个g给系统用,或者那句话根据业务情况来定)。由于sqlserver有一些操作是不消耗系统给sqlserver预留的内存的。比如你的服务器内存是64g,现在sqlserver进程占用50g,这时候候如果你做备份操作的时候,这个操作消耗的不是sqlserver占用的50g,而是剩余的14g内存。还有一些其他的操作也会占用非sqlserver的内存,例如索引重建(这个记忆模糊了准确性有待考证)。假设现在sqlserver把64g内存都占满了,这时候候你需要备份,那内存从哪来呢?只能让sqlserver释放缓存中的一些对象来给你提供备份的内存。如果现在业务繁忙可能就会由于内存不足或内存命中引发性能问题了。

3.profiler是个好东西,谁用谁知道。

4.windows的性能监视器是监控sqlserver性能必备的工具(友谊提示:快捷键是perfmon.msc)。具体监控指标我会在其他blog里写。

5.如果你们机房的防火墙足够流弊,程序代码写的足够严谨,数据库没有公网ip,那你可使用xp_cmdshell这个存储进程,否则请关闭这个config。

  曾有一台sqlserver服务器放在我眼前我没有统一管理,后来我忘了服务器的登陆密码。因而我用sa口令登陆这台数据库,成功的通过xp_cmdshell添加了服务器管理员账号,成功的通过这个管理员账号登陆了服务器。本来这应当是一个皆大欢乐的故事,但是你有无想过如果他人通过非法程序知道了你的数据库连接串,恰巧你又开启了xp_cmdshell呢,那末你就能够准备简历了。

6.不要勾选登陆框上边的保存密码选项(别问我为何,任性,就是担心某一天我的服务器被他人登陆了随意就可以进数据库了,随意就删我数据毁我db了怎样!!)。

7.如非特殊需求尽可能不要用过ssms跨机器登陆(特别是当你的服务器不是你一个人使用的时候)。比如你在192.168.1.3这个服务器上用ssms登陆通过ip账号密码192.168.1.4这台服务器的db,这是没问题的,但是当你使用完以后尽可能养成随手关掉这个连接的习惯。否则下一个人或你自己不注意就会把想在本机上履行的脚本履行到了远真个那个db上。

8.寄存db物理文件的路径尽可能别使用默许路径,自己在某个盘符下建个命叫db或data之类的文件夹寄存就好,否则找起来是个很痛苦的事也不方便管理。不要直接建在磁盘的根目录下,由于这样有的时候可能会触及到权限的问题让你蛋疼好久。如果有2个磁盘阵列(例如一个raid10一个raid0)或2个单独的物理磁盘,最好将mdf文件和ldf文件分开寄存提高io性能(mdf放在raid10上,ldf放在raid0上)。

9.备份数据库的时候尽可能选择业务量最小服务器负载最小的时候,如果可以选择紧缩备份,节省磁盘空间(固然也会产生额外的io)。日志备份不用太频繁也不能太长,视业务量和允许丢失数据的程度而定。

10.如果这个实例下有除备份之外其他的作业尽可能别选择整点的时间跑,往前或往后错开几分钟,由于一般的日志备份都会选择间隔一小时或多少分钟,多数都是整点备份。所以其他的作业尽可能避开这类备份操作的时间。

11.作业监视器只能看到作业最后一次履行的状态。

12.查看sql服务启动时间:SELECT LOGIN_TIME FROM MASTER..SYSPROCESSES WHERE SPID= 1

13.不要让程序使用sa作为数据库连接串,sa的密码尽量的复杂,sa弱口令的危害不用多说吧。

14.查看当前数据库连接情况的快捷键是crtl+1(sp_who)锁情况的快捷键是ctrl+2(sp_lock),履行的快捷键是alt+x或是f5(虽然有快捷键但是尽可能别用),按win+r键调出来运行栏输入ssms可以打开sqlserver的management studio,选中表按alt+f1可以查看表的属性(sp_help),新建一个查询窗口的快捷键是alt+n,这些都是比较经常使用的快捷键,可以方便你的数据库操作。

15.有时候当你新建或修改一个表或字段的以后,你履行查询或写出来新建的字段发现新添加的对象下边有个红线,鼠标放上去会显示列名无效,对我这类有轻微逼迫症的人很难受。造成这个现象的缘由是:SQL Server的intellisense(智能感知功能),没有感知到这项修改,我们可以手动的履行快捷键ctrl+shift+r来重新感知。

大过年的头脑里都被各种吃吃喝喝的填满了- -暂时就想起来这么多,以后有想到的再补充,如果有不准确的或不明白的地方欢迎各位拍砖。

ps:本blog手打原创转载请注明出处。

文章来源:丸子建站

文章标题:新手SqlServer数据库dba需要注意的一些小细节

https://www.wanzijz.com/view/62733.html

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信