首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 資料庫管理常用 SQL 與 T-SQL 指令大全

     編輯:關於SqlServer

1. 版本與環境資訊

-- 版本號
SELECT @@VERSION;

-- 作業系統參數
EXEC master..xp_msver;

-- 啟動參數
EXEC sp_configure;

-- 啟動時間
SELECT CONVERT(varchar(30), login_time, 120) 
FROM master..sysprocesses WHERE spid = 1;

-- 伺服器名與實例名
PRINT 'Server Name: ' + CONVERT(varchar(30), @@SERVERNAME);
PRINT 'Instance:    ' + CONVERT(varchar(30), @@SERVICENAME);

2. 資料庫層級操作

-- 所有資料庫名稱與大小
EXEC sp_helpdb;

-- 重命名資料庫
EXEC sp_renamedb 'old_db', 'new_db';

3. 登入與使用者管理

-- 所有登入資訊
EXEC sp_helplogins;

-- 伺服器角色成員
EXEC sp_helpsrvrolemember;

-- 修復孤立使用者 (遷移後常用)
EXEC sp_change_users_login 'Auto_Fix', 'user_name';

-- 變更物件擁有者
EXEC sp_changeobjectowner 'schema.object', 'new_owner';

4. 連結伺服器與遠端登入

EXEC sp_helplinkedsrvlogin;
EXEC sp_helpremotelogin;

5. 空間與索引分析

-- 物件空間使用量
EXEC sp_spaceused 'table_name';

-- 最大 N 個資料表 (預設 50)
EXEC sp_toptables;

-- 索引資訊
EXEC sp_helpindex 'table_name';
-- 更詳細 (非官方擴展預存程序)
EXEC SP_NChelpindex 'table_name';

-- 約束資訊
EXEC sp_helpconstraint 'table_name';

6. 預存程序與函數管理

-- 列出所有 SP/Function
USE db_name; EXEC sp_stored_procedures;

-- 檢視原始碼
EXEC sp_helptext 'proc_name';

-- 搜尋含特定字串的物件
SELECT DISTINCT OBJECT_NAME(id) 
FROM syscomments WHERE text LIKE '%keyword%';

-- 加密建立
CREATE PROC proc_name WITH ENCRYPTION AS ...;

-- 解密 (需第三方工具或 sp_decrypt 等社群腳本)

7. 程序、鎖死與效能監控

-- 所有程序
EXEC sp_who;
-- 僅作用中
EXEC sp_who 'active';

-- 鎖狀況
EXEC sp_lock;

-- 查看特定 SPID 執行的 SQL
DBCC INPUTBUFFER(spid);

-- 推薦強化版:直接顯示 SQL 文字
EXEC sp_who3;  -- 社群改良版

-- 死鎖偵測
EXEC sp_who_lock;

8. 縮減交易記錄檔 (簡單復原模式)

BACKUP LOG db_name WITH NO_LOG;
DBCC SHRINKFILE (db_name_log, 目標_MB);
-- 完整復原模式請改用 LOG BACKUP + SHRINKFILE

使用提醒

  • 系統程序號 1-50 保留給內部,使用者連線 SPID > 50。
  • sp_configure 變更需 RECONFIGURE 生效。
  • 生產環境操作前請先備份、驗證腳本。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved