当前位置:文档之家› 结构化查询语言(SQL)

结构化查询语言(SQL)

结构化查询语言(SQL)
结构化查询语言(SQL)

结构化查询语言(SQL)

SQL概述

SQL的内容在笔试和上机考试中均占到大约30%的比例,此外它还是查询和视图的基础,因此是学习的重点也是难点。

SQL是结构化查询语言Structure Query Language的缩写。

SQL包含了查询功能、数据定义、数据操纵和数据控制功能,在VFP中没有提供数据控制功能。

SQL主要特点

1.SQL是一种一体化语言。

2.SQL是一种高度非过程化的语言。

3.SQL语言非常简洁。

4.SQL语言可直接以命令方式交互使用,也可嵌入到程序设计语言中以程序方式使用。

查询功能

SELECT命令的特点:

1.可以自动打开数据库、表文件加以查询,而不需要事先用OPEN DATABASE或USE命令打开。

2.可以直接选取数据表中的数据,而不需要事先用SET RELATION命令建立关联。

3.当需要的索引文件不存在时,会自动建立暂存索引文件,以支持快速搜索技术(Rushmore)来查询。

4.其查询结果可输出到文件、表、屏幕或报表上,还可以转换成统计图表。

命令格式:SELECT ——FROM ——WHERE

可与LIST FIELDS——FOR ——对照学习。

关系操作:投影,选择,联接。

说明:功能强大,语法灵活;要处理的数据表无须事先打开,通过FROM子句指明并打开。

1.SELECT 短语:说明要查询的数据;对应的关系操作为投影,类似于FIELDS子句。

2.FROM 短语:说明要查询的数据来自哪个或哪些表,可对单个表或多个表进行查询;

3.WHERE 短语:说明查询条件;对应的关系操作为选择,类似

于FOR子句。如是多表查询还可能过该子句指明联接条件,进行联接。

4.GROUP BY 短语:用于对查询结果进行分组,可利用它进行分组汇总;类似于TOTAL命令。

5.HA VING 短语:跟随GROUP BY 使用,它用来限定分组必须满足的条件;

6.ORDER BY 短语:用于对查询的结果进行排序;类似于SORT 命令。

示例数据库:

学生管理,包括三个表:学生,课程,选课(通过该表反映“学生”与“课程”之间“多对多”的联系。

问题:请同学们分别指出三个表的主关键字。

一、简单查询

简单查询基于单个表。

例:

1.查询学生信息

SELE * FROM 学生&&“*”号代表所有列。

类似于:

USE 学生

LIST

2.查询男生学生的学号、姓名及生日

SELE 学号,姓名,生日FROM 学生WHERE 性别=”男”

类似于

USE 学生

LIST学号,姓名,生日FOR性别=”男”

3.查询学分大于5的课程的信息

SELE * FROM 课程WHERE 学分>5

类似于

USE 学生

LIST FOR 学分>5

4、查询学分不在6到9之间的

Sele * from 课程where 学分not between 6 and 9

二、简单联接查询

联接是关系的基本操作之一,联接查询基于多个关系的查询。

例:查询男生学生的选课信息,包括姓名,学号及成绩。

分析:本例的查询结果包括两个表“学生”与“选课”的属性,适用于联接查询。

SELE 姓名,选课.学号,成绩;

FROM 学生,选课;

WHERE 学生.学号=选课.学号AND 性别=”男”

说明:如果命令太长一行写不下可在行末加分号“:”表续行选课.学号:因为两个表中均有“学号”字段,所以必须指明所属表。

学生.学号=选课.学号:连接条件。

还可使用如下SQL语句:

SELE 姓名,选课.学号,成绩;

FROM 学生JOIN选课ON学生.学号=选课.学号;

WHERE 性别=”男”

说明:

JOIN ……ON :建立表与表之间的联接。

自连接:sele S.雇员姓名,"领导",E.雇员姓名from 雇员S,雇员

E where S.雇员号=E.经理

三、嵌套查询

嵌套查询是另一类基于多个关系的查询,此类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。

1、例:查询女生学生选课信息,包括学号,课程号,成绩。

SELE *;

FROM 选课;

WHERE 学号IN(SELE 学号FROM 学生WHERE 性别=”

女”)

说明:

IN:相当于集合运算符∈。

还可使用如下SQL语句:简单联接查询

SELE 选课.学号,课程号,成绩;

FROM 选课JOIN 学生ON 选课.学号=学生.学号;

WHERE 性别=”女”

2、查询有“硬盘”订购需求的订购单明细记录:这个例子要求查询订购单明细表中的记录,而查询条件是产品标的名称,

Sele * from 订购单明细where 产品号IN;

(sele 产品号from 产品where 名称=“硬盘”)

3、排除法查询的例子:

查询所有订购数量(即订购单中每个订购项目的数量)都在50以上的订购单的信息

Sele * from 订购单where 订单号not in;

(sele 订单号from 订购单明细where 数量〈=50)

Sele * from 订购单where 订单号not in;

(sele 订单号from 订购单明细where 数量〈=50)and 订单号in (sele 订单号from 订购单明细)

4、找出和某某产品同等价位的所有产品信息:内外层查询的同一个表,内层查询查处单价,外层查询根据这个单价查询产品信息

Sele * from 产品where 单价=;

(sele 单价from 产品where 规格说明=“某某产品”)

5、内外层互相查询嵌套查询

四、特殊运算符

1.BETWEEN … AND …意为“…和…之间”

例:查询成绩在80分到90分之间的选课信息。

SELE * FROM 选课WHERE 成绩BETWEEN 80 AND 90

等价于:

SELE * FROM 选课WHERE 成绩>=80 AND 成绩<=90

例:查询成绩不在80分到90分之间的选课信息。

2.LIKE是字符串匹配运算符,通配符“%”表示0个或多个字符,“_”表示一个字符。

注意:不是“*”和“?”,不正确!

例:从学生关系中查询姓“黄”的学生信息。

SELE * FROM 学生WHERE 姓名LIKE “黄%”

不能写成:

例:从学生关系中查询不姓“黄”的学生信息。

SELE * FROM 学生WHERE 姓名NOT LIKE “黄%”

例:

SELE * FROM 学生WHERE 姓名LIKE "黄_"

SELE * FROM 学生WHERE 姓名LIKE "黄__"

五、排序

SQL SELECT 可将查询结果排序。排序的短语格式如下:

ORDER BY Order_Item [ASC|DESC][, Order_Item [ASC|DESC]…]

说明:可按升序或降序排序,允许按一列或多列排序。

例:按学分进行升序查询课程信息。

SELE * FROM 课程ORDER BY 学分ASC

例:先按学分进行升序排序,学分相同的再按课程名进行降序排序并输出全部课程信息。

SELE * FROM 课程ORDER BY 学分,课程名DESC

注:ORDER BY 对最终的查询(外查询)结果进行排序,不能在子查询(内查询)中使用此短语。

六、简单计算查询

SQL不但具有一般的检索能力,而且还有计算方式的检索。用于计算检索的函数有:

1.COUNT(*):计数

2.SUM():求和Array 3.A VG():算平均值

4.MAX():求最大值

5.MIN():求最小值

上面的函数可用在SELECT短语中对查询结果进行计算。

例:查询学号为“03”的学生选修课程的考试成绩总分和平均分。SELE SUM(成绩),A VG(成绩) FROM 选课WHERE 学号=”03”

SELE SUM(成绩) 总分,A VG(成绩) 平均分FROM 选课WHERE 学号=”03”

FROM 学生JOIN 选课ON 学生.学号=选课.学号;

WHERE 学生.学号=”03”

七、分组与计算查询

利用GROUP BY 子句进行分组计算查询使用得更加广泛。GROUP BY短语格式如下:

GROUP BY GroupColumn[,GroupColunm…][HA VING FilterCondition] 说明:

1.可按一列或多列分组,还可以用HA VING进一步限定分组的条件。

2.GROUP BY子句一般跟在WHERE子句之后,没有WHERE子句时,跟在FROM子句之后;HA VING子句必须跟在GROUP BY 之后,不能单独使用。在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HA VING子句限定分组。

例:求每个学生选课的考试成绩平均分。

SELE 学号,A VG(成绩) FROM 选课GROUP BY 学号

说明:在此查询中,选按学号属性进行分组,然后再计算每个学号的平均成绩。

例:在选课表中求每个选课门数为4门的学生的总分和平均分。SELE 学号,SUM(成绩) AS 总分,A VG(成绩) AS 平均分;

FROM 选课;

GROUP BY 学号HA VING COUNT(*)=4

FROM 学生JOIN 选课ON 学生.学号=选课.学号;

WHERE 性别=”女”;

例:求平均成绩在80分以上的各课程的课程号与平均成绩。

SELE 课程号,A VG(成绩) FROM 选课;

八、使用空值进行查询

空值的概念:

空值就是缺值或还没有确定值,不能把它理解为任何意义的数据。比如表示价格的一个字段值,空值表示没有定价,而数值0可能表示免费。空值与空(或空白)字符串、数值0等具有不同的含义。

例:假设在选课中有些学生某门课程还没有考试,则成绩为空。试找出尚未考试的选课信息。

SELE * FROM 选课WHERE 成绩IS NULL

注:不能写成“=NULL”

例:试找出成绩不为空的选课信息。

SELE * FROM 选课WHERE 成绩IS NOT NULL

九、别名与自联接查询

在联接操作中,要使用关系名作前缀,为简单起见,SQL允许在FROM 短语中为关系名定义别名。格式为:<关系名><别名>

例:查询选课信息中的姓名,课程名,成绩。

SELE 姓名,课程名,成绩;

FROM 学生S,课程C,选课SC;

WHERE S.学号=SC.学号AND C.课程号=SC.课程号

说明:在上面的例子中,别名并不是必须的,但是在关系的自联接操作中,别名则是必不可少的。SQL不仅可以对多个关系实行联接操作,也可将同一关系与其自身进行联接,这种联接就称为自联接。在这种自联接操作关系上,本质上存在着一种特殊的递归联系,也就是关系中的一些元组,根据出自同一值域的两个不同的属性,可以与另外一些元组有一种对应关系(一对多的联系)。注:元组即记录。

例:试查询先修课的课程名

在本例中,先修课号与课程号出自同一值域,会涉及自联接查询。SELE DISTINCT C2.先修课号C1.课程名;

FROM 课程C1,课程C2;

WHERE C1.课程号=C2.先修课号

十、内外层相关嵌套查询

前面讨论的嵌套查询是外层查询依赖于内层查询的结果,而内层查询与外层查询无关。但有时也需要内、外层互相关的查询,这时内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果。

例:查询只有一个学生选修的课程的学号,课程号及成绩。

SELE *;

FROM 选课SC1;

(SELE 课程号FROM 选课SC2 WHERE SC1.学号<>SC2.学号) SELE * FROM 选课SC1;

WHERE NOT EXIST (SELE * FROM 选课SC2 ;

WHERE SC1.学号<>SC2.学号AND SC2.课程号=SC1.课程号)

十一、用量词和谓词的查询

前面已学过[NOT] IN运算符,此处还有两种与子查询相关的运算符。格式1:<表达式><比较运算符>[ANY|ALL|SOME](子查询)

格式2:[NOT] EXISTS (子查询)

说明:

1.ANY、ALL和SOME为量词,ANY和SOME是同义词,在进行

比较运算时只要子查询中有一行能使结果为真,则结果为真;ALL 则要求子查询中的所有行都使结果为真时,结果才为真。2.EXISTS为谓词,EXISTS和NOT EXISTS是用来检查在子查询中是否有结果返回,也就是存在元组或不存在元组。

例:查询选修有课程的学生的学号,姓名,性别及生日。(看懂)SELE * FROM 学生WHERE EXIST (SELE * FROM 选课WHERE 学生.学号=选课.学号)

注:本例中内层查询引用了外层查询的表,只有这样使用谓词EXISTS 或NOT EXISTS才有意义。

例:确定哪些客户目前没有订购单:这里的查询是客户没有订购单子记录或不存在订购单子记录

Sele * from 客户where not exists ;

(sele * from 订购单where 客户号=客户.客户号):此查询等价于sele * from 客户where 客户号not in(sele 客户号from 订购单)

例:查询学分最高的课程信息。

SELE * FROM 课程WHERE 学分>=ALL (SELE 学分FROM 课程)

SELE * FROM 课程WHERE NOT 学分

SELE * FROM 课程WHERE NOT 学分

SELE * FROM 课程WHERE 学分=(SELE MAX(学分) FROM 课程)

例:查询学分不是最高的课程信息。

SELE * FROM 课程WHERE 学分

十二、超联接查询

在两个表的超联接查询中,首先保证一个表中满足条件的元组都在结果中,然后将满足联接条件的元组与另一个表中的元组进行联接,不满足联接条件的则将应来自另一表的属性置为空值。

语法:SELE ……

FROM Talbel INNER|LEFT|RIGHT|FULL JOIN Table

ON Join Condition

WHERE ……

说明:

1.INNER JOIN:等价于JOIN,为普通联接。

2.ON Join Condition:用于指定联接条件。

例:比较几种联接方式。

SELE 姓名,课程号,成绩FROM 学生JOIN选课ON 学生.学号=选课.学号

SELE 姓名,课程号,成绩FROM 学生LEFT JOIN 选课ON 学生.

学号=选课.学号

SELE 姓名,课程号,成绩FROM 学生RIGHT JOIN选课ON 学生.学号=选课.学号

SELE 姓名,课程号,成绩FROM 学生FULL JOIN选课ON 学生.学号=选课.学号

十三、集合并运算

可将两个SELECT语句的查询结果通过并运算合并成一个查询结果。为进行并运算,要求两个查询结果具有相同的字段个数,并且对应字段的值要出自同一值域,也就是具有相同的数据类型和取值范围。例:查询学号为01与02的选课信息。

SELE * FROM 选课WHERE 学号=”01”;

UNION;

SELE * FROM 选课WHERE 学号=”02”

十四、VFP中有关SQL SELECT的几个特殊选项

1.显示部分结果

格式:TOP n [PERCENT]

功能:只需要满足条件的前几个记录。

说明:

(1)n是1至32767之间的整数,说明显示前几个记录。

(2)当使用PERCENT时,说明显示结果中前百分之几的记录。

例:显示学分最低的前2项课程记录。

SELE * TOP 2 FROM 课程ORDER BY 学分DESC &&通常与ORDER BY子句连用

2.将结果存放在数组中

格式:INTO ARRAY ArrayName

3.将结果存放在临时文件中

格式:INTO CURSOR CursorName

说明:临时表中一个只读的DBF文件,当查询结束后该临时文件是当前文件,可像一般的DBF文件一样使用,当关闭文件时该文件将自动删除。

4.将结果存放在永久表中,通过该子句可实现表的复制。

格式:INTO TABLE|DBF TableName

5.将结果存放到文本文件中

格式:TO FILE FileName [ADDITIVE]

6.将结果直接输出到打印机

格式:TO PRINTER [PROMPT]

习题:P131/ 2 P132/ 4,5,6

第三节数据操作功能

一、插入

命令格式1:INSERT INTO 数据表名[(字段名1[,字段名2,...])] V ALUES (表达式1[,表达式2...])

功能:在指定表尾添加一条新记录,其值为V ALUES后面的表达式的值。

命令格式2:INSERT INTO 数据表名FROM ARRAY ArrayName|FROM MEMV AR

功能:向指定表中添加一条新记录,其值来自于数组或对应的同名内存变量。

例:向课程表中插入记录:(”05”,”数理逻辑”,”6”,”03”)

INSERT INTO 课程V ALUES(”05”,”数理逻辑”,6,”03”)

说明:

1.如未使用字段名指明,则V ALUES中的表达式数目必须与表中的字段数相同,而且相应的数据类型必须一致。

2.如果表中设定了主索引,则插入记录时只能用该SQL INSERT 命令而不能使用APPEND或INSERT命令。

3.注意插入数据的数据类型必须与表设计时的类型一致。

二、更新

命令格式:UPDATE TableName SET 字段名1=表达式1[,字段名2=表达式2...] WHERE Condition

类似于REPLACE命令。通常嵌入在循环结构内,用另一个表的数据来修改本表。

例:将课程关系中课程号为“01”的课程的学分加1分。UPDATE 课程SET 学分=学分+1 WHERE 课程号=”01”

习题:P148/2 P150/6

三、删除

命令格式:DELETE FROM TableName [WHERE Condition]

说明:类似于VFP的DELE ... FOR ... 命令。

1.若无WHERE子句会删除表中的全部记录。

2.此命令为逻辑删除。用PACK命令进行物理删除。

例:删除课程关系中课程号为“05”的元组。

DELE FROM课程WHERE 课程号=”05”

习题:P156/25

第二节数据定义功能

一、表的定义

命令格式:CREATE TABLE 数据表名(字段名1 字段类型(字段宽度[,小数位数]) [NULL|NOT NULL][CHECK ][ERROR][DEFAULT][PRIMARY KEY|UNIQUE][字段名2... ...])

说明:

例:用SQL CREATE命令建立学生2数据表

CREATE TABLE 学生2(学号C(2) NOT NULL PRIMARY KEY ,姓名C(8),;

性别C(2) CHECK 性别=”男”OR 性别=”女”ERROR “性别只能是

男或女” DEFAULT “男”,生日D)

习题:P157/2

二、表的删除

命令格式:DROP TABLE TableName

功能:直接从磁盘上删除指定的表。

例:删除上例中的表“学生2”

DROP TABLE 学生2

习题:P148/1

三、表结构的修改

命令格式1:ALTER TABLE TableName ADD|ALTER [COLUMN] 字段名1... ]

说明:

此格式可添加(ADD)新的字段或修改(ALTER)已有的字段,它的句法基本与CREATE TABLE的句法相对应。

例:为课程关系增加长度为6的字符型的先修课号属性。

ALTER TABLE 课程ADD 课程号C(6)

例:课程中的课程号属性的长度由6改为8。

ALTER TABLE 课程ALTER 课程号C(8)

习题:P153/13 P142/37 P157/1 P159/6,8 P160/12

命令格式2:ALTER TABLE 表名ALTER [COLUMN] 字段名1 [NULL|NOT NULL]

[SET DEFAULT ][SET CHECK ... ERROR...][DROP DEFAULT][DROP CHECK]

说明:

此格式主要用于定义、修改和删除字段一级的有效性规则和默认值定义。

例:为课程关系增加学分大于2的有效性规则

ALTER TABLE 课程ALTER 学分SET CHECK 学分>2

习题:P151/9 P154/17

命令格式3:ALTER TABLE 表名[DROP [COLUMN]字段名] [SET CHECK...ERROR...][DROP CHECK]

[RENAME [COLUMN] 字段名TO 新字段名]... ...

说明:

此格式可删除字段,可修改字段名,可定义、修改和删除表一级的有效性规则等。

例:将课程表的先修课号字段名改为先修课。

ALTER TABLE 课程RENAME 先修课号TO 先修课

例:删除课程表中的先修课字段。

ALTER TABLE 课程DROP 先修课

SQL数据库的备份、还原、压缩与数据转移的方法.

当前,全国各级审计机关普遍应用AO系统进行现场审计,但由于被审计单位使用的财务软件种类太多,AO系统不可能提供全部财务软件数据导入模板,虽然AO现场审计实施系统2008版比2005版在模板数量上有所增加,但仍然不能完全解决各级审计机关在实际审计工作遇到的数据导入难题,只能通过后台备份数据库,然后还原到审计人员电脑中进行处理后,再一步一步导入AO中。由于审计人员大部分非计算机专业,对数据库的基本操作了解不是很多,无形中影响了计算机辅助审计的开展。为此,笔者分析了大量的被审计单位的财务系统后台数据库,其中大部分财务软件使用了SQL作为后台数据库,因此总结了SQL数据库的备份、压缩与SQL数据库数据处理的方法,供审计人员在审计工作中借鉴使用。 一、备份数据库1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL Server组——>双击打开你的服务器——>双击打开数据库目录3、选择你的数据库名称(如财务数据库cwdata)——>然后点上面菜单中的工具——>选择备份数据库4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份。二、还原数据库1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server;2、SQL Server组——>双击打开你的服务器——>点图标栏的新建数据库图标,新建数据库的名字自行取; 3、点击新建好的数据库名称(如财务数据库cwdata)——>然后点上面菜单中的工具——>选择恢复数据库; 4、在弹出来的窗口中的还原选项中选择从设备——>点选择设备——>点添加——>然后选择你的备份文件名——>添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)——>然后点击上方常规旁边的选项按钮; 5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻

SQL Server的增量备份与还原方法

SQL Server的增量备份与还原方法.txt蜜蜂整日忙碌,受到赞扬;蚊子不停奔波,人见人打。多么忙不重要,为什么忙才重要。 备份步骤: 1.在“SQL Server企业管理器”中注册数据库所在的服务器,注意要使用sa用户名和口令,否则以后执行备份调度的时候,会出现权限不足,导致不能进行备份。 2.确保该服务器的SQL Server Agent服务是开启的,因为所有的调度都是通过该代理进行 执行的。 3.在“SQL Server企业管理器”中选中Test数据库,右键打开“备份数据库”窗口,指 定一个新的文件Test-daily.bak,选择“完全”进行一次完全备份。 4.再次打开“备份数据库”窗口,这次使用“差异备份”,“重写”选项设置为“追加到媒体”,目的文件仍然是前面步骤所指定的Test-daily.bak,并在“调度”选项中设置为每天 的19:00,这样,SQL Server会在每天的19:00将数据库自上次备份以来发生的变化,以 增量备份的方式追加到Test-daily.bak文件中。(测试的时候,可以设置为每天的每1分钟 进行一次备份,以便可以很快的看到备份结果) 在需要进行数据库恢复的时候,可以按照如下还原步骤进行操作: 1.新建一个数据库,比如名为Back, 右键打开“还原数据库”窗口,选择“从设备”进行 还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,“备份号”默认为1(对应的就是备份步骤3中的初次完全备份),不必更改。在“选项”标签页中,选中“强制还原”,最关键的一步是,在“恢复完成状态”中,选中第2或第 3项,即保证“能还原其它事务日志”,这样还原之后,这个新的数据库就回到了我们进行第 一次完全备份时候的状态,此时,该Back数据库将处于“正在装载”或“只读”的状态,没 有关系,这是正常的,因为我们接下来还需要通过事务日志将该数据库恢复到指定的某个状态。 2.再次打开“还原数据库”窗口,同样选择“从设备”进行还原,然后在“选择设备…”中 选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,点击“备份号”后面 的“查看内容…”按钮,在新的窗口中,可以看到里面列出了每天19:00左右备份过的备份 集(除了最顶上一个是我们初次的完全备份集,其它都是每天的增量备份集),选中想要恢复 的某个备份集,单击“确定”回到主窗口,可以看到“还原备份集”默认选中的是“差异”,再单击确定,这样,Back数据库就恢复到了我们选定的某个备份集了。 上述还原步骤可以重复进行,直到我们找到确切需要的某个备份集。 另外,恢复后的数据库名称是Back,如果想将其改名为Test,可以执行 EXEC sp_renamedb 'Back', 'Test' 在重命名数据库之前,应该确保没有人使用该数据库,而且数据库设置为单用户模式。 2005-08-25 16:37 更新 1.需要在"备份数据库"->"常规"选项卡里选中"重写现有媒体",这样在"选项"选项卡里才能 设定"备份集到期时间",并且发现,这样设定好"到期时间"之后,即使将"重写现有媒体"改为" 追加到媒体", 所设定的"到期时间"还是有效的,这可以在调度里的"步骤"脚本中看出来,如: BACKUP DATABASE [model] TO DISK = N'D:\test.bak' WITH NOINIT , NOUNLOAD , RETAINDAYS = 1, DIFFERENTIAL , NAME = N'model 备份', NOSKIP , STATS = 10, NOFORMAT,通过这种方式应该可以实现保留最近N天的备份,测试中....

SQL SERVER数据库备份与恢复方案

SQL SERVER数据库备份与恢复方 案 世界上没有万无一失的信息安全措施。信息世界“攻击和反攻击”也永无止境。对信息的攻击和防护好似矛与盾的关系,螺旋式地向前发展。在信息的收集、处理、存储、传输和分发中经常会存在一些新的问题,其中最值得我们关注的就是系统失效、数据丢失或遭到破坏。 威胁数据的安全,造成系统失效的主要原因有以下几个方面:硬盘驱动器损坏;人为错误;黑客攻击;病毒;自然灾害;电源浪涌;磁干扰。因此,数据备份与数据恢复是保护数据的最后手段,也是防止主动型信息攻击的最后一道防线。 只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。有时造成的损失是无法弥补与估量的。 数据故障的形式是多种多样的。通常,数据故障可划分为系统故障、事务故障和介质故障三大类。从信息安全数据库备份与恢复方案的角度出,实际上第三方或敌方的“信息攻击”,也会产生不同种类的数据故障。例如:计算机病毒型、特洛伊木马型、“黑客”入侵型、逻辑炸弹型等。这些故障将会造成的后果有:数据丢失、数据被修改、增加无用数据及系统瘫痪等。作为系统管理员,要千方百计地维护系统和数据的完整性与准确性。

通常采取的措施有:安装防火墙,防止“黑客”入侵;安装防病毒软件,采取存取控制措施;选用高可靠性的软件产品;增强计算机网络的安全性。 以下主要介绍SQL SERVER数据备份方案和数据库恢复方案。SQL SERVER数据备份方案 SQL SERVER数据库的备份方法主要有完整备份,差异备份,事务日志备份等。根据数据安全性的要求,推荐的备份方式为每周一次完整备份,每天一次差异备份,每半个小时一次事务日志备份。 默认情况下,为sysadmin 固定服务器角色以及db_owner 和db_backupoperator 固定数据库角色的成员授予BACKUP DATABASE 和BACKUP LOG 权限。 备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。SQL Server 必须能够读取和写入设备;运行SQL Server 服务的帐户必须具有写入权限。 备份文件存放磁盘需要与数据库文件存放磁盘分开,避免磁盘IO冲突。备份执行时间与数据库作业执行时间错开,避免备份影响数据库作业的执行。 SQL SERVER 维护计划功能可以较好的实现自动化备份,在使用该功能前启动数据库管理器上的SQL SERVER 代理功能。

mysql数据库备份与恢复

my sql数据库备份与恢复 windows下实现mysql数据库定时备份功能一、进入mysql的bin目录 二、导出: [mysql bin path]>mysqldump--opt-d-u root-p dbn> backup-file.sql Enter password:****** 三、导入: [mysql bin path]>mysql-u root-p dbn<backup-file.sql Enter password:****** 四、收尾工作:清理sql文件,导出时会在bin目录下生成backup-file.sql 文件,在导入工作完成后就没用了,可以删了,当然留着也可以。

我自己的用的备份语句: d: cd\mysql\mysql5.1.30\bin mysqldump--opt-uroot-p123456 bbs_sikaozhoubao_com>E:\backup\bbs_sikaozhoubao_com\%date:~ 0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.sq l 更多的说明: 导出要用到MySQL的mysqldump工具,基本用法是: shell>mysqldump[OPTIONS]database[tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump--help,你能得到你mysqldump的版本支持

的选项表。 注意,mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。 mysqldump支持下列选项: --add-locks 在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。 --add-drop-table 在每个create语句之前增加一个drop table。

SQL SERVER2000数据备份与恢复

SQL Server2000数据备份与恢复 Author looger 1.数据库备份 1.1展开服务器组,然后展开服务器。展开“数据库”文件夹,右击数据库,指向“所 有所有”子菜单,然后单击“备份数据库”命令。 1.2在“名称”框内输入备份集名称,在“描述”框中输入对备份集的描述。在“备 份”选项中选择备份方式。

1.3点击“添加”按钮以添加现有的目的地或创建新的目的地,点击按钮可以选择一个备份文件

1.4点击按钮后,在下面出现的窗口中选择一个文件作为备份文件,可以在“文件名” 后面的文本框中输入一个新的文件名以创建一个备份文件。 1.5此时刚才选择的文件被加入到备份文件中。如果要添加其他的文件,则可以点击“添 加”按钮添加其他的文件。在"重写"选项下,单击“追加到媒体”,将备份追加到备份设备上任何现有的备份中;点击“重写现有媒体”,将重写备份设备中任何现有的备份

1.6可以选择“调度”复选框调度备份操作在以后执行或定期执行。点击“调度”后 面的按钮可以对调度进行设置 1.7在点击按钮后,可以在下面的对话框中设置调度的名称和调度的类型。如果需要调 度反复出现,则可以点击“更改”按钮

1.8点击“更改”按钮后,可以在下面的窗口中设置作业发生的时机 1.9单击“选项”选项卡。选择“完成后验证备份”复选框,在备份时对备份进行验 证。选择“检查媒体集名称和备份集到期时间”,检查备份媒体以防意外重写。在“媒体集名称”框中,输入将用于备份操作的媒体的名称。如果仅指备份集到期时间,则将其保留为空

2.数据库的恢复 2.1展开服务组,然后展开服务器。展开“数据库”文件夹,右击数据库, 指向“所有任务”子菜单,然后单击“还原数据库”命令 2.2在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称还原数据库,请输入新的数据库名称

SQL数据库备份与还原

SQL数据库的备份与还原 温馨提示:当学籍系统、综合素质评价系统有数据更新时,管理员一定要及时的做好数据库的备份工作,以防止意外情况的发生。正确、及时的进行数据库备份能减少数据丢失后恢复数据库的工作量。所以为了避免数据在灾难后无法恢复,必须对数据库进行备份。 一、SQL数据库的备份: 1、依次打开开始菜单→程序→Microsoft SQL Server 2008 →SQL Server Management Studio →数据库:Dsideal_school_db既是我们需要备份的学籍数据库 图(1) 2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键→任务→备份,如图(2):

图(2) 3、在打开的“备份数据库—Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):

首先点击“删除” 然后点击“添加” 图(3) 4、在弹出的“选择备份目标”对话框中,点击“”,如图(4) 图(4) 5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后

面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5): 图(5 二、SQL数据库的还原:

1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键→任务→还原→数据库,如图(6): 图(6) 2、在出现的“还原数据库— school_web_db”对话框中选择“源设备”,然后点击后面的“”按钮,如图(7):

SQL数据库的备份与还原、分离与附加

SQL数据库的备份与还原 一、SQL数据库的备份: 1、依次打开开始菜单→程序→Microsoft SQL Server 2008 →SQL Server Management Studio →数据库:以Dsideal_school_db为例 图(1) 2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键→任务→备份,如图(2):

图(2) 3、在打开的“备份数据库—Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):

首先点击“删除” 然后点击“添加” 图(3) 4、在弹出的“选择备份目标”对话框中,点击“”,如图(4) 图(4) 5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您

备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5): 图(5 二、SQL数据库的还原:

1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键→任务→还原→数据库,如图(6): 图(6) 2、在出现的“还原数据库— school_web_db”对话框中选择“源设备”,然后点击后面的“”按钮,如图(7):

3、在出现的“指定备份”对话框中,点击“添加”按钮,如图(8): 图(8) 4、找到数据库备份的路径,选择您所要还原的数据库“Dsideal_school_db”(注 意:文件类型选择所有文件),然后连续“两次”点击“确定”按钮,如图(9):

SQL Server2008数据库备份与恢复

201 7.2.8 SQL Server 数据库的备份和恢复 大到自然灾害,小到病毒感染、电源故障乃至操作员操作失误等,都会影响数据库系统的正常运行和数据库的破坏,甚至造成系统完全瘫痪。数据库备份和恢复对于保证系统的可靠性具有重要的作用。经常性的备份可以有效的防止数据丢失,能够把数据库从错误的状态恢复到正确的状态。如果用户采取适当的备份策略,就能够以最短的时间使数据库恢复到数据损失量最少的状态。 SQL Server 提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。但由于数据库管理系统的特殊性,需要利用SQL Server 提供的工具才能完成以上工作,而简单的文件拷贝导致数据库根本无法正常使用。 这个方法涉及到SQL Server 分离数据库和附加数据库这两个互逆操作工具。 1、分离数据库就是将某个数据库(如student_Mis)从SQL Server 数据库列表中删除,使其不再被SQL Server 管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使用这个数据库。 下面分别介绍这两个步骤的操作细节。 1、分离数据库 分离数据库的操作由以下6步构成。 1) 在启动SSMS 并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis 数据库为例。右键单击student_Mi s 数据库,在弹出的快捷菜单中选择属性项(图7-42),则数据库属性窗口(图7-43)被打开。 图7-42打开数据库属性窗口 2) 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER ”。

SQL数据库备份与恢复操作流程

1.数据库备份 1)打开“开始”——“程序”——Microsoft SQL Server——企业管理器,进入之后,将页面左边的“控制台根目录”下的“+”一个一个都点开,一直到点开“数据库”前的“+”。可以看到第一个数据库应该是CORPSCAN,在这个数据库上面点右键,选择“所有任务”中的“备份数据库”,如下图所示: 2)在弹出的选择框中点“添加”按钮:

3)弹出如下的窗口: 且必须给这个备份文件起一个文件名(一般我们都以日期做为备份文件名),如

下图所示: 上述备份文件就是放在D:\ 这个目录下,文件名为20051120。然后点“确定”。4)可以看到“备份到”那里有个路径和文件名了,其它什么都不用动,然后点“确定”就可以了,如下图所示: 备份文件成功后会有提示信息,可以到备份的目录下找到备份的文件。

2.数据库还原 和数据库的备份操作类似。具体流程如下: 1)打开“开始”——“程序”——Microsoft SQL Server——企业管理器,进入之后,将页面左边的“控制台根目录”下的“+”一个一个都点开,一直到点开“数据库”前的“+”。可以看到第一个数据库应该是CORPSCAN,在这个数据库上面点右键,选择“所有任务”中的“还原数据库”,如下图所示: 2)在弹出的页面上,在“还原”那里选择“从设备”,然后点一下“选择设备”,如图所示:

3)在弹出的页面上点一下“添加”按钮,就出现“选择还原目的”的对话框,在“文件名”后面有个浏览按钮,在那里选择要还原的文件(就是之前备份的数据库文件),然后点“确定”,再确定,再确定,就可以了,还原成功之后会有提示的:

Sql+Server数据库的备份和恢复措施

一、备份数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录 3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库 4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份 二、还原数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取 3、点击新建好的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择恢复数据库 4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮 5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是bbs_data.mdf,现在的数据库是forum,就改成forum_data.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是*_log.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d: \sqldata\bbs_data.mdf或者d:\sqldata\bbs_log.ldf),否则恢复将报错 6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误

sql数据库备份和恢复常用操作

sql数据库备份和恢复常用操作 导读:本文sql数据库备份和恢复常用操作,仅供参考,如果觉得很不错,欢迎点评和分享。 一、备份数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录 3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库 4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份 二、还原数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取 3、点击新建好的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择恢复数据库

4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮 5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL 的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是bbs_data.mdf,现在的数据库是forum,就改成forum_data.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是*_log.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:\sqldata\bbs_data.mdf或者d:\sqldata\bbs_log.ldf),否则恢复将报错 6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人

SQL2008数据库的备份与还原

江西学籍系统SQL数据库的备份与还原 编写:东师理想技术支持-李小伟 温馨提示:当学籍系统、综合素质评价系统有数据更新时,管理员一定要及时的做好数据库的备份工作,以防止意外情况的发生。正确、及时的进行数据库备份能减少数据丢失后恢复数据库的工作量。所以为了避免数据在灾难后无法恢复,必须对数据库进行备份。 一、SQL数据库的备份: 1、依次打开开始菜单→程序→Microsoft SQL Server 2008 →SQL Server Management Studio →数据库:Dsideal_school_db既是我们需要备份的学籍数据库 图(1)

2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键→任务→备份,如图(2): 图(2)

3、在打开的“备份数据库—Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3): 首先点击“删除” 然后点击“添加” 图(3) 4、在弹出的“选择备份目标”对话框中,点击“”,如图(4) 图(4)

5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5): 图(5

二、SQL数据库的还原: 1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键→任务→还原→数据库,如图(6): 图(6) 2、在出现的“还原数据库—school_web_db”对话框中选择“源设备”,然后点击后面的“”按钮,如图(7):

SQL数据库(安装、备份、恢复)

SOL Server 7.0数据库的简单维护手册 如何安装SQL7.0 SQL Server 7.0数据库在安装时,必须保证您的机器以前从未安装过此版本。如果您已经安装或未完全卸载,可以先将数据库完全卸载后再重新安装。 运行安装盘中的‘autorun.exe’文件,出现如下界面: 选择第三个菜单‘install SQL Server 7.0 Components’打开如下界面: 在安装时,您可以有两项供选择,第一种是Database Server – Standard Edition,表示标准化

安装,第二种是Database Server – Desktop Edition,表示桌面版安装。如果您的操作系统是Windows NT4.0,则选择第一项,如果您的操作系统是Windows95/98,则建议选择第二项。现在我们说的是在Windows 95/98上安装SQL Server 7.0,请选择‘Data Server-Desktop Edition’,稍等会儿会出现如下界面: 点击‘Next’,继续下一步: 点‘Yes’打开如下界面:

在窗口中输入用户的姓名和公司名称,你可以根据需要填写,点‘Next’如下: 我们一般选择Typical典型安装,并将SQL7.0安装在D盘(默认是安装在C盘的,由于考虑到数据的重要性,一般装在D盘。),点‘Browse..’更换安装目录,如下界面,并如图输入D:\MSSQL7: 将两个目录都更换后点‘Next’如下: 点‘Next’如下:

此界面根据您机器的配置可能等待的时间会稍微长一点! 当出现上图时点‘Finish’就安装完毕了。根据需要您可以重新启动一下计算机。 进行数据库的一些选项配置: 数据库安装完成后,并不能马上使用,而必须进行一些设置: 点击开始程序Microsoft SQL Server 7.0Service Manager,打开如下 界面:

SQL Server 7.0备份与数据恢复

随着信息时代和互联网技术的飞速发展,企业的信息数据量也急剧增长。如何避免突如其来的数据破坏(如:黑客攻击、病毒袭击、硬件故障和人为误操作等),提高数据的安全性和数据恢复能力一直是用户和厂商关注的焦点。备份是恢复数据最容易和最有效的保证方法,备份应定期进行,并执行有效的数据管理。 Microsoft公司的SQL Server是一个功能完善的数据库管理系统,由于和Windows操作系统无缝结合,操作简便易行,应用十分广泛。下面来看一看基于NT的SQL Server 7.0的备份与数据恢复的有效方法。 针对服务器系统 由于数据库服务器中安装的系统较多,设置复杂,如出现硬件故障,则必须重装系统,恢复设置,因此有必要对数据库服务器进行备份。 1、使用NT Server提供的功能 在防止数据丢失方面,NT的磁盘管理器具有强大的功能,它支持RAID的第0、1、5级。其中RAID 1级是指把一个驱动器上的某一分区在另一个上建立一个镜像。进行写操作时,数据将向两个磁盘中写入同样的数据,读取时可以从两个磁盘同时读取。当驱动器损坏时,由它的镜像来进行恢复。 2、使用第三方备份工具 采用其他公司的备份软件来对服务器系统做备份。笔者常用的是Norton公司的磁盘备份工具——Ghost。该软件可以直接将磁盘上的某个分区或整个硬盘克隆成一个镜像文件,然后把它存放在别处,那么当该分区或硬盘出现问题甚至毁坏时,使用Ghost在另一硬盘或分区上,利用镜像文件快速还原。 针对SQL Server 1、在本地机上进行数据库备份 先确认SQL Server服务是否已经启动,如果没有启动,则使用SQL Server 7.0程序菜单中的“SQL Server Service Manager”进行启动,然后打开“Enterprise Manager”,展开左边的SQL Server Group,展开SQL Server中的“Databases”,单击右键,在菜单中选择“所有任务”选项中的“Backup Database”子选项,出现如图1的数据库备份画面。 选好要备份的数据库及备份方式后,单击[Add]按钮,在对话框中设置好存放目录及文件名,单击[OK]按钮。如果要设置定期自动备份,可在“Schedule”中设置,完毕后,单击[确定]按钮,数据库备份就开始执行了。 2、在本地机上进行数据库恢复

数据库(SQL Server 2005)备份和还原操作步骤

一、数据库备份 1、打开企业管理器,如下图所示: 2、之后弹出登录界面,如下图所示,服务器名称输入数据库所在服务器的IP地址,如果数 据库安装在本机,可以输入127.0.0.1或者.代替。身份验证选择可以选择Windows身份验证和SQL Server身份验证,选择第一种直接点击连接即可,如果选择第二种验证方式需要在登录名输入sa,然后密码输入sa密码,如下图所示: 3、连接成功之后,点击数据库,选择相应的数据库名称,然后右键,选择任务,在弹出菜 单,点击备份,如下图所示:

4、进入备份数据库界面之后,检查没有问题直接点击,确定就可以把数据库备份出来了, 也可以根据自己的情况自己添加备份路径,不过要注意,添加完新的的路径需要把老的路径删除,要保持目标路径只有一个,如下图所示: 5、成功之后会弹出如下界面:

二、数据库建立 1、建立一个和需要还原的数据库名称一样的数据库,首先右键数据库,点击新建数据库, 如下图所示: 2、在新建数据库界面,填写数据库名称,这里的名称要和需要还原的数据库名称一致,初 始大小建议100M,可根据实际情况调整,如下图所示:

3、点击确定之后,会自定调转到连接界面,在数据库下会挂载刚刚建立的数据量,此时数 据库建立完成,如下图所示: 三、数据库还原 1、右键需要还原的数据库,选择任务,选择还原,在弹出菜单点击数据库,如下图所示:

2、在数据库还原界面,首先选择源设备,然后选择右侧浏览按钮,然后点击添加,在弹出 界面选择之后备份出来的bak文件,点击确定,如下图所示: 3、确定之后,注意勾选还原选项,然后点击左上角选项按钮,如下图所示:

SQLSERVER数据库备份与恢复方案

SQL SERVER数据库备份与恢复方案世界上没有万无一失的信息安全措施。信息世界“攻击和反攻击”也永无止境。对信息的攻击和防护好似矛与盾的关系,螺旋式地向前发展。在信息的收集、处理、存储、传输和分发中经常会存在一些新的问题,其中最值得我们关注的就是系统失效、数据丢失或遭到破坏。 威胁数据的安全,造成系统失效的主要原因有以下几个方面:硬盘驱动器损坏;人为错误;黑客攻击;病毒;自然灾害;电源浪涌;磁干扰。因此,数据备份与数据恢复是保护数据的最后手段,也是防止主动型信息攻击的最后一道防线。 只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。有时造成的损失是无法弥补与估量的。 数据故障的形式是多种多样的。通常,数据故障可划分为系统故障、事务故障和介质故障三大类。从信息安全数据库备份与恢复方案的角度出,实际上第三方或敌方的“信息攻击”,也会产生不同种类的数据故障。例如:计算机病毒型、特洛伊木马型、“黑客”入侵型、逻辑炸弹型等。这些故障将会造成的后果有:数据丢失、数据被修改、增加无用数据及系统瘫痪等。作为系统管理员,要千方百计地维护系统和数据的完整性与准确性。 通常采取的措施有:安装防火墙,防止“黑客”入侵;安装防病

毒软件,采取存取控制措施;选用高可靠性的软件产品;增强计算机网络的安全性。 以下主要介绍SQL SERVER数据备份方案和数据库恢复方案。SQL SERVER数据备份方案 SQL SERVER数据库的备份方法主要有完整备份,差异备份,事务日志备份等。根据数据安全性的要求,推荐的备份方式为每周一次完整备份,每天一次差异备份,每半个小时一次事务日志备份。 默认情况下,为sysadmin 固定服务器角色以及db_owner 和db_backupoperator 固定数据库角色的成员授予 BACKUP DATABASE 和 BACKUP LOG 权限。 备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。SQL Server 必须能够读取和写入设备;运行 SQL Server 服务的帐户必须具有写入权限。 备份文件存放磁盘需要与数据库文件存放磁盘分开,避免磁盘IO 冲突。备份执行时间与数据库作业执行时间错开,避免备份影响数据库作业的执行。 SQL SERVER 维护计划功能可以较好的实现自动化备份,在使用该功能前启动数据库管理器上的SQL SERVER 代理功能。

备份与还原SQLSERVER数据库

新建测试数据库 不带后缀名的的数据库(项目)为正式的数据库(项目),不允许修改。测试时要在测试数据库(测试项目)中进行。建立测试数据库的方法如下: 新建StrongCollection的测试数据库StrongCollection01。 一、备份 1,右键单击StrongCollection 选择“任务” “备份”。 2,在弹出的“备份数据库StrongCollection”对话框中单击“添加”按钮。

3,在弹出的“选择备份目标”对话框中单击“…”按钮。 4,在弹出的“定位数据库文件”对话框中选择“D:\SQLServerDataBase\Backup”文件夹,输入备份文件名称:StrongCollection01.bak。单击确定。 5,删除默认的备份目录。单击确定。 二、新建数据库 1,数据库名称为StrongCollection01,数据文件和日志文件目录都选择“D:\SQLServerDataBase”。单击确定完成StrongCollection01数据库的新建。 三、恢复 1,右键单击StrongCollection01 选择“任务”→“还原”→“数据库”。 2,在弹出的“还原数据库StrongCollection”对话框中单击源设备的“…”按钮。 3,在弹出的“指定备份”对话框中单击“添加”按钮,选择

“D:\SQLServerDataBase\Backup\StrongCollection01.bak”文件,单击确定。 4,在“还原数据库StrongCollection”对话框中勾选刚才选择的备份文件,单击选项按钮,勾选“覆盖现有数据库”、“保留设置”、“限制访问还原的数据库”。单击确定按钮。选择数据文件的“还原为”路径为“D:\SQLServerDatabase\StrongCollection01.mdf”,选择日志文件的“还原为”路径为“D:\SQLServerDatabase\StrongCollection01.log”。

SQL_Server2008数据库备份与恢复

201 SQL Server 数据库的备份和恢复 大到自然灾害,小到病毒感染、电源故障乃至操作员操作失误等,都会影响数据库系统的正常运行和数据库的破坏,甚至造成系统完全瘫痪。数据库备份和恢复对于保证系统的可靠性具有重要的作用。经常性的备份可以有效的防止数据丢失,能够把数据库从错误的状态恢复到正确的状态。如果用户采取适当的备份策略,就能够以最短的时间使数据库恢复到数据损失量最少的状态。 SQL Server 提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。但由于数据库管理系统的特殊性,需要利用SQL Server 提供的工具才能完成以上工作,而简单的文件拷贝导致数据库根本无法正常使用。 这个方法涉及到SQL Server 分离数据库和附加数据库这两个互逆操作工具。 1、分离数据库就是将某个数据库(如student_Mis)从SQL Server 数据库列表中删除,使其不再被SQL Server 管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使用这个数据库。 下面分别介绍这两个步骤的操作细节。 1、分离数据库 分离数据库的操作由以下6步构成。 1) 在启动SSMS 并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis 数据库为例。右键单击student_Mis 数据库,在弹出的快捷菜单中选择属性项(图7-42),则数据库属性窗口(图7-43)被打开。 图7-42打开数据库属性窗口 2) 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER ”。

sqlserver数据库的备份与恢复sql实现

利用T-SQL语句,实现数据库的备份与还原的功能 体现了SQL Server中的四个知识点: 1.获取SQL Server服务器上的默认目录 2.备份SQL语句的使用 3.恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理4.作业创建SQL语句的使用 /*1.--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时设置的默认数据目录 如果指定NULL,则返回默认的SQL备份目录名 */ /*--调用示例 select 数据库文件目录=dbo.f_getdbpath('tempdb') ,[默认SQL SERVER数据目录]=dbo.f_getdbpath('') ,[默认SQL SERVER备份目录]=dbo.f_getdbpath(null) --*/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getdbpath]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_getdbpath] GO create function f_getdbpath(@dbname sysname) returns nvarchar(260) as

begin declare @re nvarchar(260) if @dbname is null or db_id(@dbname) is null select @re=rtrim(reverse(filename)) from master..sysdatabases where name='master' else select @re=rtrim(reverse(filename)) from master..sysdatabases where name=@dbname if @dbname is null set @re=reverse(substring(@re,charindex('/',@re)+5,260))+'BACKUP' else set @re=reverse(substring(@re,charindex('/',@re),260)) return(@re) end go /*2.--备份数据库 */ /*--调用示例 --备份当前数据库 exec p_backupdb @bkpath='c:/',@bkfname='db_/DATE/_db.bak' --差异备份当前数据库 exec p_backupdb @bkpath='c:/',@bkfname='db_/DATE/_df.bak',@bktype='DF' --备份当前数据库日志 exec p_backupdb @bkpath='c:/',@bkfname='db_/DATE/_log.bak',@bktype='LOG' --*/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_backupdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

相关主题
文本预览
相关文档 最新文档