萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQL Sever 2008 R2 數據庫管理

SQL Sever 2008 R2 數據庫管理

  一、預備知識提要:

  1. 創建數據庫需要的權限

  至少要擁有:

  (1)create database;

  (2)create any database;

  (3)alter any database

  2. 數據庫的上限

  在同一實例中,最多可以創建32767個數據庫,超過則會失敗!

  3. 數據庫文件和文件組

  每個SQL Server 2008數據庫至少包括2個文件:

  (1)數據文件 : 包含的是 數據庫的數據和對象。它分為:主要數據文件和次

  要數據文件,擴展名分別為 .mdf和.ndf

  (2)日志文件 : 包含的是 用於恢復數據庫時所需要的信息。它分為:主要日志

  文件和次要日志文件,擴展名都為.ldf

  技巧:

  在默認情況下,數據庫的數據文件和日志文件都保存在同一目錄下,但這並

  不是最佳方案,為了提高存儲速度,

  強烈建議:

  將數據文件和日志文件保存在不同的驅動器上!

  文件組

  為了方便對數據庫文件進行管理,可以將數據庫文件集中起來放在文件組中.

  每個數據庫都有一個主要文件組.該組包括主要數據文件和未放入其他文件組的

  所有次要文件。當然用戶也可自行定義不同的文件組。

  4. 數據庫狀態

  SQL Server 2008數據庫永遠處於特定的狀態中,包括7種狀態:

  (1)online : 可以對數據進行訪問。(在線)

  (2)offline: 數據庫無法使用。(離線)

  (3)restoring : 表示正在還原主文件組的一個或多個文件,或正在離線還原一個

  或多個輔助文件,此時數據庫不可用。(還原)

  (4)recovering : 表示正在恢復數據庫。該狀態是個暫時性的狀態,恢復成功

  後,數據庫會自動回到在線狀態。(恢復)

  (5)recovering pending : 此時數據庫並未損壞,但很有可能缺少文件。此時

  數據庫不可用,並等待用戶執行操作來完成恢復工作。(恢復等待)

  (6)suspect : 表示數據庫裡的文件組(至少是主文件組)可疑或已經損壞,SQL

  Server 2008啟動過程無法恢復數據庫,此時數據不能使用。(可疑)

  (7)emergency : 一般用於故障排除。此時數據庫處於單用戶模式,可以修復

  或還原。數據庫標記為只讀,並禁用日志記錄,只有具備sysadmin服務

  器角色的成員才能訪問。(緊急)

  二、 舉例說明

  例一: 創建一個數據庫,所有的設置采用默認值.

  create database 測試數據庫

  例二: 創建一個數據庫,指定數據庫的數據文件所在位置.

  create database 例二數據庫

  on

  (

  name='例二數據庫',

  filename='d:DBtest例二數據庫.mdf'

  )

  例三:創建一個數據庫,指定數據庫的數據文件所在位置、初始容量、最大容量

  和文件增長的數量。

  create database 例三數據庫

  on

  (

  name='例三數據庫',

  filename='d:DBtest例三數據庫.mdf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  )

  例四: 創建一個數據庫,指定數據庫的數據文件和日志文件所在位置.

  create database 例四數據庫

  on

  (

  name='例四數據庫數據文件',

  filename='D:DBtest例四數據庫數據文件.mdf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  )

  log on

  (

  name='例四數據庫日志文件’,

  filename='D:DBtest例四數據庫日志文件.ldf'

  )

  例五:創建一個數據庫,它總共包含五個數據文件和兩個自定義的文件組。

  create database 例五數據庫

  on

  (

  name='例五數據庫數據文件1',

  filename='d:DBtest例五數據庫數據文件1.mdf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  ),(

  name='例五數據庫數據文件2',

  filename='d:DBtest例五數據庫數據文件2.ndf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  ),

  filegroup 例五數據庫數據文件組1

  (

  name='例五數據庫數據文件組1的數據文件',

  filename='d:DBtest例五數據庫數據文件組1的數據文件.ndf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  ),

  filegroup 例五數據庫數據文件組2

  (

  name='例五數據庫數據文件組2的數據文件1',

  filename='d:DBtest例五數據庫數據文件組2的數據文件1.ndf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  ),(

  name='例五數據庫數據文件組2的數據文件2',

  filename='d:DBtest例五數據庫數據文件組2的數據文件2.ndf',

  size=5MB,

  maxsize=10MB,

  filegrowth=5%

  )

  log on

  (

  name='例五數據庫日志',

  filename='d:DBtest例五數據庫日志文件.ldf'

  )

  例六: 創建一個數據庫,並指定排序規則。

  create database 例六數據庫

  on

  (

  name='例六數據庫',

  filename='d:DBtest例六數據庫.mdf'

  )

  collate Chinese_PRC_CI_AS

  在使用collate指定排序規則之前,一定要先知道排序規則名。

  為何才能知道排序規則名呢?請用下面的SQL語句查詢:

  select * from ::fn_helpcollations ()

  三、修改數據庫設置

  1. 使用SQL Server Management Studio修改數據庫設置

  1) 查看數據庫的基本信息

  【數據庫屬性】---【 基本】選項頁裡,可以看到數據庫的基本信息。

  2) 增加、刪除與修改數據庫文件

  【數據庫屬性】---【文件】選項頁裡。

image

  重點: 典型案例

  例七: 將名為"例二數據庫"的數據庫改名為"例七數據庫"。

  方法一:

  alter database 例二數據庫

  modify name = 例七數據庫

  方法二:

  exec sp_renamedb '例二數據庫','例七數據庫'

  ------------------------------------------------------

  例八:為“例六數據庫”增加一個數據文件。

  alter database 例六數據庫

  add file (name=增加的數據文件,

  filename='d:DBtest例六數據庫增加的數據文件.ndf')

  --------------------------------------------------------

  例九:為“例六數據庫”增加一個日志文件。

  alter database 例六數據庫

  add log file (name=例九增加的日志文件,

  filename='d:DBtest例九增加的日志文件.ldf',

  size=3MB,

  maxsize=50MB,

  filegrowth=10% )

  --------------------------------------------------------

  例十:將“例六數據庫”中名為“增加的數據文件”的數據文件改名。

  alter database 例六數據庫

  modify file(name=增加的數據文件,

  newname = 例十數據文件,

  filename = 'd:DBtest例十數據文件.ndf')

  例十一: 修改’例六數據庫’的排序規則

  alter database 例六數據庫

  collate Chinese_PRC_CI_AS_KS

  例十二: 在’例六數據庫’裡刪除一個數據文件.

  alter database 例六數據庫

  remove file 例十數據文件

  例十三: 在’例六數據庫’裡添加一個文件組

  alter database 例六數據庫

  add filegroup 例十三文件組

  例十四: 在’例六數據庫’裡為一個文件組改名.

  alter database 例六數據庫

  modify filegroup 例十三文件組

  name=例十四文件組

  例十五: 在’例六數據庫’裡添加一個數據文件(如:例十五數據文件)到一個文件組(如:例十四文件組),並將該文件組設置為默認文件組.因alter database一次只能修改數據庫的一個屬性,故下例中使用了2個alter database語句.

  alter database 例六數據庫

  add file (name=例十五數據文件,

  filename=’d:DBtest例十五數據文件.ndf’)

  to filegroup 例十四文件組

  go

  alter database 例六數據庫

  modify filegroup 例十四文件組 default

  例十六: 在“例六數據庫”裡刪除“例十四文件組”.由於“例十四文件組”是默認文件組,其中又包含了一個文件(例十五數據文件).故,要從“例六

copyright © 萬盛學電腦網 all rights reserved