EXEC [ProcedureName] @Param1, @Param2| 場景 | 需求 |
|---|---|
| 本機偵錯(引擎同機) | sysadmin 或 Windows 管理員登入即可 |
| 遠端偵錯 | 防火牆例外: • ssms.exe • sqlservr.exe • TCP 135 連接埠 |
USE Northwind;
GO
DECLARE @i INT, @j INT, @k INT;
SET @i = 1;
SET @j = 2;
SET @k = @i + @j;
SELECT @i;
GO
CREATE PROCEDURE sp_GetOrders @OrderID INT = NULL
AS
BEGIN
IF (@OrderID IS NULL)
PRINT 'NULL';
ELSE
PRINT 'VALID';
SELECT * FROM Orders WHERE OrderID = @OrderID;
END
GO
DECLARE @i INT, @j INT, @k INT;
SET @i = 1; SET @j = 2; SELECT @k = @i + @j;
EXEC sp_GetOrders 10248;
SELECT @i;
GO
EXEC sp_GetOrders 10248
| 特性 | SQL 2000 | SQL 2008 |
|---|---|---|
| 偵錯入口 | 物件瀏覽器右鍵 | 查詢視窗工具列 |
| 參數輸入 | 對話框 | EXEC 腳本中指定 |
| 巢狀程序 | 不支援 | 完整支援(F11 進入) |
| 變數監看 | 基本 | 完整(區域/監看/堆疊) |
| 遠端偵錯 | 簡單 | 需防火牆配置 |
SQL Server 2008 將偵錯功能整合回 SSMS,雖然操作習慣改變,但功能更強大(支援巢狀程序、完整變數監看、Visual Studio 風格操作)。配合 IntelliSense 提升開發效率,是資料庫開發者的重要利器。