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) 增加、删除与修改数据库文件

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


  重点: 典型案例

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

  方法一:

  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

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

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

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

  alter database 例六数据库

  modify filegroup [PRIMARY] default

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

  alter database 例六数据库

  remove file 例十五数据文件

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

  alter database 例六数据库

  remove filegroup 例十四文件组

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

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

  alter database 例六数据库

  add filegroup 例十七文件组

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

  alter database 例六数据库

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

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

  to filegroup 例十七文件组

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

  alter database 例六数据库

  modify filegroup 例十七文件组 read_only

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

  alter database 例六数据库

  set single_user

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

  alter database 例六数据库

  set auto_shrink on

时间: 2024-10-02 12:17:04

SQL Sever 2008 R2 数据库管理的相关文章

sql server 2008 r2-SQL sever 2008 r2迷你版本,能不能进行静默式安装?

问题描述 SQL sever 2008 r2迷你版本,能不能进行静默式安装? 近来尝试了很多途径,但是没有什么进展,大大们,有什么头绪吗? 以下脚本也只是擦边球,安装好后,只是安装中心... D:sqlsever2008r2SQLEXPRWT_x86_CHS.exe /qs /ACTION=Install /INSTANCENAME=SQLEXPRESS/SQLSVCACCOUNT="NT AUTHORITYNETWORK SERVICE" /SQLSVCPASSWORD="

SQL Server 2008 R2 超详细安装图文教程_mssql2008

一.下载SQL Server 2008 R2安装文件 cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso 二.将安装文件刻录成光盘或者用虚拟光驱加载,或者直接解压,打开安装文件,出现下面的界面 安装SQL Server 2008 R2需要.NET Framework 3.5 SP1支持 这里我们的操作系统是Windows Server 2008 R2,已经默认自带了.NET Framework 3.5 SP1 直接点确定 选择

SQL Server 2008 R2的安装部署

先决条件 安装 SQL Server 前,请查阅计划 SQL Server 安装中的主题. 在与一个或多个 SQL Server 2008 实例一起并行安装 SQL Server 2008 R2 前,请参阅 SQL Server 2008 R2 和 SQL Server 2008 的并行实例的注意事项. 注意 对于本地安装,必须以管理员身份运行安装程序.如果从远程共享安装 SQL Server,则必须使用对远程共享具有读取和执行权限的域帐户. 注意 如果受到安装程序中的已知问题的影响,可能需要在

SQL Server 2008 R2的18456错误:sa用户登录失败

SQL Server 2008 R2用户'sa'登录失败(错误18456),如下图: 解决办法: 1.首先用windows身份登录,有如下界面: 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/ 2.右键实例-->属性,选择[安全性],选择身份验证方式:

让SQL Server 2008 R2在查询时输出信息

环境:SQLServer 2008 R2 问题:在查询时输出信息 解决: 一:使用print函数. 如: print 'HelloWorld'; 当然,print函数不仅能够打印字符串,还可以打印整型数据或者浮点型数据. 如: print 27; print 39.27; print 0.11111111111111111111; 二:变通的方法,通过系统表查询获得输出信息. select * from sysobjects; select 'HelloWorld' from sysobject

安装SQL Server 2008 R2和Visual Studio 2010时的1406错误解决

问题描述:重新安装的系统,然后马上升级到Windows7旗舰版,在安装SQL Server 2008 R2和Visual Studio 2010时遇到1406错误.尝试了很多方法,比如修改对应注册表的权限.重置注册表.安装更新等等. 又细想是否是系统的原因,于是又重新还原系统,保持Windows7家庭普通版.后来又考虑了许久,才想到解决 办法.其实很简单,稍后奉上. 问题如图: SQL Server 2008 R2安装错误: Visual Studio 2010旗舰版安装错误: 解决: 没有足够

SQL Server 2008 R2 下如何清理数据库日志文件

 USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO

SQL Server 2008 (R2) 单机版安装的先决条件

在为客户提供技术支持时,发现安装SQL Server 2008 (R2) 单机版出现的问题很多源于以下几个典型情况,而客户们有所不知,这正是SQL Server 安装所必须的先决条件: 1.       .NET Framework 3.5 SP1 2.       Windows Installer 4.5 3.       Visual Studio 2008 SP1 4.       在控制面板中设置区域和语言 5.       小型企业安装SQL Server 2008 (R2) 标准版

java连接sql server 2008 r2 问题

问题描述 java连接sql server 2008 r2 问题 代码如下: package com.JDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** @author Bob */ public class GetConn { public static void main(String args[])