[SQL ] 查看資料庫狀態,並提出優化建議
看板Database (資料庫)作者paranoia5201 (社會黑暗、行路難)時間5年前 (2019/07/21 15:07)推噓1(1推 0噓 0→)留言1則, 1人參與討論串1/3 (看更多)
新手DBA來求教,煩請大家給建議。
公司請我針對現有 30+ 上線的 SQL Server給予優化建議。
由於現在一切運作看起來都好好的,也不曉得是要怎麼優化。
同事說是公司想要減少每年要給微軟的維護費,減少license。
當然、這個優化計畫也是絕對不會撥錢買新設備(PM的說法是如此)。
Server狀況如下:
每個Server底下的Database數量不同,Table少則1-2個,多則近20個。
Server版本不一,2008與2012都還在用,目的是希望全部升級成2016。
我不成熟的想法:
1. 將Table數少的Server,其下的Database拉到其他Server,那原Server就可關閉。
2. 將其他老舊又厚重的Server底下的Database拉到其他Server(Table均衡),
也可以趁此機會升級Server到2016版本。
3. 評估現有Database的使用狀況(頻率、效率/益、出錯狀況等),提議刪掉某些Table,
減輕整體Server的負載量。
根據第三點,所以需要查詢各Server的使用狀況。
前人所留給我的文件中(到職時前人已不在),有這樣一份程式碼:
-- t-sql list (database name, database size(MB)
-- 1. Get Database Name & Size.
declare @dbinfo as table
(name sysname, -- sysname
db_size nvarchar(13) null,
owner sysname null,
dbid smallint,
ceated varchar(128),
status nvarchar(600)
compatility_level tinyint)
insert into @dbinfo
exec sp_helpdb
select name 'Database Name', db_size 'Database Size (MB)' from @dbinfo
where name not in (select name from master.sys.sysdatabases where dbid<5)
這份語法主要是查看各database的使用容量。
但是我想請教的是:如何知道是往master.sys.sysdatabases找到資料?
根據微軟的官方文件,有解釋系統檔中的各欄位資料(ppt.cc / fdZnnx,請取消空白)
但我還是不知道要用哪份檔案的哪個欄位可以找到我上述的需求?
(如使用者帳戶、人數、個別登入使用頻率及時間、連線狀況、deadlock時間及次數等)
或是如果我只是想清查資料庫「使用概況」,有無推薦的查詢方式(Table及欄位)?
我知道Profiler可以監控營運狀況,但是我是想要查詢歷史資料......。
再煩請給予指導與建議了,感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.30.96 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1563692833.A.8FA.html
※ 編輯: paranoia5201 (220.136.30.96 臺灣), 07/21/2019 15:12:16
推
07/24 01:36,
5年前
, 1F
07/24 01:36, 1F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章