資訊查詢類
- 版本:
SELECT @@VERSION
- OS/硬體參數:
EXEC master..xp_msver
- 啟動參數:
EXEC sp_configure (先 EXEC sp_configure 'show advanced options',1; RECONFIGURE)
- 啟動時間:
SELECT CONVERT(VARCHAR(30), login_time, 120) FROM master..sysprocesses WHERE spid=1
- 伺服器/實例名:
@@SERVERNAME / @@SERVICENAME
- 所有資料庫大小:
EXEC sp_helpdb
資料庫管理類
- 重命名 DB:
EXEC sp_renamedb 'old', 'new'
- 登入/角色資訊:
sp_helplogins, sp_helpsrvrolemember
- 物件權限:
sp_helprotect
- 連結伺服器:
sp_helplinkedsrvlogin, sp_helpremotelogin
- 空間使用:
EXEC sp_spaceused 'table_name' / sp_toptables (Top 50 大表)
- 索引/約束/觸發器:
sp_helpindex, sp_helpconstraint, sp_helptrigger
程式碼與物件搜尋
- 所有 SP/函數:
USE db; EXEC sp_stored_procedures
- 原始碼:
EXEC sp_helptext 'sp_name'
- 含關鍵字物件:
SELECT DISTINCT OBJECT_NAME(id) FROM syscomments WHERE text LIKE '%keyword%'
- 加密建立:
CREATE PROC ... WITH ENCRYPTION AS ...
- 解密工具:第三方
sp_decrypt 或 DAC 連線查 sys.sysobjvalues。
活動監控與阻塞處理
- 所有程序:
EXEC sp_who
- 作用中程序:
EXEC sp_who 'active'
- 鎖狀態:
EXEC sp_lock (SPID > 50 為用戶連線)
- 程序執行 SQL:
DBCC INPUTBUFFER(spid) / 改良版 sp_who3, sp_who5
- 死鎖檢查:
EXEC sp_who_lock (自訂)
日誌與檔案維護
- 日誌空間使用:
DBCC SQLPERF(LOGSPACE)
- 簡單模式壓縮日誌:
BACKUP LOG dbname WITH NO_LOG; DBCC SHRINKFILE (dbname_log, 5)
效能分析開關
SET STATISTICS TIME ON; -- CPU/經過時間
SET STATISTICS IO ON; -- 邏輯/物理讀寫
SET SHOWPLAN_ALL ON; -- 估計執行計畫 (文字)
SET SHOWPLAN_TEXT ON; -- 純文字計畫
SET STATISTICS PROFILE ON;-- 實際執行計畫 + 統計
-- SSMS: Ctrl+L (估計圖形), Ctrl+M (實際圖形)
孤立用戶修復
-- 遷移伺服器後
EXEC sp_change_users_login 'Auto_Fix', 'username', NULL, 'password';
-- 或
EXEC sp_change_users_login 'Report'; -- 僅列出孤立用戶