第2章 數(shù)據(jù)庫的建立與維護_第1頁
第2章 數(shù)據(jù)庫的建立與維護_第2頁
第2章 數(shù)據(jù)庫的建立與維護_第3頁
第2章 數(shù)據(jù)庫的建立與維護_第4頁
第2章 數(shù)據(jù)庫的建立與維護_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第 2 章數(shù) 據(jù) 庫的建立與維護 系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫的存儲結(jié)構(gòu)數(shù)據(jù)庫的存儲結(jié)構(gòu)數(shù)據(jù)庫的創(chuàng)建和管理數(shù)據(jù)庫的創(chuàng)建和管理查看數(shù)據(jù)庫狀態(tài)查看數(shù)據(jù)庫狀態(tài)數(shù)據(jù)庫操作數(shù)據(jù)庫操作數(shù)據(jù)快照的創(chuàng)建數(shù)據(jù)快照的創(chuàng)建系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫 所謂所謂系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫指的是隨安裝程序一起安裝,用于協(xié)助指的是隨安裝程序一起安裝,用于協(xié)助SQL Server 2008共同完成管理操作的數(shù)據(jù)庫,它們是共同完成管理操作的數(shù)據(jù)庫,它們是SQL Server 2008運行的基礎(chǔ)。運行的基礎(chǔ)。 在在SQL Server 2008中,默認(rèn)有中,默認(rèn)有5個系統(tǒng)數(shù)據(jù)庫:個系統(tǒng)數(shù)據(jù)庫:master、model、msdb、tempdb和

2、和resource數(shù)據(jù)庫。數(shù)據(jù)庫。 Master數(shù)據(jù)庫數(shù)據(jù)庫是是SQL Server系統(tǒng)最重要的數(shù)據(jù)庫,它記錄了系統(tǒng)最重要的數(shù)據(jù)庫,它記錄了SQL Server系統(tǒng)的所有系統(tǒng)信息。系統(tǒng)的所有系統(tǒng)信息。 在在 SQL Server 2008 中,系統(tǒng)對象不再存儲在中,系統(tǒng)對象不再存儲在 master 數(shù)據(jù)庫中,數(shù)據(jù)庫中,而是存儲在而是存儲在 Resource 數(shù)據(jù)庫數(shù)據(jù)庫中。中。 model 數(shù)據(jù)庫數(shù)據(jù)庫用作在用作在 SQL Server 實例上創(chuàng)建的所有數(shù)據(jù)庫的模板。實例上創(chuàng)建的所有數(shù)據(jù)庫的模板。如果修改如果修改 model 數(shù)據(jù)庫,之后創(chuàng)建的所有數(shù)據(jù)庫都將繼承這些修改。數(shù)據(jù)庫,之后創(chuàng)建的所有

3、數(shù)據(jù)庫都將繼承這些修改。 Msdb數(shù)據(jù)庫數(shù)據(jù)庫是代理服務(wù)數(shù)據(jù)庫。是代理服務(wù)數(shù)據(jù)庫。 Tempdb是一個臨時數(shù)據(jù)庫是一個臨時數(shù)據(jù)庫,它為所有的臨時表、臨時存儲過程及,它為所有的臨時表、臨時存儲過程及其他臨時操作提供存儲空間。其他臨時操作提供存儲空間。 Tempdb數(shù)據(jù)庫由整個系統(tǒng)的所有數(shù)據(jù)庫使用。數(shù)據(jù)庫由整個系統(tǒng)的所有數(shù)據(jù)庫使用。SQL Server每次啟每次啟動時,動時,tempdb數(shù)據(jù)庫被重新建立。當(dāng)用戶與數(shù)據(jù)庫被重新建立。當(dāng)用戶與SQL Server斷開連接時,斷開連接時,其臨時表和存儲過程自動被刪除。其臨時表和存儲過程自動被刪除。mastermodeltempdbmsdbAdventur

4、eWorksAdventureWorksDW系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶數(shù)據(jù)庫User1StuInfo 數(shù)據(jù)庫是表、視圖、存儲過程、觸發(fā)器等數(shù)據(jù)庫對象的集合,是數(shù)據(jù)庫是表、視圖、存儲過程、觸發(fā)器等數(shù)據(jù)庫對象的集合,是數(shù)據(jù)庫管理系統(tǒng)的核心內(nèi)容。為了更好地理解數(shù)據(jù)庫,應(yīng)該首先了解數(shù)據(jù)庫管理系統(tǒng)的核心內(nèi)容。為了更好地理解數(shù)據(jù)庫,應(yīng)該首先了解數(shù)據(jù)庫的物理文件和邏輯文件、事務(wù)日志、文件組、數(shù)據(jù)庫的物理空數(shù)據(jù)庫的物理文件和邏輯文件、事務(wù)日志、文件組、數(shù)據(jù)庫的物理空間、數(shù)據(jù)庫狀態(tài)、數(shù)據(jù)庫快照等基本概念。間、數(shù)據(jù)庫狀態(tài)、數(shù)據(jù)庫快照等基本概念。 數(shù)據(jù)庫:數(shù)據(jù)庫:用于存儲特定格式的關(guān)系數(shù)據(jù)的總集。用于存儲特

5、定格式的關(guān)系數(shù)據(jù)的總集。 文件:文件:用于存放由數(shù)據(jù)構(gòu)成的表。用于存放由數(shù)據(jù)構(gòu)成的表。 文件組文件組 :用于將多個文件組織起來進行管理。用于將多個文件組織起來進行管理。 架構(gòu):架構(gòu):用于管理數(shù)據(jù)表等對象的命名。用于管理數(shù)據(jù)表等對象的命名。 快照:快照:用于建立數(shù)據(jù)庫的快速還原點,方便測試和故障恢復(fù)用于建立數(shù)據(jù)庫的快速還原點,方便測試和故障恢復(fù)。 數(shù)據(jù)庫對象及構(gòu)成數(shù)據(jù)庫對象及構(gòu)成:數(shù)據(jù)庫的存儲結(jié)構(gòu)數(shù)據(jù)庫的存儲結(jié)構(gòu)數(shù)據(jù)庫的存儲結(jié)構(gòu)分為數(shù)據(jù)庫的存儲結(jié)構(gòu)分為邏輯存儲結(jié)構(gòu)邏輯存儲結(jié)構(gòu)和和物理存儲結(jié)構(gòu)物理存儲結(jié)構(gòu)兩種。兩種。1、數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu)指的是數(shù)據(jù)庫是由哪些性質(zhì)的信息所組成,、數(shù)據(jù)庫的邏輯存儲結(jié)

6、構(gòu)指的是數(shù)據(jù)庫是由哪些性質(zhì)的信息所組成,SQL Server的數(shù)據(jù)庫的數(shù)據(jù)庫不僅只是不僅只是數(shù)據(jù)的存儲,所有與數(shù)據(jù)處理操作相關(guān)的數(shù)據(jù)的存儲,所有與數(shù)據(jù)處理操作相關(guān)的信息都存儲在數(shù)據(jù)庫中。信息都存儲在數(shù)據(jù)庫中。 SQL Server的數(shù)據(jù)庫是由諸如表、視圖、索引等各種不同的數(shù)據(jù)庫的數(shù)據(jù)庫是由諸如表、視圖、索引等各種不同的數(shù)據(jù)庫對象所組成,它們分別用來存儲特定信息并支持特定功能,構(gòu)成數(shù)據(jù)庫對象所組成,它們分別用來存儲特定信息并支持特定功能,構(gòu)成數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu)。的邏輯存儲結(jié)構(gòu)。2、數(shù)據(jù)庫的物理存儲結(jié)構(gòu)則是討論數(shù)據(jù)庫文件是如何在磁盤上存儲的。、數(shù)據(jù)庫的物理存儲結(jié)構(gòu)則是討論數(shù)據(jù)庫文件是如何在磁盤上

7、存儲的。數(shù)據(jù)庫在磁盤上是以文件為單位存儲的,由數(shù)據(jù)庫文件和事務(wù)日志文件數(shù)據(jù)庫在磁盤上是以文件為單位存儲的,由數(shù)據(jù)庫文件和事務(wù)日志文件組成。組成。 在在 SQL 2008 中,一個數(shù)據(jù)庫至少有一個數(shù)據(jù)文件和一個事務(wù)日志中,一個數(shù)據(jù)庫至少有一個數(shù)據(jù)文件和一個事務(wù)日志文件。該數(shù)據(jù)庫也可以有多個數(shù)據(jù)文件和多個事務(wù)日志文件。數(shù)據(jù)文件文件。該數(shù)據(jù)庫也可以有多個數(shù)據(jù)文件和多個事務(wù)日志文件。數(shù)據(jù)文件用于存放數(shù)據(jù)庫的數(shù)據(jù)和各種對象,事務(wù)日志文件用于存放事務(wù)日志。用于存放數(shù)據(jù)庫的數(shù)據(jù)和各種對象,事務(wù)日志文件用于存放事務(wù)日志。 數(shù)據(jù)庫的文件組成數(shù)據(jù)庫的文件組成:(:(通??梢杂扇愇募M成) 主數(shù)據(jù)文件:默認(rèn)的擴展

8、名為.mdf 輔助數(shù)據(jù)文件:默認(rèn)的擴展名為.ndf 事務(wù)日志文件:默認(rèn)的擴展名為.ldf在在SQL Server 2008中一個數(shù)據(jù)庫至少包含一個有數(shù)據(jù)庫對象的主數(shù)據(jù)文中一個數(shù)據(jù)庫至少包含一個有數(shù)據(jù)庫對象的主數(shù)據(jù)文件和一個事務(wù)日志文件。件和一個事務(wù)日志文件。這些物理文件具有可用于這些物理文件具有可用于Transact-SQL 語句的操作系統(tǒng)文件名稱和邏輯語句的操作系統(tǒng)文件名稱和邏輯文件名稱文件名稱所有的的數(shù)據(jù)文件和事務(wù)日志的所有的的數(shù)據(jù)文件和事務(wù)日志的默認(rèn)位置默認(rèn)位置是是 C: Progrom Files Mirosoft SQL Server MSSQL.n MSSQL Data最佳的實踐:

9、最佳的實踐: 將所有的數(shù)據(jù)和對象存儲在輔助數(shù)據(jù)文件中,而主數(shù)據(jù)文件只負(fù)責(zé)將所有的數(shù)據(jù)和對象存儲在輔助數(shù)據(jù)文件中,而主數(shù)據(jù)文件只負(fù)責(zé)存儲數(shù)據(jù)目錄,這種配置可有效的避免訪問時的磁盤爭用。存儲數(shù)據(jù)目錄,這種配置可有效的避免訪問時的磁盤爭用。 存儲數(shù)據(jù)的方法存儲數(shù)據(jù)的方法:日志文件日志文件: .ldf數(shù)據(jù)文件數(shù)據(jù)文件:.mdf or .ndf區(qū)區(qū): 8 個連續(xù)的個連續(xù)的 8 KB 頁頁頁頁: 8 KB 配置事務(wù)日志配置事務(wù)日志: 建立好數(shù)據(jù)庫之后,在進行具體的操作之前應(yīng)當(dāng)首先配置事務(wù)日志建立好數(shù)據(jù)庫之后,在進行具體的操作之前應(yīng)當(dāng)首先配置事務(wù)日志。事務(wù)日志文件記錄事務(wù)日志文件記錄SQL Server 對

10、這個數(shù)據(jù)庫的操作,以便于在系統(tǒng)出現(xiàn)對這個數(shù)據(jù)庫的操作,以便于在系統(tǒng)出現(xiàn)故障時恢復(fù)數(shù)據(jù)庫。故障時恢復(fù)數(shù)據(jù)庫。 那事務(wù)日志又有什么樣的作用?(看個場景)那事務(wù)日志又有什么樣的作用?(看個場景)小張在書店買書。他和書店進行一次性交易付款過程包括下面這些數(shù)據(jù)小張在書店買書。他和書店進行一次性交易付款過程包括下面這些數(shù)據(jù)庫操作庫操作: 更新客戶所購書籍的庫存信息。 保存客戶的付款信息和銀行系統(tǒng)進行互動。 生成訂單并保存到數(shù)據(jù)庫中。 更新用戶相關(guān)信息。 上面的場景中每個數(shù)據(jù)庫操作都被稱為上面的場景中每個數(shù)據(jù)庫操作都被稱為事務(wù)。事務(wù)。 所有的數(shù)據(jù)庫操作都將保存到相關(guān)的數(shù)據(jù)庫日志中,發(fā)生故障后,所有的數(shù)據(jù)庫操

11、作都將保存到相關(guān)的數(shù)據(jù)庫日志中,發(fā)生故障后,系統(tǒng)可以根據(jù)事務(wù)日志將數(shù)據(jù)庫返回到用戶下單前的狀態(tài)。系統(tǒng)可以根據(jù)事務(wù)日志將數(shù)據(jù)庫返回到用戶下單前的狀態(tài)。正常情況一切順利進行,交易成功,與交易相關(guān)的所有數(shù)據(jù)也成功的更新。正常情況一切順利進行,交易成功,與交易相關(guān)的所有數(shù)據(jù)也成功的更新。 快速了解創(chuàng)建學(xué)校的數(shù)據(jù)庫:快速了解創(chuàng)建學(xué)校的數(shù)據(jù)庫:管理任務(wù):管理任務(wù): 小王的學(xué)校通過數(shù)據(jù)庫管理所有老師和學(xué)生的信息,這臺服務(wù)器配有三個磁盤驅(qū)動器。在安裝了2008之后,作為一個DBA,需要實現(xiàn)以下任務(wù): 創(chuàng)建數(shù)據(jù)庫; 創(chuàng)建數(shù)據(jù)文件; 規(guī)劃文件大小和位置; 配置數(shù)據(jù)庫選項。 管理操作過程:管理操作過程: 小王分別在

12、 SQL 2008 中建立了老師和學(xué)生的數(shù)據(jù)庫的文件,分別用來存儲老師和學(xué)生的信息。并且根據(jù)在校的老師和學(xué)生數(shù)量來估計文件的初始大小,老師的數(shù)據(jù)文件初始大小為20 MB,學(xué)生的數(shù)據(jù)文件初始大小為80 MB,設(shè)置日志文件的總大小為數(shù)據(jù)文件的25。 由于服務(wù)器有三個硬盤驅(qū)動器,操作系統(tǒng)位于C盤,小王將數(shù)據(jù)文件分別放置于D盤和E盤,將日志文件放在C盤,這樣就可以實現(xiàn)最好的性能。 創(chuàng)建數(shù)據(jù)庫的示例創(chuàng)建數(shù)據(jù)庫的示例: 可以使用SQL Server Management Studio中的可視化工具來創(chuàng)建數(shù)據(jù)庫,圖示:創(chuàng)建數(shù)據(jù)庫時,可指定以下選項:創(chuàng)建數(shù)據(jù)庫時,可指定以下選項: 主文件主文件:默認(rèn)文件名為:

13、database_name.mdf,位于SQL Server 實例的Data 文件夾中。 輔助文件輔助文件:創(chuàng)建可選的輔助文件,將其分配到主文件組和任何現(xiàn)存用戶定義的主文件組中 事務(wù)日志事務(wù)日志:默認(rèn)文件名為:database_name.ldf,位于SQL Server 實例的Data 文件夾中。大小大小:可指定每個數(shù)據(jù)文件和日志文件的大小。初始大小與model 數(shù)據(jù)庫中使用的值相同。設(shè)置自動增長對話框設(shè)置自動增長對話框: 文件增長文件增長:可指定文件是否在必要時增長。該選項稱為自動增:可指定文件是否在必要時增長。該選項稱為自動增長,即為啟用文件增長。長,即為啟用文件增長。 最大值最大值:可指

14、定:可指定MB或百分比作為文件可增長的最大值,建議或百分比作為文件可增長的最大值,建議指定文件增長的最大值。指定文件增長的最大值。 排序規(guī)則排序規(guī)則:數(shù)據(jù)的排序次序原則,用以確定進行數(shù)據(jù)排序時數(shù):數(shù)據(jù)的排序次序原則,用以確定進行數(shù)據(jù)排序時數(shù)據(jù)值的具體位置。據(jù)值的具體位置。 文件組文件組: 如果在數(shù)據(jù)庫中存在大量的文件,如何才能方便管理,同時提高數(shù)如果在數(shù)據(jù)庫中存在大量的文件,如何才能方便管理,同時提高數(shù)據(jù)庫的性能呢?據(jù)庫的性能呢?探討:探討: SQL Server 2008在數(shù)據(jù)文件中存儲數(shù)據(jù),數(shù)據(jù)文件可分組為一個或多在數(shù)據(jù)文件中存儲數(shù)據(jù),數(shù)據(jù)文件可分組為一個或多個文件組。雖然數(shù)據(jù)庫只用一個文

15、件組即可成功運行,但創(chuàng)建多個文件個文件組。雖然數(shù)據(jù)庫只用一個文件組即可成功運行,但創(chuàng)建多個文件組可能更有利。組可能更有利。結(jié)論:結(jié)論: 我們要學(xué)會文件組的創(chuàng)建、設(shè)計和維護,以及利用文件組改善數(shù)我們要學(xué)會文件組的創(chuàng)建、設(shè)計和維護,以及利用文件組改善數(shù)據(jù)庫的性能。據(jù)庫的性能。文件組的概念文件組的概念: 文件組是一種邏輯結(jié)構(gòu),它允許文件組是一種邏輯結(jié)構(gòu),它允許DBA組織數(shù)據(jù)文件,并把它們作組織數(shù)據(jù)文件,并把它們作為一個邏輯單元進行管理。為一個邏輯單元進行管理。 文件組可以控制數(shù)據(jù)庫中各個對象的物理布局,這可提供大量可文件組可以控制數(shù)據(jù)庫中各個對象的物理布局,這可提供大量可管理性和性能方面的好處。管理

16、性和性能方面的好處。 SQL Server 支持支持兩種兩種文件組:主要文件組和用戶定義的文件組。文件組:主要文件組和用戶定義的文件組。主要文件組主要文件組包含主要數(shù)據(jù)文件以及任何沒有被存儲到另一文件組中的包含主要數(shù)據(jù)文件以及任何沒有被存儲到另一文件組中的次要數(shù)據(jù)文件。次要數(shù)據(jù)文件。 創(chuàng)建用戶定義的文件組的目的是對次要文件進行分組,并將數(shù)據(jù)創(chuàng)建用戶定義的文件組的目的是對次要文件進行分組,并將數(shù)據(jù)庫對象分配給文件組。庫對象分配給文件組。問:每個文件組可以有多少個日志文件?問:每個文件組可以有多少個日志文件?文件組文件組 創(chuàng)建數(shù)據(jù)庫的方法有以下三種:創(chuàng)建數(shù)據(jù)庫的方法有以下三種: 1、使用、使用SQ

17、L Server管理平臺創(chuàng)建數(shù)據(jù)庫管理平臺創(chuàng)建數(shù)據(jù)庫 2、使用模板創(chuàng)建數(shù)據(jù)庫、使用模板創(chuàng)建數(shù)據(jù)庫 使用模板創(chuàng)建數(shù)據(jù)庫使用模板創(chuàng)建數(shù)據(jù)庫 ,用戶根據(jù)提示操作,即可創(chuàng)建數(shù)據(jù)庫。,用戶根據(jù)提示操作,即可創(chuàng)建數(shù)據(jù)庫。 使用使用 CREATE DATABASE 語句創(chuàng)建數(shù)據(jù)庫語句創(chuàng)建數(shù)據(jù)庫:數(shù)據(jù)庫的創(chuàng)建和管理數(shù)據(jù)庫的創(chuàng)建和管理Transact-SQL語言使用語言使用CREATE DATABASE命令來創(chuàng)建數(shù)據(jù)庫。該命命令來創(chuàng)建數(shù)據(jù)庫。該命令的語法如下令的語法如下: CREATE DATABASE database_name ON PRIMARY ,n , ,n LOG ON ,n FOR RESTORE

18、 :=(NAME=logical_file_name, FILENAME=os_file_name ,SIZE=size ,MAXSIZE=max_size|UNLIMITED ,F(xiàn)ILEGROWTH=growth_increment ) ,n :=FILEGROUP filegroup_name ,n各參數(shù)說明如下:各參數(shù)說明如下: database_name:數(shù)據(jù)庫的名稱,最長為128個字符。 PRIMARY:該選項是一個關(guān)鍵字,指定主文件組中的文件。 LOG ON:指明事務(wù)日志文件的明確定義。 NAME=logical_file_name:指定數(shù)據(jù)庫的邏輯名稱,這是在指定數(shù)據(jù)庫的邏輯名稱

19、,這是在SQL Server系系統(tǒng)中使用的名稱,是數(shù)據(jù)庫在統(tǒng)中使用的名稱,是數(shù)據(jù)庫在SQL Server中的標(biāo)識符。中的標(biāo)識符。 FILENAME =os_file_name :指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路:指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對應(yīng)。的邏輯名稱一一對應(yīng)。 SIZE:指定數(shù)據(jù)庫的初始容量大小。主文件大小至少與指定數(shù)據(jù)庫的初始容量大小。主文件大小至少與model數(shù)據(jù)庫中的主數(shù)據(jù)庫中的主文件相同。文件相同。 ON:允許顯式定義用于存儲數(shù)據(jù)的文件允許顯式定義用于存儲數(shù)據(jù)的文件。 UNLIMITED:指定了

20、文件將一直增長到磁盤變滿為止。指定了文件將一直增長到磁盤變滿為止。 FILEGROUP filegroup_name :這是文件組在數(shù)據(jù)庫中的唯一邏輯名稱。這是文件組在數(shù)據(jù)庫中的唯一邏輯名稱。 DEFULT:參數(shù)制定了該文件組為默認(rèn)文件組。參數(shù)制定了該文件組為默認(rèn)文件組。 FILEGROWTH=growth_increment:指定文件每次增加容量的大小,該值以指定文件每次增加容量的大小,該值以當(dāng)前文件大小的百分比或當(dāng)前文件大小的百分比或KB、MB、GB和和TB來表示。來表示。當(dāng)指定數(shù)據(jù)為當(dāng)指定數(shù)據(jù)為0時,表示文時,表示文件不增長。件不增長。 MAXSIZE=max_size:指定操作系統(tǒng)文件

21、可以增長到的最大尺寸。以指定操作系統(tǒng)文件可以增長到的最大尺寸。以KB、MB、GB和和TB為單元,默認(rèn)為為單元,默認(rèn)為MB。提示:提示: 區(qū)分NAME與FILENAME。NAME是數(shù)據(jù)庫內(nèi)部處理文件的邏輯名稱,F(xiàn)ILENAME 是數(shù)據(jù)庫在磁盤上存放文件的文件名稱,兩者可以不同。場景:場景: 你正在設(shè)計開發(fā)一個學(xué)校的圖書館系統(tǒng)。這個圖書館系統(tǒng)帶有一個藏你正在設(shè)計開發(fā)一個學(xué)校的圖書館系統(tǒng)。這個圖書館系統(tǒng)帶有一個藏書記錄的數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)采用書記錄的數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)采用SQL Server 2008 ,數(shù)據(jù)庫名為,數(shù)據(jù)庫名為TestDB。數(shù)據(jù)庫的初始大小為。數(shù)據(jù)庫的初始大小為20 MB,日志文件的

22、大小為,日志文件的大小為5 MB。 由于不能確定學(xué)校將會把數(shù)據(jù)庫安裝在哪臺由于不能確定學(xué)校將會把數(shù)據(jù)庫安裝在哪臺SQL Server 服務(wù)器上,服務(wù)器上,你希望在安裝這個系統(tǒng)的時候,能在服務(wù)器上按照要求自動創(chuàng)建數(shù)據(jù)庫。你希望在安裝這個系統(tǒng)的時候,能在服務(wù)器上按照要求自動創(chuàng)建數(shù)據(jù)庫。CREATE DATABASE TestDBON -允許顯式定義用于存儲數(shù)據(jù)的文件 - 定義數(shù)據(jù)庫主文件( NAME = TestDB_Data, - 主文件邏輯名稱 FILENAME = D:DATATransactTestDB.mdf, - 操作系統(tǒng)文件名稱,包含路徑 SIZE = 20 MB, - 主文件初始大

23、小 FILEGROWTH = 0 ) - 未啟用自動增長- 定義數(shù)據(jù)庫日志文件LOG ON ( NAME = TestDB_Log, - 日志文件邏輯名稱 FILENAME = D:DATATestDB_Log.ldf, - 包含路徑的操作系統(tǒng)文件名稱 SIZE = 5 MB, - 日志文件初始大小 FILEGROWTH = 0 ) -未啟用自動增長舉例舉例:創(chuàng)建了一個 Test 數(shù)據(jù)庫,該數(shù)據(jù)庫的主數(shù)據(jù)文件邏輯名稱為Test_data ,物理文件名為 Test.mdf,初始大小為 10MB,最大尺寸為無限大,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為 Test_log,物理文件名為 Tes

24、t.ldf,初始大小為1MB,最大尺寸為5MB,增長速度為1MB。程序清單如下:程序清單如下:CREATE DATABASE test ON PRIMARY ( NAME = test, FILENAME=C:Program FilesMicrosoft SQL ServerMSSQLdatatest.mdf,SIZE=10MB, MAXSIZE = UNLIMITED,FILEGROWTH = 10%) LOG ON ( NAME=test_log,FILENAME=C: Program Files Microsoft SQL Server MSSQL data test_log.ldf ,

25、SIZE=1MB,MAXSIZE = 5MB,FILEGROWTH = 1MB )GO 修改數(shù)據(jù)庫修改數(shù)據(jù)庫: 場景:場景: 在數(shù)據(jù)庫設(shè)計過程中,有時候需要對數(shù)據(jù)庫進行修改。可以使用SSMS 對數(shù)據(jù)庫進行修改,還可以使用 Transact-SQL 腳本語句來完成數(shù)據(jù)庫修改工作。 利用利用SQL Server管理平臺修改數(shù)據(jù)庫:管理平臺修改數(shù)據(jù)庫: 在 SQL Server 管理平臺中,右擊所要修改的數(shù)據(jù)庫,從彈出的快捷菜單中選擇【屬性】選項,出現(xiàn)如下圖所示的數(shù)據(jù)庫屬性設(shè)置對話框。 可以看到,修改或查看數(shù)據(jù)庫屬性時,屬性頁框比創(chuàng)建數(shù)據(jù)庫時多了兩個,即選項和權(quán)限頁框。利用利用SQL Server管

26、理平臺修改數(shù)據(jù)庫(選項、權(quán)限)管理平臺修改數(shù)據(jù)庫(選項、權(quán)限) 使用使用ALTER DATABASE語句修改數(shù)據(jù)庫語句修改數(shù)據(jù)庫:ALTER DATABASE database ADD FILE ,.,n TO FILEGROUP filegroup_name | ADD LOG FILE ,.,n | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name| REMOVE FILEGROUP filegroup_name| MODIFY FILE 各參數(shù)說明如下:各參數(shù)說明如下: database:要更改數(shù)據(jù)庫名稱。 ADD

27、FILE:指定要添加文件。 TO FILEGROUP :指定要將指定文件添加到的文件組。 filegroup_name:要添加指定文件的文件組的名稱。 ADD LOG FILE :指定要將日志文件添加到指定的數(shù)據(jù)庫。 ADD FILEGROUP :指定要添加的文件組。 REMOVE FILE :從數(shù)據(jù)庫系統(tǒng)表中刪除文件描述并刪除物理文件。(只有在文件為空時才能刪除) REMOVE FILEGROUP :從數(shù)據(jù)庫中刪除文件組并刪除該文件組中所有文件。 (只有在文件為空時才能刪除) MODIFY FILE :指定要更改給定的文件,更改選項包括 NAME、SIZE 、FILEGROUPTH和MAXS

28、IZE。注意:注意: 若要更改數(shù)據(jù)文件或日志文件的邏輯名稱,應(yīng)在 NAME 選項中指定要改名的邏輯文件名稱,并在 NEWNAME 選項中指定文件的新邏輯名稱。舉例:舉例:將兩個數(shù)據(jù)文件和一個事務(wù)日志文件添加到將兩個數(shù)據(jù)文件和一個事務(wù)日志文件添加到 test 數(shù)據(jù)庫中。數(shù)據(jù)庫中。程序清單如下:程序清單如下:ALTER DATABASE Test ADD FILE (NAME = Test1, FILENAME=c:Program FilesMicrosoft SQL Server MSSQL Datatest1.ndf, SIZE = 5MB, MAXSIZE = 100MB, FILEGROW

29、TH = 5MB),(NAME = Test2, FILENAME=c:Program FilesMicrosoft SQL Server MSSQL Datatest2.ndf,SIZE = 3MB,MAXSIZE = 10MB, FILEGROWTH = 1MB)GO ALTER DATABASE Test ADD LOG FILE ( NAME = testlog1, FILENAME=c:Program FilesMicrosoft SQL Server MSSQL Data testlog1.ldf, SIZE = 5MB, MAXSIZE = 100MB,F(xiàn)ILEGROWTH =

30、5MB)GO 刪除刪除數(shù)據(jù)庫數(shù)據(jù)庫: 利用SQL Server管理平臺刪除數(shù)據(jù)庫和 Drop語句刪除數(shù)據(jù)庫 在SQL Server管理平臺中,右擊所要刪除的數(shù)據(jù)庫,從彈出的快捷菜單中選擇【刪除】選項即可刪除數(shù)據(jù)庫。系統(tǒng)會彈出確認(rèn)是否要刪除數(shù)據(jù)庫對話框,單擊“確定”按鈕則刪除該數(shù)據(jù)庫。 利用 Drop語句可以從SQL Server中一次刪除一個或多個數(shù)據(jù)庫。其語法如下: Drop database database_name,n舉例:舉例:刪除創(chuàng)建的數(shù)據(jù)庫刪除創(chuàng)建的數(shù)據(jù)庫Test。程序清單如下:程序清單如下: drop database Test 收縮數(shù)據(jù)庫收縮數(shù)據(jù)庫:-減小UserDB用戶數(shù)據(jù)

31、庫中數(shù)據(jù)文件和日志文件的大小,以便在數(shù)據(jù)庫中留出10%的可用空間 n自動收縮數(shù)據(jù)庫自動收縮數(shù)據(jù)庫n手動收縮數(shù)據(jù)庫手動收縮數(shù)據(jù)庫n使用使用DBCC SHRINKDATABASE命令收縮數(shù)據(jù)庫命令收縮數(shù)據(jù)庫DBCC SHRINKDATABASE (UserDB, 10);GOUSE UserDB;GODBCC SHRINKFILE (DataFile1, 7);GO-將UserDB用戶數(shù)據(jù)庫中名為DataFile1的數(shù)據(jù)文件的大小收縮到7 MB 查看數(shù)據(jù)庫狀態(tài)查看數(shù)據(jù)庫狀態(tài)狀狀 態(tài)態(tài)描描 述述ONLINE在線狀態(tài)或聯(lián)機狀態(tài),可以執(zhí)行對數(shù)據(jù)庫的訪問在線狀態(tài)或聯(lián)機狀態(tài),可以執(zhí)行對數(shù)據(jù)庫的訪問OFFLI

32、NE離線狀態(tài)或脫機狀態(tài),數(shù)據(jù)庫不能正常使用。用戶可以人工設(shè)置,可以執(zhí)行對處于這種狀態(tài)離線狀態(tài)或脫機狀態(tài),數(shù)據(jù)庫不能正常使用。用戶可以人工設(shè)置,可以執(zhí)行對處于這種狀態(tài)的數(shù)據(jù)庫文件的移動等處理的數(shù)據(jù)庫文件的移動等處理RESTORING還原狀態(tài),正在還原主文件組的一個或多個文件。這時,數(shù)據(jù)庫不能使用還原狀態(tài),正在還原主文件組的一個或多個文件。這時,數(shù)據(jù)庫不能使用RECOVERING恢復(fù)狀態(tài),正在恢復(fù)數(shù)據(jù)庫。這是一個臨時性狀態(tài),如果恢復(fù)成功,那么數(shù)據(jù)庫自動處于在恢復(fù)狀態(tài),正在恢復(fù)數(shù)據(jù)庫。這是一個臨時性狀態(tài),如果恢復(fù)成功,那么數(shù)據(jù)庫自動處于在線狀態(tài);如果恢復(fù)失敗,那么數(shù)據(jù)庫處于不能正常使用的可疑狀態(tài)線狀

33、態(tài);如果恢復(fù)失敗,那么數(shù)據(jù)庫處于不能正常使用的可疑狀態(tài)RECOVERY PENDING恢復(fù)未完成狀態(tài)。恢復(fù)過程中缺少資源造成的問題狀態(tài)。這時數(shù)據(jù)庫不可使用,必須執(zhí)行其恢復(fù)未完成狀態(tài)。恢復(fù)過程中缺少資源造成的問題狀態(tài)。這時數(shù)據(jù)庫不可使用,必須執(zhí)行其他操作來解決這種問題他操作來解決這種問題SUSPECT可疑狀態(tài),主文件組可疑或可能被破壞。這時數(shù)據(jù)庫不能使用,必須執(zhí)行其他操作來解決這可疑狀態(tài),主文件組可疑或可能被破壞。這時數(shù)據(jù)庫不能使用,必須執(zhí)行其他操作來解決這種問題種問題EMERGENCY緊急狀態(tài),可以人工通過更改數(shù)據(jù)庫設(shè)置為該狀態(tài)。這時數(shù)據(jù)庫處于單用戶模式和只讀狀態(tài),緊急狀態(tài),可以人工通過更改數(shù)

34、據(jù)庫設(shè)置為該狀態(tài)。這時數(shù)據(jù)庫處于單用戶模式和只讀狀態(tài),只能由只能由sysadmin固定服務(wù)器角色成員訪問。主要用于對數(shù)據(jù)庫的故障排除固定服務(wù)器角色成員訪問。主要用于對數(shù)據(jù)庫的故障排除查看數(shù)據(jù)庫信息查看數(shù)據(jù)庫信息: 在在 SQL Server 2008系統(tǒng)中,可以使用一些目錄視圖、函數(shù)、存儲系統(tǒng)中,可以使用一些目錄視圖、函數(shù)、存儲過程查看有關(guān)數(shù)據(jù)庫的基本信息。過程查看有關(guān)數(shù)據(jù)庫的基本信息。 sys.databases 數(shù)據(jù)庫和文件目錄視圖可以查看有關(guān)數(shù)據(jù)庫的基本數(shù)據(jù)庫和文件目錄視圖可以查看有關(guān)數(shù)據(jù)庫的基本信息,信息,sys.database_files可以查看有關(guān)數(shù)據(jù)庫文件的信息,可以查看有關(guān)數(shù)

35、據(jù)庫文件的信息,sys.filegroups 可以查看有關(guān)數(shù)據(jù)庫文件組的信息,可以查看有關(guān)數(shù)據(jù)庫文件組的信息,sys.master_files 可以查看數(shù)據(jù)庫文件的基本信息和狀態(tài)信息。可以查看數(shù)據(jù)庫文件的基本信息和狀態(tài)信息。查看數(shù)據(jù)庫查看數(shù)據(jù)庫狀態(tài):狀態(tài): use 教務(wù)管理系統(tǒng)教務(wù)管理系統(tǒng) go select DATABASEPROPERTYEX(教務(wù)管理系統(tǒng)教務(wù)管理系統(tǒng),Recovery) 就會顯示出此數(shù)據(jù)庫當(dāng)前的恢復(fù)模式。就會顯示出此數(shù)據(jù)庫當(dāng)前的恢復(fù)模式。數(shù)據(jù)庫操作數(shù)據(jù)庫操作分離數(shù)據(jù)庫分離數(shù)據(jù)庫: 分離數(shù)據(jù)庫是指將數(shù)據(jù)庫從分離數(shù)據(jù)庫是指將數(shù)據(jù)庫從SQL Server實例中刪除,但是該數(shù)據(jù)庫

36、的數(shù)據(jù)文實例中刪除,但是該數(shù)據(jù)庫的數(shù)據(jù)文件和事務(wù)日志文件依然保持不變。這樣可以將該數(shù)據(jù)庫附加到任何的件和事務(wù)日志文件依然保持不變。這樣可以將該數(shù)據(jù)庫附加到任何的SQL Server實例中。實例中。 使用使用sp_detach_db存儲過程來執(zhí)行數(shù)據(jù)庫分離操作,存儲過程來執(zhí)行數(shù)據(jù)庫分離操作,還還可使用可使用SQL Server Management Studio工具來執(zhí)行分離操作。工具來執(zhí)行分離操作。附加附加數(shù)據(jù)庫數(shù)據(jù)庫: 將分離后的數(shù)據(jù)庫附加到某個將分離后的數(shù)據(jù)庫附加到某個Microsoft SQL Server實例中時,可以使用實例中時,可以使用CREATE DATABASE語句語句;還還可使用可使用SSMS工具來執(zhí)行分離操作。工具來執(zhí)行分離操作。 附加數(shù)據(jù)庫時所有的數(shù)據(jù)文件必須都是可用的。在附加數(shù)據(jù)庫過程中,如附加數(shù)據(jù)庫時所有的數(shù)據(jù)文件必須都是可用的。在附加數(shù)據(jù)庫過程中,如果沒有日志文件,系統(tǒng)將自動創(chuàng)建一個新的日志文件。果沒有日志文件,系統(tǒng)將自動創(chuàng)建一個新的日志文件。復(fù)制和移動數(shù)據(jù)庫復(fù)制和移動數(shù)據(jù)庫: 使用使用 SQL Server 2008 的【復(fù)制數(shù)據(jù)庫向?qū)А抗ぞ呖梢詮?fù)制或移動數(shù)據(jù)的【復(fù)制數(shù)據(jù)庫向?qū)А抗ぞ呖梢詮?fù)制或移動數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫的副本,在庫,創(chuàng)建數(shù)據(jù)庫的副本,在SQL 不同實例間復(fù)制和移動數(shù)據(jù)庫,以及將不同實例間復(fù)制和移動數(shù)據(jù)庫,以及將SQL 20

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論