怎么用sql语句备份和恢复数据库

怎么用sql语句备份和恢复数据库,第1张

SQL语句备份和恢复

SQL

Server:

备份命令:

BACKUP

DATABASE

test

TO

disk

=

'c:\test'

WITH

FORMAT,

NAME

=

'Full

Backup

of

MyNwind'

解释如下:

NAME

=

'Full

Backup

of

MyNwind'

--这个是备注,随便写。

还原命令:

USE

master

GO

RESTORE

DATABASE

test_wt

FROM

disk

=

'c:\test_wt'

GO

MySQL:

备份:

mysqldump

-u

root

-p

database_name

>

d:\dbbak

恢复:

mysql

-u

root

-p

database_name

<

d:\dbbak

注意:在WIN下,路径用path/filenamesql是不行的,那就用path\filenamesql

1代码如下,如果不行,请使用下列方法进行脚本创建。

RESTORE DATABASE [QPAccountsDB] FROM  DISK = N'D:\DB\QPAccountsDBBAK' WITH  FILE = 1,  

MOVE N'QPAccountsDB' TO N'D:\DataBase\QPAccountsDBmdf',  

MOVE N'QPAccountsDB_log' TO N'D:\DataBase\QPAccountsDB_logldf',  NOUNLOAD,  REPLACE,  STATS = 10

GO

RESTORE DATABASE [QPGameMatchDB] FROM  DISK = N'D:\DB\QPGameMatchDBBAK' WITH  FILE = 1,  

MOVE N'QPGameMatchDB' TO N'D:\DataBase\QPGameMatchDBmdf',  

MOVE N'QPGameMatchDB_log' TO N'D:\DataBase\QPGameMatchDB_logldf',  NOUNLOAD,  REPLACE,  STATS = 10

GO

2请登陆SQL 2008数据库,先进行恢复 *** 作,选择需要还原的数据库,点击创建脚本即可生成脚本

用sql语句删除的数据库恢复方法:

1、使用盘恢复工具EasyRecovery Pro尝试恢复磁盘数据,看能不能找回数据文件,如果可以找回的话,可以重新附加该数据文件。

2、在删除数据库的同时,对应的数据文件也会被删除,无法恢复。

不同的数据库有不同的恢复方式。

Oracle 11g之后有闪存回归机制,在一定的时间内可以从闪存中恢复数据。

MySQL数据库则在开启了binlog日志的情况下,可以通过binlog日志恢复被删除的数据。

1停止SQL Server的服务,备份SQL Server安装目录下的\data子目录

下故障数据库的两个文件,一个数据文件hbposv6_branch_datamdf,

一个hbposv6_branch_logldf(也有可能非此命名),同时查看磁盘

空间是否有足够的空间;

2启动SQL Server服务(如已停止),创建一个新的数据库,命名为

原来数据库的名字。

3停止SQL Server

4把老数据库的MDF文件(hbposv6_branch_datamdf)替换

新数据库的相应的MDF文件,

并把LDF文件(hbposv6_branch_logldg)删除。

5重新启动SQL Server服务,然后运行如下命令:

Use Master

go

sp_configure 'allow updates', 1

reconfigure with override

go

begin tran

update sysdatabases set status = 32768 where name = 'hbposv6_branch'

--Verify one row is updated before committing

commit tran

go

6停止SQL然后重新启动SQL Server服务,然后运行如下命令

(更换日志文件路径地址):

use master

go

DBCC TRACEON(3604)

DBCC REBUILD_LOG

('hbposv6_branch',

'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_logldf')

--在这里,请输入你的数据库的路径

go

7停止SQL然后重新启动SQL Server服务,然后运行:

use master

go

update sysdatabases set status = 8 where name = 'hbposv6_branch'

go

sp_configure 'allow updates', 0

reconfigure with override

go

8运行dbcc checkdb(db_name) 检查数据库的完整性

9修复数库

--请在查询分析器中执行下列语句执行前断开其它

所有数据库连接,最好是断开网线

--如果不是该数据库名,请将数据库

--hbposv6_branch

--改为要修复的数据库

USE master

Go

--单用户模式

EXEC sp_dboption 'hbposv6_branch', 'single user', 'TRUE'

go

--数据库检查

DBCC CHECKDB ('hbposv6_branch')

Go

--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复

--数据库修复

DBCC CHECKDB ('hbposv6_branch','repair_rebuild')

Go

--再次数据库检查,如果返回结果中没有了红色的提示文字,

说明修复成功;

DBCC CHECKDB ('hbposv6_branch')

Go

--否则意味着还需要更高级别的修复;尝试将上面修复语句的

'repair_rebuild'换为'repair_allow_data_loss'再试,

之后再次检查数据库。

--如果还有错误未修复,请把这些信息以文字的方式发给我们

--退出前请一定要执行以下语句返回到多用户模式

EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'

go

注:都要把 dbname 替换成真实的数据库名字。

以上就是关于怎么用sql语句备份和恢复数据库全部的内容,包括:怎么用sql语句备份和恢复数据库、怎么用sql语句备份恢复sql2008数据库、用sql语句删除的数据库怎么恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存