官术网_书友最值得收藏!

2.4 管理數據庫

數據庫的管理主要包括修改數據庫、查看數據庫信息、數據庫更名和刪除數據庫。本節將介紹SQL Server中數據庫管理的內容。

2.4.1 修改數據庫

數據庫創建以后,可能會發現有些屬性不符合實際的要求,這就需要對數據庫的某些屬性進行修改,當然,可以重新建立一個數據庫,但是這樣的操作比較煩瑣。可以在SSMS的對象資源管理器中對數據庫的屬性進行修改,來更改創建時的某些設置和創建時無法設置的屬性;也可以使用ALTER DATABASE語句來修改數據庫。

1.使用對象資源管理器對數據庫進行修改

在對象資源管理器中對數據庫進行修改的步驟如下:

打開【數據庫】節點,右擊需要修改的數據庫名稱,選擇彈出菜單中的【屬性】命令,打開指定數據庫的【數據庫屬性】窗口,該窗口與在SSMS中創建數據庫時打開的窗口相似,不過這里多了幾個選項,分別是:更改跟蹤、權限、擴展屬性、鏡像和事務日志傳送,讀者可以根據需要,分別對不同的選項卡中的內容進行設置。

2.使用ALTER DATABASE語句進行修改

ALTER DATABASE語句可以進行以下的修改:增加或刪除數據文件、改變數據文件或日志文件的大小和增長方式,增加或者刪除日志文件和文件組。ALTER DATABASE語句的基本語法格式如下:

上述語句分析如下。

  • database_name:要修改的數據庫的名稱。
  • MODIFY NAME:指定新的數據庫名稱。
  • ADD FILE:向數據庫中添加文件。
  • TO FILEGROUP { filegroup_name }:將指定文件添加到文件組。filegroup_name為文件組名稱。
  • ADD LOG FILE:將要添加的日志文件添加到指定的數據庫。
  • REMOVE FILE logical_file_name:從SQL Server的實例中刪除邏輯文件并刪除物理文件。除非文件為空,否則無法刪除文件。logical_file_name是在SQL Server中引用文件時所用的邏輯名稱。
  • MODIFY FILE:指定應修改的文件。一次只能更改一個<filespec>屬性。必須在<filespec>中指定NAME,以標識要修改的文件。如果指定了SIZE,那么新大小必須比文件當前大小要大。

2.4.2 修改數據庫容量

在上一小節中,創建了一個名稱為sample_db的數據庫,數據文件的初始大小為5MB。這里修改該數據庫的數據文件大小。

1.在對象資源管理器中修改sample_db數據庫數據文件的初始大小

選擇需要修改的數據庫右擊,在彈出的快捷菜單中選擇【屬性】菜單命令,打開【數據庫屬性】窗口,單擊sample_db行的初始大小列下的文本框,重新輸入一個新值,這里輸入15。也可以單擊旁邊的兩個小箭頭按鈕,增大或者減小值,修改完成之后,單擊【確定】按鈕,這樣就成功修改了sample_db數據庫中數據文件的大小,讀者可以重新打開sample_db數據庫的屬性窗口,查看修改結果,如圖2-11所示。

圖2-11 修改數據庫大小后的效果

2.使用T-SQL語句修改sample_db數據庫數據文件的初始大小

【例2.2】將sample_db數據庫中的主數據文件的初始大小修改為15MB,輸入語句如下。

代碼執行成功之后,sample_db的初始大小將被修改為15MB。

提示

修改數據文件的初始大小時,指定的SIZE的大小必須大于或等于當前大小,如果小于,代碼將不能被執行。

2.4.3 增加數據庫容量

增加數據庫容量可以增加數據增長的最大限制,分別可以在對象資源管理器中修改,或者使用T-SQL語句修改,下面介紹這兩種方法。

1.在對象資源管理器中修改sample_db數據庫數據文件最大文件大小

具體操作步驟如下。

在sample_db數據庫的屬性窗口中,選擇左側的【文件】選項卡,在sample_db行中,單擊【自動增長】列下面的值(有一個帶省略號的按鈕),如圖2-12所示。

圖2-12 sample_db的屬性窗口

彈出【更改sample_db的自動增長設置】對話框,在【最大文件大小】文本框輸入值40,增加數據庫的增長限制,修改之后單擊【確定】按鈕,如圖2-13所示。

圖2-13 【更改數據庫自動增長設置】對話框

返回到【數據庫屬性】窗口,即可看到修改后的結果,單擊【確定】按鈕完成修改,如圖2-14所示。

圖2-14 修改自動增長

2.使用T-SQL語句增加數據庫容量

【例2.3】增加sample_db數據庫容量,輸入語句如下。

選擇【文件】|【新建】|【使用當前連接查詢】,在打開的查詢編輯器中輸入上面的代碼,輸入完成之后單擊【執行】按鈕,代碼執行成功之后,sample_db的增長最大限制值增加到50MB,如圖2-15所示。

圖2-15 修改最大增長限制

2.4.4 縮減數據庫容量

相反的,縮減數據庫容量可以減小數據增長的最大限制,修改方法與增加數據庫容量的方法相同,這里也可以分別使用兩種方式。

1.在對象資源管理器中修改sample_db數據庫中數據文件最大文件大小

與2.4.3小節中操作過程一樣,打開【更改sample_db的自動增長設置】對話框,在第2個可修改文本框中輸入一個比當前值小的數值,以縮減數據庫的增長限制,修改之后,單擊【確定】按鈕返回,在返回的【數據庫屬性】窗口中再次單擊【確定】按鈕。

2.使用T-SQL語句縮減數據庫容量

【例2.4】縮減sample_db數據庫容量,輸入語句如下。

代碼執行成功之后,sample_db的增長最大限制值縮減為25MB,如圖2-16所示。

圖2-16 縮減數據庫容量

2.4.5 查看數據庫信息

SQL Server中可以使用多種方式查看數據庫信息,例如使用目錄視圖、函數、存儲過程等。

1.使用目錄視圖

可以使用如下的目錄視圖查看數據庫基本信息。

  • 使用sys.database_files查看有關數據庫文件的信息。
  • 使用sys.filegroups查看有關數據庫組的信息。
  • 使用sys.master_files查看數據庫文件的基本信息和狀態信息。
  • 使用sys.databases數據庫和文件目錄視圖查看有關數據庫的基本信息。
2.使用函數

如果要查看指定數據庫中的指定選項信息時,可以使用DATABASEPROPERTYEX()函數,該函數每次只返回一個選項的信息。

【例2.5】要查看test數據庫的狀態信息,輸入語句如下。

執行語句之后的結果如圖2-17所示。

圖2-17 查看數據庫Status狀態信息

上述代碼中DATABASEPROPERTYEX語句中第一個參數表示要返回信息的數據庫,第二個參數則表示要返回數據庫的屬性表達式,其他的可查看的屬性參數值如表2-1所示。

表2-1 DATABASEPROPERTYEX可用屬性值

3.使用系統存儲過程

除了上述的目錄視圖和函數外,還可以使用存儲過程sp_spaceused顯示數據庫使用和保留的空間,執行代碼后效果如圖2-18所示。

圖2-18 使用存儲過程sp_spaceused

sp_helpdb存儲過程查看所有數據庫的基本信息,執行代碼后效果如圖2-19所示。

圖2-19 使用存儲過程sp_helpdb

4.使用圖形化管理工具

當然,用戶也可以在SSMS中查看數據庫信息,打開SSMS窗口之后,在【對象資源管理器】窗口中右擊要查看信息的數據庫節點,在彈出的快捷菜單中選擇【屬性】菜單命令,在彈出的【數據庫屬性】窗口中即可查看數據庫的基本信息、文件信息、文件組信息和權限信息等,如圖2-20所示。

圖2-20 查看數據庫基本信息

2.4.6 數據庫更名

數據庫更名即修改數據庫的名稱,例如這里將sample_db數據庫的名稱修改為sample_db2。

1.使用對象資源管理器修改數據庫名稱

具體操作步驟如下。

在sample_db數據庫節點上右擊,在彈出的快捷菜單中選擇【重命名】菜單命令,如圖2-21所示。

在顯示的文本框中輸入新的數據庫名稱sample_db2,如圖2-22所示。

圖2-21 選擇【重命名】菜單命令

圖2-22 修改數據庫名稱

輸入完成之后按Enter鍵確認或者在對象資源管理器中的空白處單擊,修改名稱成功。

2.使用T-SQL語句修改數據庫名稱

使用ALTER DATABASE語句可以修改數據庫名稱,其語法格式如下。

【例2.6】將數據庫sample_db2的名稱修改為sample_db,輸入語句如下。

代碼執行成功之后,sample_db2數據庫的名稱被修改為sample_db,刷新數據庫節點,可以看到修改后的新的數據庫名稱,如圖2-23所示。

圖2-23 修改數據庫名稱后的效果

2.4.7 刪除數據庫

當數據庫不再需要時,為了節省磁盤空間,可以將它們從系統中刪除,同樣這里有兩種方法。

1.使用對象資源管理器刪除數據庫

具體操作步驟如下。

例如刪除數據庫test,在對象資源管理器中,右擊需要刪除的數據庫,從彈出的快捷菜單中選擇【刪除】菜單命令或直接按下鍵盤上的Delete鍵,如圖2-24所示。

圖2-24 【刪除】菜單命令

打開【刪除對象】窗口,用來確認刪除的目標數據庫對象,在該窗口中也可以選擇是否要【刪除數據庫備份和還原歷史記錄信息】和【關閉現有連接】,單擊【確定】按鈕,之后將執行數據庫的刪除操作,如圖2-25所示。

圖2-25 【刪除對象】窗口

提示

刪除數據庫時一定要慎重,因為系統無法輕易恢復被刪除的數據,除非做過數據庫的備份。每次刪除時,只能刪除一個數據庫。

2.使用T-SQL語句刪除數據庫

在T-SQL中使用DROP語句刪除數據庫,DROP語句可以從SQL Server中一次刪除一個或多個數據庫。該語句的用法比較簡單,基本語法格式如下:

【例2.7】刪除test數據庫,輸入語句如下。

代碼執行成功之后,test數據庫將被刪除。

提示

并不是所有的數據庫在任何時候都可以被刪除,只有處于正常狀態下的數據庫,才能使用DROP語句刪除。當數據庫處于以下狀態時不能被刪除:數據庫正在使用、數據庫正在恢復、數據庫包含用于復制的對象。

主站蜘蛛池模板: 杭锦旗| 东辽县| 肥城市| 晋中市| 浙江省| 钦州市| 古丈县| 武宣县| 栾川县| 宁阳县| 凯里市| 岳阳县| 晋州市| 扶风县| 昌乐县| 梅河口市| 万全县| 剑河县| 图木舒克市| 洪江市| 桦川县| 乐东| 福建省| 台湾省| 江源县| 铁岭市| 微山县| 哈尔滨市| 永春县| 利川市| 平江县| 宁明县| 宝兴县| 昌黎县| 涞源县| 连州市| 安康市| 漾濞| 集安市| 渝中区| 澄迈县|