數(shù)據(jù)庫的創(chuàng)建與管理1.ppt_第1頁
數(shù)據(jù)庫的創(chuàng)建與管理1.ppt_第2頁
數(shù)據(jù)庫的創(chuàng)建與管理1.ppt_第3頁
數(shù)據(jù)庫的創(chuàng)建與管理1.ppt_第4頁
數(shù)據(jù)庫的創(chuàng)建與管理1.ppt_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù) 據(jù) 庫 原 理 及 應(yīng) 用 (SQL Server 2005),授課教師:* 2019年9月16日,第6章 數(shù)據(jù)庫的創(chuàng)建與管理,2019/9/16,第6章 數(shù)據(jù)庫的創(chuàng)建與管理,任務(wù)目標(biāo): 理解數(shù)據(jù)庫存儲結(jié)構(gòu); 理解數(shù)據(jù)庫文件和事務(wù)日志文件的功能和作用; 了解文件組的類型及其作用; 了解數(shù)據(jù)庫分類和數(shù)據(jù)庫對象; 掌握利用T-SQL語句創(chuàng)建、修改和刪除數(shù)據(jù)庫的操作方法; 掌握利用SSMS創(chuàng)建、修改和刪除數(shù)據(jù)庫的操作方法; 會使用T-SQL語句和使用SSMS分離和附加數(shù)據(jù)庫; 了解文件組的作用并會利用文件組來管理數(shù)據(jù)文件。,2019/9/16,第6章 數(shù)據(jù)庫的創(chuàng)建與管理,6.1 SQL Server 數(shù)據(jù)庫簡介 6.2 使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫 6.3 使用SSMS創(chuàng)建和管理數(shù)據(jù)庫 本章小結(jié) 習(xí)題與實驗,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.1 數(shù)據(jù)庫結(jié)構(gòu),1數(shù)據(jù)庫文件 SQL Server 2005用文件來存放數(shù)據(jù)庫,即將數(shù)據(jù)庫映射到操作系統(tǒng)文件上。 SQL Server 2005中的文件通常有兩種類型:邏輯文件名和物理文件名。邏輯文件名是在所有T-SQL語句中引用物理文件時所使用的名稱。邏輯文件名必須符合標(biāo)識符的命令規(guī)則,而且數(shù)據(jù)庫中的邏輯文件名必須是唯一的。物理文件名是包括目錄路徑的物理文件名。它必須符合操作系統(tǒng)的命名規(guī)則。邏輯文件名和物理文件名是一一對應(yīng)的,其對應(yīng)關(guān)系由SQL Server系統(tǒng)來維護。,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.1 數(shù)據(jù)庫結(jié)構(gòu),SQL Server 2005數(shù)據(jù)庫文件有3類: (1)主數(shù)據(jù)文件(也稱主文件):主數(shù)據(jù)文件主要用來存儲數(shù)據(jù)庫的啟動信息、部分或全部數(shù)據(jù),是數(shù)據(jù)庫的關(guān)鍵文件。主數(shù)據(jù)文件是數(shù)據(jù)庫的起點,包含指向數(shù)據(jù)庫中其他文件的指針。每個數(shù)據(jù)庫都有一個主數(shù)據(jù)庫文件。主數(shù)據(jù)庫文件推薦擴展名為.mdf。 (2)次要數(shù)據(jù)文件(也稱輔助數(shù)據(jù)文件):除主數(shù)據(jù)文件以外的所有其他數(shù)據(jù)文件都是次要數(shù)據(jù)文件。用于存儲主數(shù)據(jù)文件中未存儲的剩余數(shù)據(jù)和數(shù)據(jù)庫對象。一個數(shù)據(jù)庫可以沒有,也可以有多個次要數(shù)據(jù)文件。次要數(shù)據(jù)文件推薦擴展名為 .ndf。 (3)事務(wù)日志文件(簡稱日志文件):存放用來恢復(fù)數(shù)據(jù)庫所需的事務(wù)日志信息,每個數(shù)據(jù)庫必須有一個或多個日志文件。事務(wù)日志文件推薦擴展名為.ldf。,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.1 數(shù)據(jù)庫結(jié)構(gòu),一般情況下,一個數(shù)據(jù)庫可以只有一個主數(shù)據(jù)庫文件和一個事務(wù)日志文件組成,如果數(shù)據(jù)庫很大,則可以設(shè)置多個次要數(shù)據(jù)文件和多個日志文件,并將它們放在不同的磁盤上,以便提高數(shù)據(jù)存取和處理的效率。 【注意】SQL Server 2005不強制使用文件擴展名,但使用上述推薦擴展名,有利于標(biāo)識文件的各種用途和類型。 2數(shù)據(jù)庫文件組 SQL Server 2005中提供了兩種類型的文件組:主文件組和用戶定義文件組。 (1)主文件組包括主數(shù)據(jù)文件和任何沒有明確分配給其他文件組的數(shù)據(jù)文件。,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.1 數(shù)據(jù)庫結(jié)構(gòu),(2)用戶定義文件組是在CREATE DATEBASE 或ALTER DATABASE 語句中使用FILEGROUP關(guān)鍵字指定的任何文件組。 一個文件組可以包含多個文件,但是一個文件只能屬于一個文件組。每個數(shù)據(jù)庫中均有一個文件組被指定為默認(rèn)文件組。如果創(chuàng)建表或索引時未指定文件組,則將其分配到默認(rèn)文件組。一次只能有一個文件組作為默認(rèn)文件組。db_owner固定數(shù)據(jù)庫角色成員可以將默認(rèn)文件組從一個文件組切換到另一個文件組。如果沒有指定默認(rèn)文件組,則將主文件組作為默認(rèn)文件組。但因為日志文件要與數(shù)據(jù)空間分開管理,所以不包括在文件組內(nèi)。 SQL Server的數(shù)據(jù)文件和文件組必須遵循以下規(guī)則: 一個文件和文件組只能被一個數(shù)據(jù)庫所使用 一個文件只能屬于一個文件組 日志文件不能屬于文件組,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.1 數(shù)據(jù)庫結(jié)構(gòu),3數(shù)據(jù)庫對象 SQL Server 2005數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上被組織成一系列對象,當(dāng)一個用戶連接到數(shù)據(jù)庫后,就能看到這些邏輯對象,而不是物理的數(shù)據(jù)庫文件。 SQL Server 2005中數(shù)據(jù)庫對象有表、視圖、存儲過程、觸發(fā)器、用戶定義數(shù)據(jù)類型、用戶自定義函數(shù)、索引、規(guī)則、默認(rèn)值等。 在SQL Server 2005中創(chuàng)建每個對象都必須有一個唯一的完全限定對象名,即對象的全名,它由4部分組成:服務(wù)器名、數(shù)據(jù)庫名、所有者名和對象名,各個部分之間用“”連接。 格式為:server.database.owner.object,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.1 數(shù)據(jù)庫結(jié)構(gòu),使用當(dāng)前數(shù)據(jù)庫內(nèi)的對象可以省略完全限定對象名的某部分,省略的部分系統(tǒng)將使用默認(rèn)值或當(dāng)前值,如: server.databaseobject serverowner.object database.owner.object server.object owner.object object,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.2 數(shù)據(jù)庫的分類,SQL Server 2005數(shù)據(jù)庫分為:系統(tǒng)數(shù)據(jù)庫、實例數(shù)據(jù)庫和用戶數(shù)據(jù)庫。 1系統(tǒng)數(shù)據(jù)庫 依次打開SSMS中“對象資源管理器”對話框中的“服務(wù)器”|“數(shù)據(jù)庫”|“系統(tǒng)數(shù)據(jù)庫”文件夾,可以看到4個系統(tǒng)數(shù)據(jù)庫,如圖6-1所示。 圖6-1 系統(tǒng)數(shù)據(jù)庫 圖6-1 系統(tǒng)數(shù)據(jù)庫,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.2 數(shù)據(jù)庫的分類,SQL Server 2005系統(tǒng)數(shù)據(jù)庫分別是master數(shù)據(jù)庫、tempdb數(shù)據(jù)庫、model數(shù)據(jù)庫和msdb數(shù)據(jù)庫。 (1)master數(shù)據(jù)庫 master數(shù)據(jù)庫記錄SQL Server系統(tǒng)的所有系統(tǒng)級信息。包括實例范圍內(nèi)的元數(shù)據(jù)(如登錄賬戶)、端點、鏈接服務(wù)器和系統(tǒng)配置數(shù)據(jù)設(shè)置。master數(shù)據(jù)庫記錄了所有其他數(shù)據(jù)庫是否存在以及這些數(shù)據(jù)庫文件的位置。另外,數(shù)據(jù)庫還記錄了SQL Server的初始化信息。因此,如果master數(shù)據(jù)庫不可用,則SQL Server將無法啟動。,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.2 數(shù)據(jù)庫的分類,(2)tempdb數(shù)據(jù)庫 tempdb數(shù)據(jù)庫是連接到SQL Server實例的所有用戶都可用的全局資源,它保存了所有臨時表和臨時存儲過程。另外,它還用來滿足所有其他臨時存儲的要求,如存儲SQL Server生成的臨時工作表。每次啟動SQL Server時,都要重新創(chuàng)建tempdb,以便系統(tǒng)啟動時,該數(shù)據(jù)庫總是空的。在斷開連接時,系統(tǒng)會自動刪除臨時表和存儲過程,并且在系統(tǒng)關(guān)閉后沒有活動鏈接。因此,tempdb中不會有什么內(nèi)容從一個SQL Server會話保存到另一個會話。,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.2 數(shù)據(jù)庫的分類,(3)model數(shù)據(jù)庫 model數(shù)據(jù)庫是在SQL Server實例上創(chuàng)建的所有數(shù)據(jù)庫的模板。因為每次啟動SQL Server時都會創(chuàng)建tempdb數(shù)據(jù)庫,所以tempdb數(shù)據(jù)庫必須始終存在于SQL Server系統(tǒng)中。model數(shù)據(jù)庫相當(dāng)于一個模子,所有在系統(tǒng)中創(chuàng)建的數(shù)據(jù)庫的內(nèi)容,在剛創(chuàng)建時都和數(shù)據(jù)庫完全一樣??梢栽跀?shù)據(jù)庫中創(chuàng)建表或其它數(shù)據(jù)庫對象,這些對象可以供以后建立的數(shù)據(jù)庫所繼承。 (4)msdb數(shù)據(jù)庫 msdb數(shù)據(jù)庫由SQL Server代理(SQL Server Agent)來計劃警報和作業(yè)。,2019/9/16,6.1 SQL Server 數(shù)據(jù)庫簡介,6.1.2 數(shù)據(jù)庫的分類,2實例數(shù)據(jù)庫 AdventureWorks、AdventureWorks DW是SQL Server 2005中的實例數(shù)據(jù)庫,此類數(shù)據(jù)庫是基于一個生產(chǎn)公司,以簡單、易于理解的方式來展示SQL Server 2005。 3用戶數(shù)據(jù)庫 用戶根據(jù)數(shù)據(jù)庫設(shè)計創(chuàng)建的數(shù)據(jù)庫,一般是用來解決某一具體實際問題的數(shù)據(jù)庫。如學(xué)生成績管理數(shù)據(jù)庫(SGMS),教務(wù)管理數(shù)據(jù)庫(EDUC)等。,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.1創(chuàng)建數(shù)據(jù)庫,T-SQL提供了數(shù)據(jù)庫創(chuàng)建語句CREATE DATABASE,其語法形式如下: CREATE DATABASE 數(shù)據(jù)庫名 ON ,n ,n LOG ON ,n,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.1創(chuàng)建數(shù)據(jù)庫,其中,各參數(shù)的含義如下: 數(shù)據(jù)庫名:是所創(chuàng)建數(shù)據(jù)庫的邏輯名稱。數(shù)據(jù)庫名稱在當(dāng)前服務(wù)器中必須唯一且符合標(biāo)識符的命名規(guī)則,最多可以包含128個字符; ON:用于指定數(shù)據(jù)文件及文件組屬性,具體屬性值在中指定;的詳細(xì)格式如下: :=PRIMARY (NAME=邏輯文件名, FILENAME=存放數(shù)據(jù)庫的物理路徑和文件名 ,SIZE=數(shù)據(jù)文件的初始大小 ,MAXSIZE=指定文件的最大大小 ,FILEGROWTH=指定文件每次的增量),2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.1創(chuàng)建數(shù)據(jù)庫,LOG ON :用于指定事務(wù)日志文件的屬性,具體屬性值在中指定。 如果在定義時沒有指定ON子句和LON ON 子句,系統(tǒng)將默認(rèn)設(shè)置,自動生成一個主數(shù)據(jù)文件和一個事務(wù)日志文件,并將文件存儲在系統(tǒng)默認(rèn)路徑上。 任務(wù)6-1 創(chuàng)建一個名為TestSGMS的測試數(shù)據(jù)庫,文件及其他選項均為默認(rèn)。 任務(wù)分析:由于沒有指定數(shù)據(jù)文件名,默認(rèn)的情況下,命名主數(shù)據(jù)文件為TestSGMS.MDF,事務(wù)日志文件為TestSGMS_log.LOG,同時由于按復(fù)制model數(shù)據(jù)庫的方式來創(chuàng)建新的數(shù)據(jù)庫,主數(shù)據(jù)文件和事務(wù)日志文件的大小都與model數(shù)據(jù)庫的主數(shù)據(jù)文件和事務(wù)日志文件的大小一致,并且可以自由增長。實現(xiàn)本任務(wù)的程序為: CREATE DATABASE TestSGMS GO,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.1創(chuàng)建數(shù)據(jù)庫,任務(wù)6-2 創(chuàng)建一個名為SGMS學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫。要求有3個文件,其中,主數(shù)據(jù)文件為10MB,最大大小為50MB,每次增長20%;輔助數(shù)據(jù)文件屬于文件組group,文件為10MB,大小不受限制,每次增長10%;事務(wù)日志文件大小為20MB,最大大小為100MB,每次增長10MB。文件存儲為C:db路徑下。 任務(wù)分析:本任務(wù)中,要求創(chuàng)建的數(shù)據(jù)庫是SGMS,數(shù)據(jù)庫中有3個文件,分別是主數(shù)據(jù)文件、次數(shù)據(jù)文件和事務(wù)日志文件,創(chuàng)建時每個文件都要給出邏輯文件和物理文件名稱,文件的大小、最大大小、增長方式等詳細(xì)信息。實現(xiàn)代碼如圖6-2所示。,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,圖6-2 創(chuàng)建SGMS數(shù)據(jù)庫,6.2.1創(chuàng)建數(shù)據(jù)庫,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.1創(chuàng)建數(shù)據(jù)庫,【注意】 (1)服務(wù)器中不能存在同名的數(shù)據(jù)庫名,所以類似CREATE語句均只能正確執(zhí)行一次,下一次執(zhí)行時,將提示該對象已存在; (2)創(chuàng)建數(shù)據(jù)庫之前,文件存儲路徑C:db必須存在。,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,隨著時間變化,數(shù)據(jù)庫在運行過程中也會發(fā)生變化,如文件增長等。所以數(shù)據(jù)庫管理員要經(jīng)常對數(shù)據(jù)庫進(jìn)行管理和維護。日常的管理任務(wù)包括查看數(shù)據(jù)庫信息、修改數(shù)據(jù)庫屬性、刪除數(shù)據(jù)庫等操作。 1使用T-SQL語句查看數(shù)據(jù)庫信息 (1)使用系統(tǒng)存儲過程sp_helpdb查看數(shù)據(jù)庫信息。其語法格式如下: Sp_helpdb 數(shù)據(jù)庫名 1)不指定數(shù)據(jù)庫參數(shù),將顯示服務(wù)器中所有數(shù)據(jù)庫的信息,如圖6-3所示。 圖6-3 查看服務(wù)器中所有數(shù)據(jù)庫的信息圖6-3 查看服務(wù)器中所有數(shù)據(jù)庫的信息,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,2)指定具體數(shù)據(jù)庫參數(shù),將顯示服務(wù)器中所指定數(shù)據(jù)庫的信息,如圖6-4所示。 圖6-4 查看SGMS數(shù)據(jù)庫的信息,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,(2)使用系統(tǒng)存儲過程sp_database查看數(shù)據(jù)庫信息,其語法格式如下: sp_database 此命令用來顯示服務(wù)器中所有可以使用的數(shù)據(jù)庫的信息,如圖6-5所示。 圖6-5 查看服務(wù)器中可以使用的數(shù)據(jù)庫信息,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,(3)使用系統(tǒng)存儲過程sp_helpfile查看數(shù)據(jù)庫中文件的信息。其語法格式如下: sp_helpfile 文件名 1)不指定文件名參數(shù),將顯示當(dāng)前數(shù)據(jù)庫中所有文件的信息,如圖6-6所示。 圖6-6 查看SGMS數(shù)據(jù)庫中所有文件的信息,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,2)指定具體文件名參數(shù),將顯示數(shù)據(jù)庫中指定文件的信息,如圖6-7所示。 圖6-7 查看SGMS數(shù)據(jù)庫中SGM主文件信息 (4)使用系統(tǒng)存儲過程sp_helpfilegroup,用法與sp_helpfile相似。其語法格式如下: sp_helpfilegroup 文件名 1)不指定文件名參數(shù),將顯示數(shù)據(jù)庫中所有文件的信息。 2)指定具體文件名參數(shù),將顯示數(shù)據(jù)庫中指定文件組的信息。,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,2使用T-SQL語句修改數(shù)據(jù)庫 修改數(shù)據(jù)庫包括增減數(shù)據(jù)庫文件、修改文件屬性(包括文件名和文件大小等)、修改數(shù)據(jù)庫選項等。T-SQL提供了數(shù)據(jù)庫修改語句ALTER DATABASE,其語法格式如下: ALTER DATABASE 數(shù)據(jù)庫名 ADD FILE ,n TO FILEGROUP文件組名 |ADD LOG FILE ,n |REMOVE FILE邏輯文件名 |ADD FILEGROUP文件組名 |REMOVE FILEGROUP文件組名 |MODIFY FILE |MODIFY NAME=新文件名 ,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,其中,各子句的作用如下: ADD FILE:在文件組中增加數(shù)據(jù)文件; ADD LOG:增加事務(wù)日志文件; REMOVE FILE:刪除數(shù)據(jù)文件; ADD FILEGROUP:增加文件組; REMOBE FILEGROUP:刪除文件組; MODIFY FILE:修改文件屬性; MODIFY NAME:更改數(shù)據(jù)庫的名稱。,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,下面通過一些實例來掌握ALTER DATABASE語句的使用。 任務(wù)6-3 為數(shù)據(jù)庫SGMS增加一個數(shù)據(jù)文件SGMS_DB_Data3,物理名稱為SGMS_DB_Data3.ndf,初始大小為5MB,最大大小為50MB,每次擴展1MB。 任務(wù)分析:本例中要增加數(shù)據(jù)文件,通過ADD FILE子句來實現(xiàn)。增加時要給出數(shù)據(jù)文件的物理文件名和邏輯文件名、文件的初始大小、最大文件大小和增加方式。實現(xiàn)的代碼如圖6-8所示。 圖6-8 增加數(shù)據(jù)文件SGMS_DB_data3,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,任務(wù)6-4 將數(shù)據(jù)庫SGMS的第二個數(shù)據(jù)文件SGMS_DB_data2的初始大小修改為40MB。 任務(wù)分析:修改數(shù)據(jù)文件要用MODIFY FILE子句來實現(xiàn),指定需要修改數(shù)據(jù)文件名和具體需要修改文件的屬性,本例中要修改數(shù)據(jù)文件SGMS_DB_data2的初始大小,其它的屬性不變。實現(xiàn)的代碼如圖6-9所示。 圖6-9 修改SGMS_DB_data2文件大小,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,任務(wù)6-5 刪除SGMS數(shù)據(jù)文件SGMS_DB_Data3。 任務(wù)分析:刪除數(shù)據(jù)文件要用REMOVE FILE子句來實現(xiàn)。實現(xiàn)的代碼如圖6-10所示。 圖6-10 刪除數(shù)據(jù)文件SGMS_DB_data3,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,3使用T-SQL語句刪除數(shù)據(jù)庫 T-SQL中提供的DROP DATABASE 語句可以刪除數(shù)據(jù)庫,一次可以刪除多個數(shù)據(jù)庫。其語法格式如下: DROP DATABASE database ,n 任務(wù)6-6 刪除測試數(shù)據(jù)庫TestSGMS。 任務(wù)分析:當(dāng)數(shù)據(jù)庫不再使用,或者已將其移到其他數(shù)據(jù)庫服務(wù)器上時,可以刪除該數(shù)據(jù)庫。刪除數(shù)據(jù)庫后,文件及其數(shù)據(jù)都從服務(wù)器的磁盤中被刪除,一旦刪除將無法恢復(fù),除非已經(jīng)對數(shù)據(jù)庫做了備份,因此刪除數(shù)據(jù)庫之前一定要格外小心。不管數(shù)據(jù)庫所處是何種狀態(tài)(脫機、只讀和可疑),都可以將其刪除。 圖6-11 刪除數(shù)據(jù)庫SGMS,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.2管理數(shù)據(jù)庫,【注意】 (1)不能刪除系統(tǒng)數(shù)據(jù)庫; (2)刪除數(shù)據(jù)庫后,應(yīng)備份master數(shù)據(jù)庫,因為刪除數(shù)據(jù)庫將更新數(shù)據(jù)庫中的信息; (3)如果數(shù)據(jù)庫已經(jīng)損壞,不能刪除復(fù)制,可以首先使用ALTER DATABASE語句將數(shù)據(jù)庫設(shè)置為脫機,然后再刪除數(shù)據(jù)庫; (4)如果數(shù)據(jù)庫涉及日志傳送操作,應(yīng)在刪除數(shù)據(jù)庫之前取消日志傳送操作。,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.3分離和附加數(shù)據(jù)庫,SQL Server 2005允許分離數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件,然后將其重新附加到另一臺服務(wù)器。分離數(shù)據(jù)庫將從SQL Server刪除數(shù)據(jù)庫,但是保持在組成該數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件中的數(shù)據(jù)庫完好無損。然后這些數(shù)據(jù)和事務(wù)日志文件可以用來將數(shù)據(jù)庫附加到任何SQL Server實例上,包括從中分離該數(shù)據(jù)庫的服務(wù)器。分離和附加數(shù)據(jù)庫的功能作用有: 將數(shù)據(jù)庫移動到其他計算機的SQL Server中使用; 改變存放數(shù)據(jù)庫數(shù)據(jù)文件和日志文件的物理位置。 1分離數(shù)據(jù)庫 SQL Server中用執(zhí)行系統(tǒng)存儲過稱sp_detach_db來實現(xiàn)。其格式如下: EXEC sp_detach_db 數(shù)據(jù)庫名,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.3分離和附加數(shù)據(jù)庫,任務(wù)6-7 將SGMS數(shù)據(jù)庫從當(dāng)前計算機中分離。 任務(wù)分析:分離數(shù)據(jù)庫是將數(shù)據(jù)庫文件從當(dāng)前SQL Server 實例脫離,即數(shù)據(jù)庫從某臺計算機上移走。實現(xiàn)代碼如圖6-12所示:,圖6-13 附加SGMS數(shù)據(jù)庫,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.4使用文件組管理數(shù)據(jù)文件,為了達(dá)到分配和管理的目的,可以將數(shù)據(jù)庫文件分成不同的文件組??梢酝ㄟ^文件組來實現(xiàn)對文件的管理,主題包括將文件組添加到數(shù)據(jù)庫中、從數(shù)據(jù)庫中刪除文件組和設(shè)置默認(rèn)文件組。 1將文件組添加到數(shù)據(jù)庫 任務(wù)6-9 向數(shù)據(jù)庫SGMS中添加文件組fgroup。 任務(wù)分析:將文件組添加到數(shù)據(jù)庫中,可以用ALTER DATABASE語句中ADD FILEGROUP子句來實現(xiàn)。實現(xiàn)本任務(wù)的代碼如圖6-14所示:,圖6-14 為SGMS數(shù)據(jù)庫增加一個文件組,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.4使用文件組管理數(shù)據(jù)文件,2從數(shù)據(jù)庫中刪除文件組 任務(wù)6-10 從數(shù)據(jù)庫SGMS中刪除文件組fgroup。 任務(wù)分析:從數(shù)據(jù)庫中刪除文件組可以使用ALTER DATABASE語句中REMOVE FILEGROUP子句來實現(xiàn),實現(xiàn)本任務(wù)的代碼如圖6-15所示: 【注意】刪除文件組時,要確保文件組為空,否則無法刪除。,圖6-15 刪除文件組fgroup,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.4使用文件組管理數(shù)據(jù)文件,3設(shè)置數(shù)據(jù)庫默認(rèn)文件組 設(shè)置默認(rèn)文件組,通過修改數(shù)據(jù)庫ALTER DATABASE來實現(xiàn),其格式如下: MODIFY FILEGROUP 文件組名 | DEFAULT | NAME = 新文件組名 子句中參數(shù)如下: :對文件組設(shè)置只讀(READ_ONLY)或讀/寫(READ_WRITE)屬性; DEFAULT:將當(dāng)前文件組設(shè)置為默認(rèn)數(shù)據(jù)庫文件組; NAME =新文件組名:更改文件組名稱為“新文件組名”。,圖6-16刪除文件組fgroup,2019/9/16,6.2使用T-SQL腳本創(chuàng)建和管理數(shù)據(jù)庫,6.2.4使用文件組管理數(shù)據(jù)文件,任務(wù)6-11 將SGMS數(shù)據(jù)庫中fgroup文件組設(shè)置為默認(rèn)文件組。 實現(xiàn)本任務(wù)的代碼及執(zhí)行結(jié)果如圖6-16所示: 【注意】一個數(shù)據(jù)庫中只能有一個文件組作為默認(rèn)文件組。設(shè)置默認(rèn)文件組之前要確保該文件組中已經(jīng)包含文件。,圖6-16刪除文件組fgroup,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.1創(chuàng)建數(shù)據(jù)庫,任務(wù)6-12 創(chuàng)建學(xué)生成績管理數(shù)據(jù)庫SGMS。 在SSMS中創(chuàng)建數(shù)據(jù)庫的具體步驟如下: (1)打開SSMS并連接到相應(yīng)的服務(wù)器。在“對象資源管理器”中,逐級展開 “服務(wù)器”|“數(shù)據(jù)庫”,右擊“數(shù)據(jù)庫”節(jié)點,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(N).”,如圖6-17所示。,圖6-17 創(chuàng)建新數(shù)據(jù)庫,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.1創(chuàng)建數(shù)據(jù)庫,(2)在彈出的“新建數(shù)據(jù)庫”對話框中,左側(cè)“選擇頁”中包括“常規(guī)”、“選項”和“文件組”3項,默認(rèn)顯示的是“常規(guī)”選項,如圖6-18所示。在“常規(guī)”選項卡中,可以設(shè)置新建數(shù)據(jù)庫的名稱、數(shù)據(jù)庫的所有者、數(shù)據(jù)文件、事務(wù)日志文件等信息。本例中要建立SGMS數(shù)據(jù)庫,在彈出“數(shù)據(jù)庫名稱”文本框中輸入SGMS,此時,系統(tǒng)為數(shù)據(jù)庫設(shè)置了兩個必須的文件。,圖6-18 “新建數(shù)據(jù)庫”對話框,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.1創(chuàng)建數(shù)據(jù)庫,(3)可以對主文件和事務(wù)日志文件的屬性進(jìn)行修改。例如要修改主數(shù)據(jù)文件的“自動增長”選項,可以單擊其后的按鈕,將顯示“更改SGMS的自動增長設(shè)置”對話框,如圖6-19所示。在對話框中可以設(shè)置文件增長方式以兆字節(jié)增長還是以百分比增長,以及每次增長的幅度?!白畲笪募笮 笨梢栽O(shè)置文件的最大大小或不限制文件增長。設(shè)置完成后,單擊“確定”按鈕,返回“新建數(shù)據(jù)庫”對話框。,圖6-19“更改SGMS的自動增長設(shè)置”對話框,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.1創(chuàng)建數(shù)據(jù)庫,(4)最后單擊“確定”按鈕,系統(tǒng)會根據(jù)用戶設(shè)置的信息完成數(shù)據(jù)庫的創(chuàng)建。在SSMS的“對象資源管理器”中,會顯示創(chuàng)建的數(shù)據(jù)庫SGMS,如圖6-20所示。,圖6-20 查看新建的數(shù)據(jù)庫,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.1創(chuàng)建數(shù)據(jù)庫,可以根據(jù)用戶設(shè)置的數(shù)據(jù)庫文件存儲路徑找到創(chuàng)建的數(shù)據(jù)庫文件。默認(rèn)情況下,在本機的C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData下生成物理數(shù)據(jù)庫文件,如圖6-21所示。,圖6-21 數(shù)據(jù)庫文件及路徑,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.2管理數(shù)據(jù)庫,管理數(shù)據(jù)庫包括查看數(shù)據(jù)庫信息、修改數(shù)據(jù)庫、刪除數(shù)據(jù)庫等操作。 1查看數(shù)據(jù)庫信息 任務(wù)6-13 查看SGMS數(shù)據(jù)庫信息。 任務(wù)分析:使用SSMS查看數(shù)據(jù)庫信息比較方便,可以按以下方法實現(xiàn)。 在SSMS“對象資源管理器”中,展開“服務(wù)器”|“數(shù)據(jù)庫”,右擊數(shù)據(jù)庫SGMS,在彈出的快捷菜單中選擇“屬性”命令,打開如圖6-22所示的“數(shù)據(jù)庫屬性”對話框,其中包含“常規(guī)”、“文件”、“文件組”、“選項”、“權(quán)限”、“擴展屬性”、“鏡像”和“事務(wù)日志傳送”8個選擇頁??梢酝ㄟ^它們來查看數(shù)據(jù)庫的基本屬性。,圖6-22 SGMS“數(shù)據(jù)庫屬性”對話框,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.2管理數(shù)據(jù)庫,2修改數(shù)據(jù)庫 修改數(shù)據(jù)庫包括增減數(shù)據(jù)庫文件、修改文件屬性、修改數(shù)據(jù)庫選項等。 在SSMS“對象資源管理器”中,展開“服務(wù)器”|“數(shù)據(jù)庫”,右擊數(shù)據(jù)庫SGMS,在彈出的快捷菜單中選擇“屬性”命令,打開如圖6-18所示的“數(shù)據(jù)庫屬性”對話框,可以通過選擇頁來修改數(shù)據(jù)庫的基本屬性。 (1)增減數(shù)據(jù)庫文件和文件組。用戶可以使用“文件”選項增減數(shù)據(jù)庫文件或修改數(shù)據(jù)庫文件屬性。使用“文件組”選項可以增加或刪除一個文件組,修改現(xiàn)有文件組的屬性。 (2)修改數(shù)據(jù)庫選項。使用“選項”可以修改數(shù)據(jù)庫的選項。只需要單擊要修改的屬性值后的下拉列表按鈕,選擇True或False就可以了。,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.2管理數(shù)據(jù)庫,比較常用的數(shù)據(jù)庫選項有: 限制訪問:即限制訪問數(shù)據(jù)庫的用戶。包括MULTI_USER(多用戶)、SINGLE_USER(單用戶)和RESTRICTED_USER(受限用戶)三種。 只讀:即數(shù)據(jù)庫中的數(shù)據(jù)只能讀取,不能對它進(jìn)行修改。 自動關(guān)閉:用于指定數(shù)據(jù)庫在沒有用戶訪問并且所有進(jìn)程結(jié)束時自動關(guān)閉,釋放所有資源,當(dāng)又有新的用戶要求連接時,數(shù)據(jù)庫自動打開。數(shù)據(jù)庫自動關(guān)閉后,數(shù)據(jù)庫文件可以像普通文件一樣處理,所以這個選項很適合移動用戶。而對于網(wǎng)絡(luò)應(yīng)用數(shù)據(jù)庫,則最好不要設(shè)置這個選項。 自動增減:當(dāng)數(shù)據(jù)或日志量較少時自動縮小數(shù)據(jù)庫文件的大小,當(dāng)設(shè)置了只讀屬性時,這個選項失效。,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.2管理數(shù)據(jù)庫,3使用SSMS刪除數(shù)據(jù)庫 在SSMS“對象資源管理器”中右擊要刪除的數(shù)據(jù)庫,在彈出菜單中選擇“刪除”命令即可,如圖6-23所示。,圖6-23 刪除數(shù)據(jù)庫,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.3分離和附加數(shù)據(jù)庫,分離和附加數(shù)據(jù)庫的概念和作用見6.2.3。 1分離數(shù)據(jù)庫 任務(wù)6-14 分離SGMS數(shù)據(jù)庫。 任務(wù)分析:分離數(shù)據(jù)庫是將數(shù)據(jù)庫從 Microsoft SQL Server Database Engine 實例中刪除,但保留完整的數(shù)據(jù)庫及其數(shù)據(jù)文件和事務(wù)日志文件。分離數(shù)據(jù)庫可以按照以下步驟來實現(xiàn)。 (1)展開“數(shù)據(jù)庫”,右擊需要分離的用戶數(shù)據(jù)庫名。 (2)指向“任務(wù)”,再單擊“分離”。將顯示“分離數(shù)據(jù)庫“對話框,如圖6-24所示。,圖6-24 分離對話框,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.3分離和附加數(shù)據(jù)庫,(3)選中要分離的數(shù)據(jù)庫,網(wǎng)格將顯示“數(shù)據(jù)庫名稱”列中選中的數(shù)據(jù)庫的名稱。確定是否為要分離的數(shù)據(jù)庫。 (4)默認(rèn)情況下,分離操作將在分離數(shù)據(jù)庫時保留過期的優(yōu)化統(tǒng)計信息;若要更新現(xiàn)有的優(yōu)化統(tǒng)計信息,請選中“更新統(tǒng)計信息”復(fù)選框。 (5)默認(rèn)情況下,分離操作保留所有與數(shù)據(jù)庫關(guān)聯(lián)的全文目錄。若要刪除全文目錄,請清除“保留全文目錄”復(fù)選框。 (6)“狀態(tài)”列將顯示當(dāng)前數(shù)據(jù)庫狀態(tài)(“就緒”或者“未就緒”)。 (7)分離數(shù)據(jù)庫準(zhǔn)備就緒后,再單擊“確定”,即可完成。,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.3分離和附加數(shù)據(jù)庫,2附加數(shù)據(jù)庫 任務(wù)6-15 附加SGMS數(shù)據(jù)庫。 任務(wù)分析:附加數(shù)據(jù)庫是將數(shù)據(jù)庫附加到其他實例,及數(shù)據(jù)庫實例移動到另一個數(shù)據(jù)庫實例。在SSMS中附加數(shù)據(jù)庫可以按照以下方法實現(xiàn)。 (1)在對象資源管理器窗口中指向數(shù)據(jù)庫,并單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“附加”按鈕。 (2)在附加數(shù)據(jù)庫對話框中單擊“添加”按鈕,彈出“定位數(shù)據(jù)庫文件”對話框,如圖6-25所示。找到其所在路徑并選擇SGMS.mdf文件,窗口下方顯示文件所處的位置,文件名及文件類型信息,然后單擊“確定”按鈕。,圖6-25 “定位數(shù)據(jù)庫文件”對話框,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.3分離和附加數(shù)據(jù)庫,(3)在附加對話框中顯示要附加的數(shù)據(jù)SGMS以及SGMS數(shù)據(jù)庫詳細(xì)信息,如圖6-26所示,然后單擊“確定”按鈕,完成SGMS數(shù)據(jù)庫的附加。,圖6-26 附加SGMS數(shù)據(jù)庫詳細(xì)信息,2019/9/16,6.3使用SSMS創(chuàng)建和管理數(shù)據(jù)庫,6.3.4使用文件組管理數(shù)據(jù)文件,在SSMS中,利用文件組管理數(shù)據(jù)文件,可以通過如圖6-27所示的窗口中進(jìn)行。在窗口中可以實現(xiàn):將文件組添加到數(shù)據(jù)庫、從數(shù)據(jù)庫中刪除文件組、設(shè)置數(shù)據(jù)庫默認(rèn)文件組。 在“SMGS數(shù)據(jù)庫屬性”對話框中,選擇左側(cè)的“文件組”頁,在對應(yīng)的右側(cè)窗口中可以通過“添加”按鈕、“刪除”按鈕、默認(rèn)值復(fù)選框,實現(xiàn)向數(shù)據(jù)庫中添加新的文件組、刪除文件組和設(shè)置默認(rèn)文件組,可按如下具體操作實現(xiàn)。 (1)單擊“添加”按鈕,輸入文件組名稱,然后單擊“確定”按鈕,可向數(shù)據(jù)庫中添加新的文件組。 (2)選中某個文件組,可以將數(shù)據(jù)庫需要刪除文件組的文件組刪除。 (3)選定文件組名,然后單擊“默認(rèn)值”復(fù)選按鈕,可以將某個文件組設(shè)為默認(rèn)了。,圖6-27 SGMS數(shù)據(jù)庫屬性,2019/9/16,第6章 數(shù)據(jù)庫的創(chuàng)建與管理,本章首先主要介紹數(shù)據(jù)庫的存儲結(jié)構(gòu)和數(shù)據(jù)庫的分類,數(shù)據(jù)庫中的文件和文件組的概念,并通過學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫這個案例,重點介紹利用T-SQL語句和利用SSMS創(chuàng)建和修改數(shù)據(jù)庫、分離和附加數(shù)據(jù)庫的方法。最后,介紹了利用文件組來管理數(shù)據(jù)庫的具體方法。,本章小結(jié),2019/9/16,習(xí)題與實驗,【本章習(xí)題】 一選擇題 1、( C)不能放在任何文件組中。 A.主數(shù)據(jù)庫文件 B.次數(shù)據(jù)庫文件 C.事務(wù)日志文件 D.操作系統(tǒng)文件 2、每個數(shù)據(jù)庫至少包含( B)個文件。 A.1 B.2 C.3 D.4 3、每個數(shù)據(jù)庫有(B )個文件組。 A.1個 B.1個到多個 C.0到多個 D.2個 4、關(guān)于數(shù)據(jù)庫文件組,下列說法不正確的是(D )。 A.所有數(shù)據(jù)庫都至少包含一個文件組,數(shù)據(jù)庫首先創(chuàng)建時,主文件組是默認(rèn)的文件組; B.文件或文件組只能由一個數(shù)據(jù)庫使用,不能屬于不同的文件組; C.一個文件只能屬于一個文件組,不能屬于不同的文件組; D.事務(wù)日志文件必須存放在主文件組中。,2019/9/16,習(xí)題與實驗,5、在SQL Server中創(chuàng)建數(shù)據(jù)庫是,必須指明(B )。 A.存儲路徑 B.邏輯名 C.數(shù)據(jù)文件名 D.數(shù)據(jù)庫名 6、刪除數(shù)據(jù)庫的命令是(C )。

溫馨提示

  • 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

提交評論