系統資料庫

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 之目錄函數、方法、屬性 (Attribute) 或屬性 (Property),例如 ADO、OLE DB 或 ODBC。

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