- SQL Server 2016從入門到精通(視頻教學超值版)
- 王英英
- 3191字
- 2019-12-06 15:49:18
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語句刪除。當數據庫處于以下狀態時不能被刪除:數據庫正在使用、數據庫正在恢復、數據庫包含用于復制的對象。
- UI圖標創意設計
- Oracle從新手到高手
- Mastering Spring MVC 4
- Android 9 Development Cookbook(Third Edition)
- Mastering AndEngine Game Development
- OpenResty完全開發指南:構建百萬級別并發的Web應用
- Laravel Application Development Blueprints
- iOS開發項目化入門教程
- Laravel Design Patterns and Best Practices
- SAS編程演義
- SQL Server 2014 Development Essentials
- SQL Server 2014數據庫設計與開發教程(微課版)
- Python程序設計
- 面向對象程序設計教程(C#版)
- Python編程零基礎入門