分享方式:


系統資料庫

SQL Server 包含下列系統資料庫。

系統資料庫 說明
master 資料庫 記錄 SQL Server 實例的所有系統層級資訊。
msdb 資料庫 被 SQL Server Agent 用來排程警示和作業。
model Database 做為 SQL Server 實例上建立之所有資料庫的範本。 對 模型 資料庫所做的修改,例如資料庫大小、定序、恢復模式和其他資料庫選項,會套用至之後建立的任何資料庫。
資源資料庫 這是唯讀資料庫,其中包含 SQL Server 隨附的系統物件。 系統物件會實際保存在 Resource 資料庫中,但邏輯上會顯示在每個資料庫的 sys 架構中。
tempdb 資料庫 這是用來保存暫存物件或中繼結果集的工作區。

修改系統數據

SQL Server 不支援使用者直接更新系統對象中的資訊,例如系統數據表、系統預存程式和目錄檢視。 SQL Server 反而是提供一組完整的系統管理工具,讓使用者可以完全管理系統,並且管理資料庫中的所有使用者和物件。 這些包括下列各項:

  • 系統管理公用程式,例如 SQL Server Management Studio。

  • SQL-SMO API。 這可讓程式設計人員在其應用程式中包含管理 SQL Server 的完整功能。

  • Transact-SQL 文稿和預存程式。 這些可以使用系統預存程式和 Transact-SQL DDL 語句。

這些工具可保護應用程式免於系統物件中的變更。 例如,SQL Server 有時必須變更新版 SQL Server 中的系統數據表,以支援在該版本中新增的新功能。 發出直接參考系統數據表之SELECT語句的應用程式經常相依於系統數據表的舊格式。 站點可能需要在重寫選擇系統表的應用程式之後,才能升級至新版本的 SQL Server。 SQL Server 會考慮系統預存程式、DDL 和 SQL-SMO 已發佈的介面,並且可維持這些介面的回溯相容性。

SQL Server 不支援在系統資料表上定義的觸發程式,因為它們可能會修改系統的作業。

備註

系統資料庫不能位於 UNC 共用目錄上。

檢視系統資料庫數據

除非這是取得應用程式所需資訊的唯一方法,否則您不應該撰寫程式代碼 Transact-SQL 直接查詢系統數據表的語句。 另一方面來說,應用程式應該使用以下方式來取得目錄和系統資訊:

  • 系統目錄檢視

  • SQL-SMO

  • Windows Management Instrumentation (WMI) 介面

  • 應用程式中使用的數據 API 的函數、方法、屬性或特性,例如 ADO、OLE DB 或 ODBC。

  • Transact-SQL 系統預存程式和內建函式。

系統資料庫的備份與還原 (SQL Server)

在物件總管中隱藏系統物件

目錄檢視 (Transact-SQL)

資料庫