SQL Server 目錄視圖保存在哪裡?
似乎
sys
可以在每個數據庫下找到目錄視圖,無論是內置的還是使用者創建的。它們是在每個數據庫下創建的所有實際視圖定義還是只是“連結”到某個地方?謝謝
目錄視圖不提供對複制、SQL Server 代理或備份元數據的訪問。這些僅在 MSDB 中可用。
參考:
https://docs.microsoft.com/en-us/sql/relational-databases/databases/resource-database
https://technet.microsoft.com/en-us/library/ms179503(v=sql.105).aspx
Resource 數據庫是一個只讀數據庫,其中包含 SQL Server 附帶的所有系統對象。SQL Server 系統對象,例如 sys.objects,物理上持久保存在 Resource 數據庫中,但它們在邏輯上出現在每個數據庫的 sys 架構中。資源數據庫不包含使用者數據或使用者元數據。
資源數據庫使升級到新版本的 SQL Server 成為一個更簡單、更快捷的過程。在 SQL Server 的早期版本中,升級需要刪除和創建系統對象。因為資源數據庫文件包含所有系統對象,所以現在只需將單個資源數據庫文件複製到本地伺服器即可完成升級。
Resource 數據庫的物理文件名是 mssqlsystemresource.mdf 和 mssqlsystemresource.ldf。這些文件位於 :\Program Files\Microsoft SQL Server\MSSQL.\MSSQL\Binn\ 中,不應移動。每個 SQL Server 實例都有一個且只有一個關聯的 mssqlsystemresource.mdf 文件,並且實例不共享此文件。
系統基表是實際儲存特定數據庫元數據的基礎表。master 數據庫在這方面是特殊的,因為它包含一些在任何其他數據庫中都沒有的附加表。這些表包含具有伺服器範圍的持久元數據。資源數據庫包含與任何其他非主數據庫相同的基表架構。