[SQL ] 查看資料庫狀態,並提出優化建議

看板Database (資料庫)作者 (社會黑暗、行路難)時間5年前 (2019/07/21 15:07), 5年前編輯推噓1(100)
留言1則, 1人參與, 5年前最新討論串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
audit?
07/24 01:36, 1F
文章代碼(AID): #1TD0yXZw (Database)
文章代碼(AID): #1TD0yXZw (Database)