热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

新手SQLServer数据库dba需要注意的小细节

前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。1.在创建db的时候自增长建议

前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。 1.在创建db的时候自增长建议

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

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

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

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

新手SQL Server数据库dba需要注意的小细节

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)。具体监控指标见 。

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来重新感知。


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
author-avatar
过客烤翅加盟889
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有