SQL Server 字元資料類型選擇指南:char、varchar、nchar、nvarchar 深度解析
前言 資料庫設計初期若未妥善規劃字元資料類型,後期將面臨效能損耗、儲存空間浪費甚至亂碼風險。本文從 Unicode 原理、儲存機制、效能考量三大面向,詳細比較
SQL Server 2000 修改或刪除預設 sa 帳號的安全性實作指南
前言 SQL Server 2000 內建的 sa 帳號擁有 sysadmin 固定伺服器角色,是駭客暴力破解的首選目標。單純修改密碼無法根治風險,最佳做法是停
SQL Server 系統預存程序查詢伺服器角色、資料庫角色與使用者資訊
前言 SQL Server 內建多個系統預存程序(System Stored Procedures),可快速檢視伺服器層級角色、資料庫層級角色及使用者成員資格,
快速查看 SQL Server 版本與 Service Pack 資訊的兩種方法
前言 確認 SQL Server 版本號與 Service Pack (SP) 等級是維運、升級或疑難排解的基本動作。本文介紹兩種查看方式:圖形化介面(SQL
SQL Server 設定主鍵與自增長欄位的完整指南
前言 在 SQL Server 資料庫設計中,主鍵與自增長(Identity)欄位是資料表結構的核心元素。本文將系統整理四種常見情境的 T-SQL 實作方式,包
常用 SQL 語句大全:子查詢、隨機抽樣、分組去重、複製表等 14 類模板
1. 插入並獲取自增 ID INSERT INTO Table1(Name, Descr, Num) VALUES(ltp,best,10); SELECT @
SQL 語句關鍵字解析順序全圖解:從 FROM 到 ORDER BY 的邏輯流程
邏輯解析順序(非書寫順序) FROM — 確定數據源,執行 JOIN(笛卡爾積 → ON 過濾 → 外部行添加)產生虛擬表 VT1。 WHER
SQL Server 插入數據並返回自增 ID:@@IDENTITY 與 SCOPE_IDENTITY() 區別
存儲過程示例 CREATE PROC dbo.Proc_InsertUser @Name NVARCHAR(100) AS BEGIN INSE
SQL 計算兩時間字段天數差:ABS + DATEDIFF 實戰
核心語句 SELECT ABS(DATEDIFF(DAY, EndDate, BeginDate)) AS DayDiff FROM dbo.WorkingPl
SQL Server 非聚集索引結構深度解析:RID vs 叢集鍵查找
數據存儲兩大結構 堆:無序頁面,通過 IAM 頁串聯。 B+樹:有序頁面,雙向鏈表連接,根/中間/葉三層。 聚集索引 = 數據頁即葉級索引頁
SQL Server 簡單恢復模式下堆表誤刪記錄的物理恢復實戰
核心原理 簡單模式下 DELETE 僅修改頁面槽位陣列將偏移量置 0,**數據行實體仍留在頁面中**,未被立即覆蓋。利用十六進制編輯器修復槽位偏移即可「復活」記
SQL Server 編譯與重編譯:觸發場景、計劃重用利弊與優化策略
編譯流程 SQL Server 收到批處理/存儲過程/動態 SQL → 語法解析 → 綁定解析 → 編譯 生成執行計劃 → 緩存至 Plan Cache → 執
存儲過程生成 8 位流水單號:日期+序號,含并發安全改進
需求 訂單號格式:YYYYMMDD + 8位序號(如 2024011500000001),每日從 1 重新開始,需支持高并發。 基礎版存儲過程 CREATE
觸發器深度解析:批量插入時 inserted 表其實包含多行
誤區 很多人以為「每插一行觸發一次觸發器」,實則 觸發器按語句觸發,而非按行觸發。批量 INSERT 只會觸發一次,inserted 表包含所有新增行。 實驗
SQL 入門第 3 天:TOP ... WITH TIES 讓並列名次一起上榜
語法 SELECT TOP (n) WITH TIES * FROM Table ORDER BY SortColumn; 規則 必須配合 TOP