Sybase數據庫的基本構成

SQL Server安裝時,它有四個數據庫:master數據庫,model數據庫,sybsystemprocs數據庫和tempdb數據庫。Master,Model和Tempdb都放在Master設備上。

一、master數據庫

master數據庫從總體上控制用戶數據庫和SQL Server的操作。它保留着用戶帳號(在syslogins中),可設置的環境變量(在sysconfigures中),系統錯誤信息(在sysmessages中)。在SQL Server上的數據庫(在sysdatabases中),給每個數據庫分配的存儲空間(在sysusages中),裝入系統的磁帶和磁盤(在sysdevices中),以及動態鎖(在syslocks中)的軌跡。另外,系統過程是在SQL Sserver安裝時用buildmaster程序創建的。它是存儲在master中的。

只有在master數據庫中才能用create database、或alter databasedisk init等命令。

master數據庫設備上增加用戶目標是可能的,但不好,在master數據庫上創建目標的目的應該是從總體上管理系統。應該在master數據庫上對用戶設置權限,以使大多數用戶不能在那裏創建目標。

每次改變master數據庫時最好用dump  database備份它,如果master數據庫被破壞,恢復它的方法與恢復用戶數據庫不同。

二、model 數據庫

model 數據庫也是隨SQL Server一起提供的。它提供了新用戶數據庫的雛型,每次用create database命令時,SQL Server都產生一個model數據庫的拷貝,然後把它擴展到命令要求的尺寸。

Model數據庫中包含着數據庫需要的系統表。它可以修改成新創建數據庫的結構——對model數據庫的任何修改都會在每個創建的數據庫中反映出來。下面是幾個通常用到的對model數據庫的改變:

增加數據類型、規則或缺省;

可存取SQL SERVER上所有數據庫的用戶用sp_adduser增加到model數據庫上;

諸如select into/bulk copy那樣的數據庫選項可在model中設置。這些設置會反映到新創建的數據庫中。它們在model中最缺省值是false

三、臨時數據庫

SQL Server提供了一個臨時數據庫(tempdb)。該庫爲臨時表和其他臨時工作存儲提供了一個存儲區域。

不管是什麼數據庫,所有臨時表都存放在tempdb中。然而,可以從tempdb或創建臨時表的數據庫來查詢臨時表。如果查詢tempdb..sysobjects,則系統會告訴你在臨時表名上加了一個後綴。僅當從tempdb使用臨時表時,sp_help才工作於臨時表上。

TempdbSQL Server上所有數據庫共享的工作空間。每當用戶退出SQL Server或系統從失敗中恢復時,用戶的臨時表從tempdb刪除。存儲過程退出時,它的臨時表也被刪除。在應用結束前,臨時表也可被顯示的drop掉。

Tempdb缺省的尺寸是2M字節,在財務軟件中,由於用到的臨時表很多,根據實際的情況,可以把它擴充到80~100M或更多。

發佈了38 篇原創文章 · 獲贊 7 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章