在 SQL Server 資料庫管理與開發過程中,掌握核心 T-SQL 命令至關重要。本文將詳細介紹 BACKUP、CHECKPOINT、DBCC、DECLARE、EXECUTE、KILL、PRINT、RAISERROR、READTEXT 等關鍵命令的語法、用途與實際應用場景,幫助資料庫管理員與開發人員提升操作效率。
BACKUP 命令用於將資料庫內容或交易記錄備份至儲存媒體(硬碟、磁帶等)。在 SQL Server 7.0 以前版本使用 DUMP 命令,自 SQL Server 2000 起已完全由 BACKUP 取代。完整備份、差異備份、交易記錄備份等策略的實施均依賴此命令,詳細用法請參考「資料備份與還原」專章。
語法簡單:CHECKPOINT
此命令會將目前資料庫中已修改的資料頁或記錄頁,從資料緩衝區強制寫入硬碟。這對於縮短資料庫復原時間、保障資料持久性具有關鍵作用。
DBCC (Database Consistency Checker) 用於驗證資料庫完整性、尋找錯誤、分析系統使用情況。必須搭配子命令使用,例如:
DBCC CHECKALLOC:檢查所有資料頁的配置與使用情況DBCC CHECKDB:完整資料庫一致性檢查DBCC SHOWCONTIG:分析索引碎片程度詳細子命令請參閱附錄說明。
語法結構:
DECLARE
{ @local_variable data_type }
| { @cursor_variable_name CURSOR }
| { table_type_definition }
[ ,...n ]
用於宣告區域變數、游標變數或資料表變數。宣告後初始值為 NULL,需使用 SELECT 或 SET 賦值。支援系統與使用者定義型別,但不支援 TEXT、NTEXT、IMAGE 型別。
DECLARE @x FLOAT, @y DATETIME
SELECT @x = PI(), @y = GETDATE()
PRINT @x
PRINT @y
執行結果:
3.14159
Jun 17 2000 4:32PM
DECLARE @x CHAR, @y CHAR(10)
SELECT @x = '123', @y = 'data_type'
PRINT @x
PRINT @y
執行結果:
1
data_type
注意:未指定長度的 CHAR 型別預設長度為 1,導致資料截斷。務必明確指定最大長度。
用於執行預存程序,詳細用法請參考「預存程序」專章。
用於終止指定處理序執行,詳細用法請參考「預存程序」專章。
語法:PRINT '字串' | @local_variable | @@FUNCTION | string_expression
向用戶端回傳自訂訊息,支援字串(最長 255 字元)、區域變數、全域變數。非字串型別需先用 CONVERT() 轉換。運算式長度可超過 8000 字元,但超過部分不顯示。
DECLARE @x CHAR(10), @y CHAR(10)
SELECT @x = 'SQL', @y = 'Server'
PRINT '科技'
PRINT @x + @y
執行結果:
科技
SQL Server
在系統回傳錯誤時同時返回使用者指定訊息,詳細用法請參考「預存程序」專章。
語法:READTEXT {table.column text_pointer offset size} [HOLDLOCK]
用於從 TEXT、NTEXT、IMAGE 型別欄位讀取資料。從偏移位置 offset+1 開始讀取 size 個字元;若 size=0 則讀取 4KB 資料。
DBCC CHECKDB 確保資料庫健康PRINT 進行除錯,但注意效能影響READTEXT 或 SUBSTRING 配合指標