《sql数据库备份恢复》由会员分享,可在线阅读,更多相关《sql数据库备份恢复(3页珍藏版)》请在金锄头文库上搜索。
1、SQL 数据库备份还原 本文档会陆续收录与 SQL 相关的备份还原资料。 Master 数据库的备份与恢复数据库的备份与恢复 master 数据库内保存了 SQL Server 最重要的信息,主要包括: 1.服务器系统配置 2.用户登录账户 3.用户数据库的配置及文件位置 master 数据库备份的原则是数据库备份的原则是: 只要 SQL Server 系统配置有任何更改或者执行各项数据库管理工作,都要备份 master 数 据库 1.创建或者删除数据库 2.新建或者移除文件和文件组 3.新建 SQL Server 登录账户或变更安全性设置 4.更改 SQL Server 服务器级别设置,或者
2、数据库配置选项 5.创建或者移除备份设备 6.配置 SQL Server 分布式查询与远程调用(RPC)功能 master 数据库还原步骤数据库还原步骤 1.执行 setup.exe 重建 master 数据库 2.以单一用户模式启动 SQL Server 实例 3.利用最近一次的备份数据还原 master 数据库 4.重新启动 SQL Server 实例 在 SQL Server 2008 中,如果需要重新创建 master 数据库,必须利用 SQL Server 的安装程 序从命令行执行 setup.exe,语法为: setup.exe /QUIET /INSTANCENAME=MSSQL
3、SERVER /ACTION=REBUILDDATABASE /SQLSYSADMINACCOUNTS=Administrator /SAPWD=./QUIET:setup.exe 工具程序不呈现互动画面,直接完成指令所要求的工作 /INSTANCENAME:目标实例名称,如果是默认实例则为 MSSQLSERVER /ACTION:要 setup.exe 执行的工作,此处 REBUILDDATABASE 选项代表要创建系统数据库 /SQLSYSADMINACCOUNTS:管理 SQL Server 实例的 Windows 账户 /SAPWD:若 SQL Server 的验证采用混合验证模式,则
4、通过这个参数给定 sa 账户的密码,要 满足复杂度 SQL Server 2008 后 setup.exe 工具程序在路径 C:Program FilesMicrosoft SQL Server100Setup BootstrapRelease 下 执行 sqlservr.exe 加上-m 选项,以单用户模式启动 SQL Server,如:sqlservr.exe -m sqlservr.exe 在路径 C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLBinn 下 利用单用户模式启动利用单用户模式启动 SQL Server
5、实例后实例后,应先停用应先停用 SQL Server 相关服务相关服务,包括包括: 1.SQL Server Agent 2.SQL Server Analysis Services 3.SQL Server Fulltext Search 4.SQL Server Integration Services 5.SQL Server Reporting Services执行 RESTORE DATABASE 语句还原 master 数据库 view plaincopy to clipboardprint? USE MSDB GO RESTORE DATABASE master FROM DIS
6、K = N物理路径 USE MSDB GO RESTORE DATABASE masterFROM DISK = N物理路径 详细步骤: 1.创建 master 的备份设备 view plaincopy to clipboardprint? EXEC sp_addumpdevice NDISK, NMaster_BackupDevice, ND:master.bak EXEC sp_addumpdevice NDISK, NMaster_BackupDevice, ND:master.bak 2.设置 master 数据库的恢复模式为完整 view plaincopy to clipboard
7、print? ALTER DATABASE master SET RECOVERY FULL - 或者用修改数据库选项方式: EXEC sp_dboption master, Ntrunc. log on chkpt., FALSE EXEC sp_dboption master, Nselect into/bulkcopy, FALSE ALTER DATABASE master SET RECOVERY FULL- 或者用修改数据库选项方式: EXEC sp_dboption master, Ntrunc. log on chkpt., FALSE EXEC sp_dboption mas
8、ter, Nselect into/bulkcopy, FALSE3.备份 master 数据库到 Master_BackupDevice 备份设备中 view plaincopy to clipboardprint? BACKUP DATABASE master TO Master_BackupDevice WITH NAME = Nmaster 完全备份, COMPRESSION, INIT BACKUP DATABASE master TO Master_BackupDeviceWITH NAME = Nmaster 完全备份, COMPRESSION, INIT 4.备份 master
9、 数据库后创建,测试还原 master 之后的结果 view plaincopy to clipboardprint? CREATE DATABASE AfterMaster CREATE DATABASE AfterMaster 5.停掉 SQL Server 所有服务,并在路径 C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA 下删除 master 数据库文件(master.mdf)和 mastlog.ldf 文件,以模拟 master 数据库的损坏 6.重建 master 数据库,进入命令行界面执行 cd C:
10、Program FilesMicrosoft SQL Server100Setup BootstrapRelease 进入此路径,然后执行 setup.exe /QUIET /INSTANCENAME=MSSQLSERVER /ACTION=REBUILDDATABASE /SQLSYSADMINACCOUNTS=CA0043416 /SAPWD=1q2w3e.! 命令,如下图,此时 C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA 路径下出现了 master.mdf 和 mastlog.ldf 文件 7.单用户模式
11、启动 SQL Server 实例,进入命令行界面执行 cd C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLBinn 进入此路径,然后执行命令 sqlservr.exe -m,如下 图所示: 8.还原 master 数据库,再打开一个命令行界面,执行 sqlcmd 命令,利用 sqlcmd 工具程序登陆 SQL Server view plaincopy to clipboardprint?- 执行 RESTORE DATABASE 语句还原 master 数据库 USE msdb GO RESTORE DATABASE m
12、aster FROM DISK = ND:master.bak WITH REPLACE GO - 执行 RESTORE DATABASE 语句还原 master 数据库 USE msdb GO RESTORE DATABASE master FROM DISK = ND:master.bak WITH REPLACE GO9.还原成功 执行 NET START MSSQLSERVER 命令,重新启动 SQL Server 实例 10.如预期所想,启动 SQL Server 实例后没有 AfterMaster 数据库,则附加数据库到 SQL Server view plaincopy to clipboardprint? USE master GO CREATE DATABASE AfterMaster ON ( FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAAfterMaster.mdf ), ( FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAAfterMaster_log.LDF ) FOR ATTACH GO