版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本章概述業(yè)務(wù)數(shù)據(jù)存儲在什么地方?數(shù)據(jù)庫對象存儲在哪里?對于業(yè)務(wù)數(shù)據(jù)而言,什么樣的存儲方式是合理的?如果數(shù)據(jù)量劇增之后,數(shù)據(jù)庫能否適應(yīng)這些變化?回答諸如此類的問題,首先需要明白到底什么是數(shù)據(jù)庫。數(shù)據(jù)庫是數(shù)據(jù)庫管理系統(tǒng)的核心,是存放數(shù)據(jù)庫對象的容器,是使用數(shù)據(jù)庫系統(tǒng)時首先面對的對象。管理數(shù)據(jù)庫就是設(shè)計數(shù)據(jù)庫、定義數(shù)據(jù)庫和維護(hù)數(shù)據(jù)庫的過程。數(shù)據(jù)庫的效率和性能在很大程度上取決于數(shù)據(jù)庫的設(shè)計和優(yōu)化。本章將對MicrosoftSQLServer系統(tǒng)的數(shù)據(jù)庫管理進(jìn)行全面的研究和分析。2026/1/131.本章要點(diǎn)數(shù)據(jù)庫的管理問題數(shù)據(jù)庫文件和文件組的基本特征數(shù)據(jù)庫的物理存儲方式和大小估算方法使用CREATEDATABASE語句定義數(shù)據(jù)庫數(shù)據(jù)庫選項(xiàng)的作用和設(shè)置方式擴(kuò)大數(shù)據(jù)庫的原因和方法收縮數(shù)據(jù)庫的原因和方法文件組的管理方式數(shù)據(jù)庫快照的作用和特點(diǎn)優(yōu)化數(shù)據(jù)庫設(shè)計的方法2026/1/132.本章內(nèi)容4.1概述4.2數(shù)據(jù)庫文件和文件組的基本特征4.3定義數(shù)據(jù)庫4.4修改數(shù)據(jù)庫4.5管理數(shù)據(jù)庫快照4.6其他相關(guān)操作4.7優(yōu)化數(shù)據(jù)庫4.8本章小結(jié)2026/1/133.4.1概述為了有效地實(shí)現(xiàn)數(shù)據(jù)庫的管理工作,必須至少解決8個方面的問題,包括數(shù)據(jù)庫文件的存儲問題、數(shù)據(jù)庫的大小問題、確定數(shù)據(jù)庫運(yùn)行時的行為特征、數(shù)據(jù)庫的更改問題、數(shù)據(jù)庫的擴(kuò)大問題、數(shù)據(jù)庫的收縮問題、如何兼顧數(shù)據(jù)庫的事務(wù)處理效率和決策支持效率問題和數(shù)據(jù)庫的性能優(yōu)化問題等。2026/1/134.4.2數(shù)據(jù)庫文件和文件組的基本特征本節(jié)主要講述數(shù)據(jù)庫文件的類型、事務(wù)的概念、文件組的作用、估算數(shù)據(jù)庫文件大小的方法等內(nèi)容。2026/1/135.數(shù)據(jù)庫文件在MicrosoftSQLServer2008系統(tǒng)中,一個數(shù)據(jù)庫至少有一個數(shù)據(jù)文件和一個事務(wù)日志文件。當(dāng)然,一個數(shù)據(jù)庫也可以有多個數(shù)據(jù)文件和多個日志文件。數(shù)據(jù)文件用于存放數(shù)據(jù)庫的數(shù)據(jù)和各種對象,而事務(wù)日志文件用于存放事務(wù)日志。一個數(shù)據(jù)庫最多可以擁有32767個數(shù)據(jù)文件和32767個日志文件。2026/1/136.文件組文件組就是文件的邏輯集合。為了方便數(shù)據(jù)的管理和分配,文件組可以把一些指定的文件組合在一起。使用文件和文件組時,應(yīng)該考慮下列因素:(1)一個文件或者文件組只能用于一個數(shù)據(jù)庫,不能用于多個數(shù)據(jù)庫;(2)一個文件只能是某一個文件組的成員,不能是多個文件組的成員;(3)數(shù)據(jù)庫的數(shù)據(jù)信息和日志信息不能放在同一個文件或文件組中,數(shù)據(jù)文件和日志文件總是分開的;(4)日志文件永遠(yuǎn)也不能是任何文件組的一部分。2026/1/137.估算大小通過理解數(shù)據(jù)庫的空間管理,可以估算數(shù)據(jù)庫的設(shè)計尺寸。數(shù)據(jù)庫的大小等于數(shù)據(jù)庫中的表大小、索引大小以及其他占據(jù)物理空間的數(shù)據(jù)庫對象大小之和。假設(shè)某個數(shù)據(jù)庫中只有一個表,該表的數(shù)據(jù)行字節(jié)是800B。這時,一個數(shù)據(jù)頁上最多只能存放10行數(shù)據(jù)。如果該表大約有100萬行的數(shù)據(jù),那么該表將占用10萬個數(shù)據(jù)頁的空間。因此,該數(shù)據(jù)庫的大小估計為:100000×8KB=800000KB=781.25MB。根據(jù)數(shù)據(jù)庫大小的估計值,再考慮其他因素,就可以得到數(shù)據(jù)庫的設(shè)計值。2026/1/138.4.3定義數(shù)據(jù)庫定義數(shù)據(jù)庫就是創(chuàng)建數(shù)據(jù)庫和設(shè)置數(shù)據(jù)庫選項(xiàng)。本節(jié)從3個方面講述定義數(shù)據(jù)庫:創(chuàng)建數(shù)據(jù)庫、設(shè)置數(shù)據(jù)庫選項(xiàng)和查看數(shù)據(jù)庫信息。2026/1/139.創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫就是確定數(shù)據(jù)庫名稱、文件名稱、數(shù)據(jù)文件大小、數(shù)據(jù)庫的字符集、是否自動增長以及如何自動增長等信息的過程。在一個MicrosoftSQLServer實(shí)例中,最多可以創(chuàng)建32767個數(shù)據(jù)庫。數(shù)據(jù)庫的名稱必須滿足系統(tǒng)的標(biāo)識符規(guī)則。在命名數(shù)據(jù)庫時,一定要保證數(shù)據(jù)庫名稱簡短并有一定的含義。具有CREATEDATABASE、CREATEANYDATABASE或ALTERANYDATABASE權(quán)限的用戶才可以執(zhí)行創(chuàng)建數(shù)據(jù)庫的操作。2026/1/1310.創(chuàng)建一個最簡單的數(shù)據(jù)庫2026/1/1311.使用CREATEDATABASE語句創(chuàng)建數(shù)據(jù)庫2026/1/1312.創(chuàng)建有多個文件和文件組的數(shù)據(jù)庫2026/1/1313.數(shù)據(jù)庫的狀態(tài)和選項(xiàng)為了理解數(shù)據(jù)庫的運(yùn)行特征,需要了解數(shù)據(jù)庫的狀態(tài)和選項(xiàng)。下面分別介紹數(shù)據(jù)庫的狀態(tài)和選項(xiàng)。數(shù)據(jù)庫總是處在某個特定的狀態(tài)中,例如,ONLINE狀態(tài)表示數(shù)據(jù)庫處于正常的在線狀態(tài),可以對數(shù)據(jù)庫執(zhí)行正常的操作。數(shù)據(jù)庫的狀態(tài)清單和特征描述如表4-1所示。2026/1/1314.數(shù)據(jù)庫選項(xiàng)設(shè)置數(shù)據(jù)庫選項(xiàng)是定義數(shù)據(jù)庫狀態(tài)或特征的方式,例如可以設(shè)置數(shù)據(jù)庫的狀態(tài)為EMERGENCY。每一個數(shù)據(jù)庫都有許多選項(xiàng),可以使用ALTERDATABASE語句中的SET子句來設(shè)置這些數(shù)據(jù)庫選項(xiàng)。需要注意的是,使用MicrosoftSQLServerManagementStudio工具只能設(shè)置其中大多數(shù)的選項(xiàng)。下面,首先介紹MicrosoftSQLServer2008系統(tǒng)提供的數(shù)據(jù)庫選項(xiàng),然后講述如何設(shè)置這些選項(xiàng)。在MicrosoftSQLServer2008系統(tǒng)中,共有大約30多個數(shù)據(jù)庫選項(xiàng)。這些數(shù)據(jù)庫選項(xiàng)的清單和功能描述如表4-2所示。2026/1/1315.設(shè)置數(shù)據(jù)庫選項(xiàng)2026/1/1316.查看數(shù)據(jù)庫信息在MicrosoftSQLServer2008系統(tǒng)中,可以使用一些目錄視圖、函數(shù)、存儲過程查看有關(guān)數(shù)據(jù)庫的基本信息。sys.databases數(shù)據(jù)庫和文件目錄視圖可以查看有關(guān)數(shù)據(jù)庫的基本信息,sys.database_files可以查看有關(guān)數(shù)據(jù)庫文件的信息,sys.filegroups可以查看有關(guān)數(shù)據(jù)庫文件組的信息,sys.master_files可以查看數(shù)據(jù)庫文件的基本信息和狀態(tài)信息。DATABASEPROPERTYEX函數(shù)可以查看指定數(shù)據(jù)庫的指定選項(xiàng)的信息,一次只能返回一個選項(xiàng)的設(shè)置。2026/1/1317.查看數(shù)據(jù)庫選項(xiàng)的設(shè)置2026/1/1318.查看數(shù)據(jù)庫空間使用狀況信息2026/1/1319.使用sp_helpdb存儲過程查看數(shù)據(jù)庫2026/1/1320.“數(shù)據(jù)庫屬性–AdventureWorks”對話框2026/1/1321.4.4修改數(shù)據(jù)庫數(shù)據(jù)庫創(chuàng)建之后,可以根據(jù)需要使用ALTERDATABASE語句對數(shù)據(jù)庫進(jìn)行修改。除了前面講過的設(shè)置數(shù)據(jù)庫選項(xiàng)之外,修改操作還包括更改數(shù)據(jù)庫名稱、擴(kuò)大數(shù)據(jù)庫、收縮數(shù)據(jù)庫、修改數(shù)據(jù)庫文件、管理數(shù)據(jù)庫文件組以及修改字符排列規(guī)則等。下面將詳細(xì)討論這些內(nèi)容。2026/1/1322.更改數(shù)據(jù)庫名稱數(shù)據(jù)庫創(chuàng)建之后,一般情況下不要更改數(shù)據(jù)庫的名稱,因?yàn)樵S多應(yīng)用程序都可能使用了該數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱更改之后,需要修改相應(yīng)的應(yīng)用程序。如果確實(shí)需要更改數(shù)據(jù)庫名稱,可以使用ALTERDATABASE語句做到。使用ALTERDATABASE語句更改數(shù)據(jù)庫名稱的語法形式如下:ALTERDATABASEdatabase_nameMODIFYNAME=new_database_name2026/1/1323.更改數(shù)據(jù)庫名稱2026/1/1324.擴(kuò)大數(shù)據(jù)庫在MicrosoftSQLServer系統(tǒng)中,如果數(shù)據(jù)庫的數(shù)據(jù)量不斷膨脹,可以根據(jù)需要擴(kuò)大數(shù)據(jù)庫的尺寸。有3種擴(kuò)大數(shù)據(jù)庫的方式。第一種方式是設(shè)置數(shù)據(jù)庫為自動增長方式,可以在創(chuàng)建數(shù)據(jù)庫時設(shè)置;第二種方式是直接修改數(shù)據(jù)庫的數(shù)據(jù)文件或日志文件的大?。坏谌N方式是在數(shù)據(jù)庫中增加新的次要數(shù)據(jù)文件或日志文件。2026/1/1325.通過增加新的數(shù)據(jù)文件來擴(kuò)大數(shù)據(jù)庫2026/1/1326.通過擴(kuò)大數(shù)據(jù)文件的大小來擴(kuò)大數(shù)據(jù)庫2026/1/1327.收縮數(shù)據(jù)庫如果數(shù)據(jù)庫的設(shè)計尺寸過大了,或者刪除了數(shù)據(jù)庫中的大量數(shù)據(jù),這時數(shù)據(jù)庫會白白耗費(fèi)大量的磁盤資源。根據(jù)用戶的實(shí)際需要,可以收縮數(shù)據(jù)庫的大小。在MicrosoftSQLServer系統(tǒng)中,有3種收縮數(shù)據(jù)庫的方式。第一種方式是設(shè)置數(shù)據(jù)庫為自動收縮,可以通過設(shè)置AUTO_SHRINK數(shù)據(jù)庫選項(xiàng)實(shí)現(xiàn);第二種方式是收縮整個數(shù)據(jù)庫的大小,可以通過使用DBCCSHRINKDATABASE命令完成;第三種方式是收縮指定的數(shù)據(jù)文件,可以使用DBCCSHRIKNFILE命令實(shí)現(xiàn)。除了這些命令方式之外,也可以使用SQLServerManagementStudio工具來收縮數(shù)據(jù)庫。2026/1/1328.不能使用ALTERDATABASE語句直接收縮數(shù)據(jù)庫文件2026/1/1329.使用AUTO_SHRINK數(shù)據(jù)庫選項(xiàng)設(shè)置在MicrosoftSQLServer系統(tǒng)中,數(shù)據(jù)庫引擎會定期檢查每一個數(shù)據(jù)庫的空間使用情況。如果某個數(shù)據(jù)庫的AUTO_SHRINK選項(xiàng)設(shè)置為ON,則數(shù)據(jù)庫引擎將自動收縮數(shù)據(jù)庫中文件的大小。如果該選項(xiàng)的設(shè)置為OFF,則不自動收縮數(shù)據(jù)庫的大小。該選項(xiàng)的默認(rèn)值是OFF。在ALTERDATABASE語句中,設(shè)置AUTO_SHRINK選項(xiàng)的語法形式如下:ALTERDATABASEdatabase_nameSETAUTO_SHRINKON2026/1/1330.使用DBCCSHRINKDATABASE命令DBCCSHRINKDATABASE命令是一種比自動收縮數(shù)據(jù)庫更加靈活收縮數(shù)據(jù)庫的方式,可以對整個數(shù)據(jù)庫進(jìn)行收縮。DBCCSHRINKDATABASE命令的基本語法形式如下:DBCCSHRINKDATABASE('database_name',target_percent)2026/1/1331.使用DBCCSHRINKDFILE命令DBCCSHRINKDFILE命令可以收縮指定的數(shù)據(jù)庫文件,并且可以將文件收縮至小于其初始創(chuàng)建的大小,重新設(shè)置當(dāng)前的大小為其初始創(chuàng)建的大小。這是該命令與自動收縮、DBCCSHRINKDATABASE命令不同的地方。在執(zhí)行收縮數(shù)據(jù)庫操作時,DBCCSHRINKDFILE命令的功能最強(qiáng)大。DBCCSHRINKDFILE命令的基本語法形式如下:DBCCSHRINKFILE('file_name',target_size)2026/1/1332.使用SQLServerManagementStudio2026/1/1333.修改數(shù)據(jù)庫文件用戶可以根據(jù)需要使用ALTERDATABASE語句修改數(shù)據(jù)庫中指定的文件。這些修改操作包括增加數(shù)據(jù)文件、在指定的文件組中增加指定文件、增加日志文件、刪除指定的文件以及修改指定的文件等。增加數(shù)據(jù)文件、修改指定的文件等操作已經(jīng)講過了,下面通過一些示例講述有關(guān)數(shù)據(jù)庫文件的其他操作。如果要在指定的文件組中增加文件,則可以使用TOFILEGROUP子句。例如,如果LGCom數(shù)據(jù)庫包含了兩個數(shù)據(jù)文件,即LGF1和LGF2?,F(xiàn)在要新增加一個LGF3文件并且將其放在FG1文件組(該文件組必須已經(jīng)存在)中,那么可以使用如圖4-14所示的命令。2026/1/1334.在指定的文件組中增加文件2026/1/1335.管理文件組文件組是數(shù)據(jù)庫數(shù)據(jù)文件的邏輯組合,它可以對數(shù)據(jù)文件進(jìn)行管理和分配,以便提高數(shù)據(jù)庫文件的并發(fā)使用效率。Transact-SQL語言沒有提供獨(dú)立的管理文件組的命令,只能通過ALTERDATABASE語句提供管理文件組的命令。這些管理文件組的命令包括新建文件組、設(shè)置默認(rèn)的文件組、設(shè)置文件組的屬性、修改文件組以及刪除文件組等。下面詳細(xì)介紹管理文件組的操作。2026/1/1336.新建文件組的同時不能設(shè)置為默認(rèn)文件組2026/1/1337.將文件組設(shè)置為只讀狀態(tài)2026/1/1338.4.5管理數(shù)據(jù)庫快照相片是被照對象在照像時刻的靜態(tài)圖像表示,數(shù)據(jù)庫快照與此類似。數(shù)據(jù)庫快照提供了源數(shù)據(jù)庫在創(chuàng)建快照時刻的只讀、靜態(tài)視圖,可以有效地支持報表數(shù)據(jù)匯總和數(shù)據(jù)分析等只讀操作。如果源數(shù)據(jù)庫中包含了未提交事務(wù),那么這些事務(wù)不包含在數(shù)據(jù)庫快照中。需要說明的是,數(shù)據(jù)庫快照必須與源數(shù)據(jù)庫在同一個服務(wù)器實(shí)例上。數(shù)據(jù)庫快照是在數(shù)據(jù)頁級上進(jìn)行的。2026/1/1339.限制必須與源數(shù)據(jù)庫在相同的服務(wù)器實(shí)例上創(chuàng)建數(shù)據(jù)庫快照。數(shù)據(jù)庫快照捕捉開始創(chuàng)建快照的時刻點(diǎn),不包括所有未提交的事務(wù)。數(shù)據(jù)庫快照是只讀的,不能在數(shù)據(jù)庫快照中執(zhí)行修改操作。不能修改數(shù)據(jù)庫快照的文件。不能創(chuàng)建基于model、master、tempdb等系統(tǒng)數(shù)據(jù)庫的快照。不能對數(shù)據(jù)庫快照執(zhí)行備份或還原操作。不能附加或分離數(shù)據(jù)庫快照。數(shù)據(jù)庫快照不支持全文索引,因此源數(shù)據(jù)庫中的全文目錄不能傳輸過來。數(shù)據(jù)庫快照繼承快照創(chuàng)建時源數(shù)據(jù)庫的安全約束。但是由于快照是只讀的,源數(shù)據(jù)庫中對權(quán)限的修改不能反映到快照中。數(shù)據(jù)庫快照始終反映創(chuàng)建該快照時的文件組狀態(tài)。2026/1/1340.創(chuàng)建數(shù)據(jù)庫快照2026/1/1341.4.6其他相關(guān)操作除了前面講述的數(shù)據(jù)庫操作之外,數(shù)據(jù)庫管理操作還包括分離數(shù)據(jù)庫、附加數(shù)據(jù)庫和刪除數(shù)據(jù)庫等。下面介紹這些操作。2026/1/1342.分離數(shù)據(jù)庫分離數(shù)據(jù)庫是指將數(shù)據(jù)庫從MicrosoftSQLServer實(shí)例中刪除,但是該數(shù)據(jù)庫的數(shù)據(jù)文件和事務(wù)日志文件依然保持不變。這樣可以將該數(shù)據(jù)庫附加到任何的MicrosoftSQL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 10225-2025小模數(shù)錐齒輪精度
- 2026年蘭州市城關(guān)區(qū)消防救援大隊(duì)公開招聘政府專職消防員23人備考題庫及完整答案詳解1套
- 2026年中南大學(xué)湘雅三醫(yī)院編外人員招聘5人備考題庫有答案詳解
- 2026年臺州市椒江區(qū)山海幼兒園東埭園保育員招聘備考題庫含答案詳解
- 2026年天津市和平區(qū)教育系統(tǒng)事業(yè)單位進(jìn)駐東北師范大學(xué)公開招聘教師70人備考題庫及完整答案詳解1套
- 2026年北京市海淀區(qū)太平路小學(xué)招聘備考題庫及一套參考答案詳解
- 2026年開遠(yuǎn)電商倉庫招聘備考題庫及一套參考答案詳解
- 2026年蘭州備考題庫科技學(xué)院招募外籍教師參考答案詳解
- 2026年成都市龍王廟正街小學(xué)員額教師招聘補(bǔ)招備考題庫及參考答案詳解1套
- 2026年上海市浦東新區(qū)經(jīng)緯幼兒園招聘備考題庫(區(qū)內(nèi)流動)及完整答案詳解1套
- 2026年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識考試題庫500道及完整答案(各地真題)
- 2026年電信運(yùn)營商物資管理崗位面試題
- 2025年高職會計(成本核算)試題及答案
- 蟲鼠害培訓(xùn)課件
- 2025年5年級期末復(fù)習(xí)-蘇教版丨五年級數(shù)學(xué)上冊知識點(diǎn)
- 2025年韓家園林業(yè)局工勤崗位工作人員招聘40人備考題庫及參考答案詳解一套
- 工會工作考試題庫
- 2025學(xué)年上海市七年級語文上冊作文題目匯編及解析
- 2026年河南經(jīng)貿(mào)職業(yè)學(xué)院單招職業(yè)技能測試題庫及參考答案詳解
- 焊接機(jī)器人變位機(jī)技術(shù)設(shè)計方案
- 欄桿安裝施工方案示例
評論
0/150
提交評論