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

SQL Server 2005 管理工具遺失經典功能?Taskpad、腳本權限、磁碟空間等舊功能替代方案

     編輯:關於SqlServer

背景:工具升級帶來的功能斷層

許多 DBA 升級至 SQL Server 2005 Management Studio 後,發現習慣的 SQL 2000 企業管理器功能消失:Taskpad 儀表板、預存程序腳本化時的 IF EXISTS DROP 選項、資料庫屬性中的磁碟剩餘空間、建立時間顯示精確到「時分秒」等。雖然 Management Studio 提供精美報表與圖表,但尚未遷移伺服器至 SQL 2005 的 DBA 面臨「工具升級、伺服器未升級」的落差。

經典功能替代方案

1. Taskpad 功能替代

General 頁籤資訊:仍可在資料庫屬性的「General」頁面查看。

維護資訊(最近備份時間):查詢 msdb.dbo.backupset:

SELECT MAX(backup_start_date) 
FROM backupset 
WHERE database_name = 'my_db';

空間配置資訊:

-- 所有檔案空間
SELECT * FROM sysfiles;

-- 僅查詢記錄檔使用空間
DBCC SQLPERF (LOGSPACE);

資料表空間資訊:

EXEC sp_spaceused 'your_table_name';

2. 腳本化多個預存程序並包含權限

  1. 右鍵點選資料庫 → Tasks(工作) → Generate Scripts(產生指令碼)。
  2. 選取目標資料庫,設定 Include object Level Permissions = True。
  3. 下一步僅勾選 Stored Procedures,挑選目標程序。
  4. 檢視選項並完成。

缺憾:產生的腳本不包含 IF EXISTS DROP PROCEDURE 區塊。需手動在每個程序前加入:

IF EXISTS (SELECT name FROM sysobjects 
            WHERE name = 'your_proc_name' AND type = 'P')
    DROP PROCEDURE your_proc_name;
GO

3. 查看伺服器磁碟剩餘空間

執行未文件化的擴充預存程序:

EXEC xp_fixeddrives;

回傳各磁碟機代號與可用 MB 數。

4. 取得預存程序建立時間(含時分秒)

SQL 2005 摘要頁僅顯示日期,時間部分被移除。查詢系統表取得完整時間:

SELECT crdate AS DateCreated 
FROM dbo.sysobjects 
WHERE name = 'your_proc_name';

總結

工具版本升級常伴隨習慣功能的遺失。透過 T-SQL 系統檢視與未文件化程序,可在新工具中找回舊功能對等能力。這也倒逼 GUI 導向的 DBA 轉向命令列與腳本化操作,長遠來看提升了自動化與可重複性能力。期待後續版本工具持續改善,補足功能缺口。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved