SQL Sever 2008 R2 数据库管理

SQL Sever 2008 R2 数据库管理,第1张

一 预备知识提要:

创建数据需要的权限

至少要拥有:

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

修复这两种文件的数据库,可以试一下如下方法,我在日常维护工作,经常用以下方法,还真的蛮好用的1)用语句将要修复的数据库置为单用户语句如下: sp_dboption '要修复的数据名', 'single user', 'true'2)修复数据库,运行如下语句:DBCC CHECKDB('要修复的数据名' , REPAIR_ALLOW_DATA_LOSS )直至不出错将数据库取消单用户模式,语句如下:sp_dboption '要修复的数据名', 'single user', 'false' 注意:所有运行的数据库都连接master!

以上就是关于SQL Sever 2008 R2 数据库管理全部的内容,包括:SQL Sever 2008 R2 数据库管理、误删了SQL2008数据库文件,用硬盘数据恢复工具提取出了mdf和ldf文件,但是无法附加使用了,怎么解决呢、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9655923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存