SQL Sever 2008 R2 数据库管理

如题所述

第1个回答  2022-11-20

  一 预备知识提要:

   创建数据库需要的权限

  至少要拥有:

  ( )create database;

  ( )create any database;

  ( )alter any database

   数据库的上限

  在同一实例中 最多可以创建 个数据库 超过则会失败!

   数据库文件和文件组

  每个SQL Server 数据库至少包括 个文件:

  ( )数据文件 : 包含的是 数据库的数据和对象 它分为 主要数据文件和次

  要数据文件 扩展名分别为 mdf和 ndf

  ( )日志文件 : 包含的是 用于恢复数据库时所需要的信息 它分为 主要日志

  文件和次要日志文件 扩展名都为 ldf

  技巧:

  在默认情况下 数据库的数据文件和日志文件都保存在同一目录下 但这并

  不是最佳方案 为了提高存储速度

  强烈建议:

  将数据文件和日志文件保存在不同的驱动器上!

  文件组

  为了方便对数据库文件进行管理 可以将数据库文件集中起来放在文件组中

  每个数据库都有一个主要文件组 该组包括主要数据文件和未放入其他文件组的

  所有次要文件 当然用户也可自行定义不同的文件组

   数据库状态

  SQL Server 数据库永远处于特定的状态中 包括 种状态:

  ( )online : 可以对数据进行访问 (在线)

  ( )offline: 数据库无法使用 (离线)

  ( )restoring : 表示正在还原主文件组的一个或多个文件 或正在离线还原一个

  或多个辅助文件 此时数据库不可用 (还原)

  ( )recovering : 表示正在恢复数据库 该状态是个暂时性的状态 恢复成功

  后 数据库会自动回到在线状态 (恢复)

  ( )recovering pending : 此时数据库并未损坏 但很有可能缺少文件 此时

  数据库不可用 并等待用户执行操作来完成恢复工作 (恢复等待)

  ( )suspect : 表示数据库里的文件组(至少是主文件组)可疑或已经损坏 SQL

  Server 启动过程无法恢复数据库 此时数据不能使用 (可疑)

  ( )emergency : 一般用于故障排除 此时数据库处于单用户模式 可以修复

  或还原 数据库标记为只读 并禁用日志记录 只有具备sysadmin服务

  器角色的成员才能访问 (紧急)

  二 举例说明

  例一: 创建一个数据库 所有的设置采用默认值

  create database 测试数据库

  例二: 创建一个数据库 指定数据库的数据文件所在位置

  create database 例二数据库

  on

  (

  name= 例二数据库

  filename= d:DBtest例二数据库 mdf

  )

  例三:创建一个数据库 指定数据库的数据文件所在位置 初始容量 最大容量

  和文件增长的数量

  create database 例三数据库

  on

  (

  name= 例三数据库

  filename= d:DBtest例三数据库 mdf

  size= MB

  maxsize= MB

  filegrowth= %

  )

  例四: 创建一个数据库 指定数据库的数据文件和日志文件所在位置

  create database 例四数据库

  on

  (

  name= 例四数据库数据文件

  filename= D:DBtest例四数据库数据文件 mdf

  size= MB

  maxsize= MB

  filegrowth= %

  )

  log on

  (

  name= 例四数据库日志文件’

  filename= D:DBtest例四数据库日志文件 ldf

  )

  例五 创建一个数据库 它总共包含五个数据文件和两个自定义的文件组

  create database 例五数据库

  on

  (

  name= 例五数据库数据文件

  filename= d:DBtest例五数据库数据文件 mdf

  size= MB

  maxsize= MB

  filegrowth= %

  ) (

  name= 例五数据库数据文件

  filename= d:DBtest例五数据库数据文件 ndf

  size= MB

  maxsize= MB

  filegrowth= %

  )

  filegroup 例五数据库数据文件组

  (

  name= 例五数据库数据文件组 的数据文件

  filename= d:DBtest例五数据库数据文件组 的数据文件 ndf

  size= MB

  maxsize= MB

  filegrowth= %

  )

  filegroup 例五数据库数据文件组

  (

  name= 例五数据库数据文件组 的数据文件

  filename= d:DBtest例五数据库数据文件组 的数据文件 ndf

  size= MB

  maxsize= MB

  filegrowth= %

  ) (

  name= 例五数据库数据文件组 的数据文件

  filename= d:DBtest例五数据库数据文件组 的数据文件 ndf

  size= MB

  maxsize= MB

  filegrowth= %

  )

  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 ()

  三 修改数据库设置

   使用SQL Server Management Studio修改数据库设置

   ) 查看数据库的基本信息

  【数据库属性】 【 基本】选项页里 可以看到数据库的基本信息

   ) 增加 删除与修改数据库文件

  【数据库属性】 【文件】选项页里

  重点 典型案例

  例七: 将名为"例二数据库"的数据库改名为"例七数据库"

  方法一:

  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= MB

  maxsize= MB

  filegrowth= % )

  

  例十 将“例六数据库”中名为“增加的数据文件”的数据文件改名

  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一次只能修改数据库的一个属性 故下例中使用了 个alter database语句

  alter database 例六数据库

  add file (name=例十五数据文件

  filename=’d:DBtest例十五数据文件 ndf’)

  to filegroup 例十四文件组

  go

  alter database 例六数据库

  modify filegroup 例十四文件组 default

  例十六: 在“例六数据库”里删除“例十四文件组” 由于“例十四文件组”是默认文件组 其中又包含了一个文件(例十五数据文件) 故 要从“例六数据库”中删除“例十四文件组” 必须先进行以下操作

  ( )将其他文件组设置为默认文件组 如本例中将PRIMARY文件组设置为默认文件组

  由于PRIMARY是保留字 故在使用它的时候 要用方括号括起来

  alter database 例六数据库

  modify filegroup [PRIMARY] default

  ( )删除“例十四文件组”中包含的“例十五数据文件”

  alter database 例六数据库

  remove file 例十五数据文件

  ( )删除“例十四文件组”

  alter database 例六数据库

  remove filegroup 例十四文件组

  例十七 将“例六数据库”里的一个文件组设置为只读

  ( )由于primary文件组是不能设置为只读的 故先添加一个文件组(如 例十七文件组)

  alter database 例六数据库

  add filegroup 例十七文件组

  ( )由于空文件组(如 例十七文件组)是不能设置为只读的 所以要再添加一个文件(如 例十七数据文件)到该文件组中

  alter database 例六数据库

  add file (name=例十七数据文件

  filegroup=’d:Dbtest例十七数据文件 ndf’)

  to filegroup 例十七文件组

  ( )将文件组(例十七文件组)

  alter database 例六数据库

  modify filegroup 例十七文件组 read_only

  例十八 将“例六数据库”设置为只有一个用户可访问

  alter database 例六数据库

  set single_user

  例十九 设置“例六数据库”可自动收缩

  alter database 例六数据库

lishixinzhi/Article/program/MySQL/201311/29524

相似回答