資料庫屬性設定

2021-04-17 05:34:28 字數 2906 閱讀 7736

在建立資料庫以後還可以設定其屬性,以更改建立時的某些設定和建立時無法設定的屬性。用右鍵單擊所要設定屬性的資料庫,從快捷選單中選擇選項「屬性(properties)」,就會出現如圖6-4 所示的資料庫屬性設定對話方塊。

在「general」頁框中,可以看到資料庫的狀態、所有者、建立時間、容量、備份、維護等屬性資訊。

在「data files」 和「transaction log」 頁框中,可以看到類似於圖6-2 和圖6-3 的對話方塊,此時可以裨詿唇ㄊ菘饈蹦茄匭輪付ㄊ菘饢募褪攣袢罩疚募拿啤⒋媧? 位置、初始容量大小等屬性。

在「filegroups」 頁框中,如圖6-5 所示,可以新增或刪除檔案組,不過,如果檔案組中有檔案則不能刪除,必須先將檔案移出檔案組。

在options 選項頁框中,可以設定資料庫的許多屬性,如圖6-6 所示。在圖6-6 中選中的選項都是系統預設為true 的。

各選項選中時的含義如下:

restrict access

訪問控制. member of db_owner;dbcreator,or sysadmin

只有資料庫所有者、資料庫建立者和系統管理員才有權使用資料庫。 single user

資料庫在同一時間只能供乙個使用者使用. read only

資料庫唯讀,即可檢視而不可修改。 ansi null default

允許在資料庫的列中輸入null值. recursive triggers

允許觸發器遞迴呼叫。sql server 設定的觸發器遞迴呼叫的層數上限為32。 select into / bulk copy

允許使用select into 或bcp、 writetext、 updatetext 命令向表中大量插入資料。用上述命令插入資料,在事務日誌中不會有記錄。在開發資料庫時時常將此選項設定為true。 truncate log on checkpoint

當執行checkpoint 命令時,如果事務日誌檔案超過其大小的70%, 則將其內容清除。在開發資料庫時時常將此選項設定為true。 torn page detection

自動檢測有損壞的頁(torn page)。頁(page)是資料庫內容的基本儲存單位。每個頁的大小為8kb。 由於sql server 對頁的讀寫單位是大小為512 位元組的扇區(sector),當每個頁的第乙個扇區被成功寫入後,sql server 就認為此頁已經被成功寫入了。因此,如果寫完第乙個扇區後發生突發事件,導致寫入中,斷就會產生有損壞的頁。需要通過備份來恢復資料庫。 auto close

當資料庫中無使用者時,自動關閉此資料庫,並將所占用資源交還給作業系統。對那些不間斷使用的資料庫不要使用此選項,否則會額外增加開關資料庫的執行開銷,得不償失。 auto shrink

定期對資料庫進行檢查,當資料庫檔案或日誌檔案的未用空間超過其大小的25%時,系統將會自動縮減檔案使其未用空間等於25% 。當檔案大小沒有超過其建立時的初始大小時,不會縮減檔案。縮減後的檔案也必須大於或等於其初始大小。對事務日誌檔案的縮減只有在對其作備份時或將truncate log on checkpoint 選項設為true 時才能進行。 auto create statistics

啟動資料庫列的使用統計,以提供給查詢優化器(query optimizer) 使用。 auto update statistics

當資料庫表更新時,更新所有的統計。 use quoted identifiers

識別符號必須用雙引號擴起來,且可以不遵循transact-sql 命名標準。 compatibility level

資料庫相容性級別。可以指定與何種版本以前的資料庫相容。 其它資料庫選項

還有一些資料庫選項沒有被顯示出來,如:ansi warning、 merge publish、 offline、 published、 subscribed 等,這些選項在一般情況下最好由sql server 自己來控制它,實在需要更改時可以通過sp_dboption 系統儲存過程來實現。系統儲存過程sp_dboption 用於顯示或更改資料庫選項。但它不能在系統資料庫master 或tempdb 資料庫中使用。其語法如下:

sp_dboption [[@dbname =] 'database_name']

[, [@optname =] 'option_name']

[, [@optvalue =] 'value']

各引數說明如下: [@dbname =] 'database'

指定所要操作的資料庫名. [@optname =] 'option_name'

指定要顯示或修改的資料庫選項。可以不輸入選項的全名。如果省略此項,就會列出所有設定為true 的選項。 [@optvalue =] 'value'

指定選項的值「value」 的值可以為true、 false 或on、off。

例6-2: 顯示mytest 資料庫的選項狀態。

exec sp_dboption 'mytest'

執行結果如下

the following options are set:

-----------------------------------

select into/bulkcopy

trunc. log on chkpt.

autoshrink

auto create statistics

auto update statistics

例6-3:設定mytest 資料庫的offline 狀態為true,讓一般使用者無法使用此資料庫。

exec sp_dboption 'mytest', 'offline', 'true'

執行結果如下:

sp_dboption command succeeded.

注意:系統管理員可以在模板資料庫model中執行sp_dboptin命令中設定資料選項,這將改變所有新建資料庫的初始選項設定。

在「permissions」 頁框中可以設定使用者對此資料庫的許可權,如圖6-7 所示。有關許可權設定的詳細介紹請參見「安全性與使用者管理」章節。

設定資料庫表內資料的額外屬性

對於資料庫的表,我們除了要設定我們必要的屬性 比如name,id等等 為了規範等原因,我們還需要加入一些別的屬性,這裡列舉幾個。對於運算元據庫,我們一般不呼叫delete方法,因為這樣可能會刪除大量資料。我們一般會在資料庫中加入乙個status屬性,當我們加入資料時,把status設為1。需要刪除操...

資料庫列屬性

列屬性 列屬性 真正約束欄位的是資料型別,但是資料型別的約束很單一需要一些額外的約束來更加保證資料的合法性。有以下屬性 1.空屬性 null 預設 和not null 不為空 雖然預設的資料庫基本都是字段為空,都是在實際開發的時候,盡可能保證所有的資料都不應該為空,因為空資料沒有意義,空資料沒有辦法...

Django資料庫設定

今天下午跟著教程學習怎樣連線資料庫,我使用的是mysql,遇到了不少問題,在此記錄下來 環境 django version 1.6.3,python version 2.7 1.settings.py檔案設定template dirs 路徑中一定不要用反斜槓,正確設定方法 template dirs...