新手SQL Server数据库dba需要注意的小细节
前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。 1.在创建db的时候自增长建议
前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。
1.在创建db的时候自增长建议设置成按MB(M)增长,步长根据业务量来设置,一般情况建议设置100-200M(见图片),还有就是尽量别改初始大小,这个默认就好。
如果按照数据文件(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)。具体监控指标见 。
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来重新感知。
本文永久更新链接地址:

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

microsoft sql server是Microsoft公司推出的關係型資料庫管理系統,是一個全面的資料庫平台,使用整合的商業智慧(BI)工具提供了企業級的資料管理,具有使用方便可伸縮性好與相關軟體整合程度高等優點。 SQL Server資料庫引擎為關聯式資料和結構化資料提供了更安全可靠的儲存功能,使用戶可以建置和管理用於業務的高可用和高效能的資料應用程式。

如何使用PDO連接到MicrosoftSQLServer資料庫介紹:PDO(PHPDataObjects)是PHP提供的一個存取資料庫的統一介面。它提供了許多優點,例如實作了資料庫的抽象層,可以方便地切換不同的資料庫類型,而不需要修改大量的程式碼。本文將介紹如何使用PDO連接到MicrosoftSQLServer資料庫,並提供一些相關程式碼範例。步驟

隨著互聯網的普及,網站和應用程式的開發成為了許多企業和個人的主要業務。而PHP和SQLServer資料庫則是其中非常重要的兩個工具。 PHP是一種伺服器端腳本語言,可用於開發動態網站;SQLServer是微軟公司開發的關聯式資料庫管理系統,具有廣泛的應用場景。在本文中,我們將討論PHP和SQLServer的開發,以及它們的優缺點和應用方法。首先,讓我們

SQLServer還是MySQL?最新研究揭秘最佳資料庫選擇近年來,隨著網路和大數據的快速發展,資料庫的選擇成為了企業和開發者面臨的重要議題。在眾多資料庫中,SQLServer和MySQL作為兩個最常見且廣泛使用的關聯式資料庫,備受爭議。那麼,在SQLServer和MySQL之間,到底該選擇哪一個呢?最新的研究為我們揭示了這個問題。首先,讓

SQLServer與MySQL比較:哪個資料庫更適合高可用性架構?在當今的數據驅動世界中,高可用性是建立可靠和穩定係統的必要條件之一。資料庫作為資料儲存和管理的核心元件,其高可用性對於企業的業務運作至關重要。在眾多的資料庫中,SQLServer和MySQL是常見的選擇。那麼在高可用性架構方面,究竟哪個資料庫比較適合呢?本文將對二者進行對比,並給予一些建議。

在Web開發中,PHP與MySQL的結合是非常常見的。但是,在某些情況下,我們需要連接其他類型的資料庫,例如SQL Server。在本文中,我們將介紹使用PHP連接SQL Server的五種不同方法。

SQLServer和MySQL是目前兩個非常流行的關係型資料庫管理系統(RDBMS)。它們都是用於儲存和管理大規模資料的強大工具。然而,它們在處理大規模數據時有一些不同之處。本文將對SQLServer和MySQL進行比較,重點在於它們在大規模資料處理方面的適用性。首先,讓我們來了解一下SQLServer和MySQL的基本特性。 SQLServer是由微軟

隨著網路的不斷發展,資料庫的選擇愈發重要。在眾多的資料庫中,SQLServer和MySQL是兩個備受矚目的選項。 SQLServer是微軟公司開發的關聯式資料庫管理系統,而MySQL則是一種開源的關係型資料庫管理系統。那麼在SQLServer和MySQL之間如何選擇最佳的資料庫方案呢?首先,我們可以從效能方面比較這兩個資料庫。 SQLServer正在處理
