程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server數據庫技術(31)

SQL Server數據庫技術(31)

編輯:關於SqlServer
在創建數據庫以後還可以設置其屬性,以更改創建時的某些設置和創建時無法設置的屬性。用右鍵單擊所要設置屬性的數據庫,從快捷菜單中選擇選項“屬性(PropertIEs)”,就會出現如圖6-4 所示的數據庫屬性設置對話框。
SQL Server數據庫技術(31)(圖一)
在“General”頁框中,可以看到數據庫的狀態、所有者、創建時間、容量、備份、維護等屬性信息。
在“Data Files” 和“Transaction Log” 頁框中,可以看到類似於圖6-2 和圖6-3 的對話框,此時可以像在創建數據庫時那樣重新指定數據庫文件和事務日志文件的名稱、存儲位置、初始容量大小等屬性。
在“Filegroups” 頁框中,如圖6-5 所示,可以添加或刪除文件組,不過,如果文件組中有文件則不能刪除,必須先將文件移出文件組。
SQL Server數據庫技術(31)(圖二)
在Options 選項頁框中,可以設置數據庫的許多屬性,如圖6-6 所示。在圖6-6 中選中的選項都是系統默認為True 的。
SQL Server數據庫技術(31)(圖三)歡迎光臨



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

  • 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 所示。有關權限設置的詳細介紹請參見“安全性與用戶管理”章節。
SQL Server數據庫技術(31)(圖四) 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved