系統資料庫

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

系統資料庫

說明

master 資料庫

記錄 SQL Server 執行個體的所有系統層級資訊。

msdb 資料庫

由 SQL Server Agent 用於排程警示和作業。

model 資料庫

用來當作 SQL Server 執行個體上建立之所有資料庫的範本。 對 model 資料庫進行的修改 (例如,資料庫大小、定序、復原模式和其他資料庫選項) 會套用到之後建立的任何資料庫。

Resource 資料庫

是一個唯讀的資料庫,其中包含 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 之 Catalog 函數、方法、屬性 (attribute) 或屬性 (property),例如 ADO、OLE DB 或 ODBC。

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

相關工作

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

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

相關內容

目錄檢視 (Transact-SQL)

資料庫