当前位置:首页 » 数据仓库 » 2008恢复master数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

2008恢复master数据库

发布时间: 2023-01-09 20:32:44

❶ 如何还原master数据库

master 数据库已经进行了备份,但还原的时候提示:
当试图还原master 数据库时,必须以单用户模式使用restore database.
restore database 操作异常终止.
1、可以在命令行模式下输入 sqlservr -c -f -m 或者输入 sqlservr -m 其中:
-c 可以缩短启动时间,SQL Server 不作为Windows NT 的服务启动 -f 用最小
配置启动SQL Server -m 单用户模式启动SQL Server
2、可以在控制面板-服务-MSSQLServer 的启动参数中输入-c -f -m 或者输入-m,点击开始3、还有一种更灵活的启动方法:用存在注册表里的启动参数启动 在MSSQLServer 项下添
加项SingleUser,具体内容如下所示:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\SingleUser\ParametersSQLArg0REG_SZ : -dC:\MSSQL7\DATA\MASTER.DATSQLArg1REG_SZ : -eC:\MSSQL7\LOG\ERRORLOG
SQLArg2 :
REG_SZ : -lC:\MSSQL7\DATA\MASTLOG.DATSQLArg3REG_SZ : -m 在命令行下输入SQLServr -c -s

❷ 如何通过 sql 2008 备份的数据库恢复

1.
左下角点击开始,程序,Microsoft
SQL
Server
2008
R2
,找到SQL
Server
Management
Studio,进入企业管理器。
2
选择服务器\实例名,登录名选择sa,输入sa登录密码,点击连接。
3
进入企业管理器界面,鼠标右键单击“数据库”,选择“新建数据库”。
4
输入数据库名称,例如123材料,然后点击确定。然后在企业管理器里就会发现多出了一个数据库“123材料”
5
鼠标右键点击
“123材料”这个数据库,选择“任务”—“还原”—“数据库”
6
进入还原数据库页面,选择“源设备”,然后点击后面的三个小圆点。
7
点击“添加”。
8
选择要恢复的BAK文件。
9
点击下面的“选择用于还原的备份集”,把还原下面的方框全部勾选,,然后点击左侧的“选项”
10
在选项的设置里,把“覆盖现有数据库”前面的方框勾选,然后点击下面的“确定”
11
成功完成数据库的还原,大功告成!

❸ master库损坏如何恢复

遇到损坏或者错误的master数据库是最难解决情况之一。
Master数据库包含了SQL Server需要的关键信息。如果master数据库出错,那么SQL Server就不能启动。要在这种情况下还原master数据库,可以按照下面这些步骤来从灾难中恢复过来:
1. 使用\PRogram Files\Microsoft SQL Server\80\Tools\Binn目录下的rebuidm.exe文件重建master数据库。重建master数据库可以使数据库文件完整无缺。为以防万一,经常把数据和日志文件备份到一个单独的目录是个不错的主意。
2. 使用-m参数启动SQL Server,这样可以以单用户模式重新启动SQL Server。
3. 从最近一次已知最好的备份来还原master数据库。
4. 核实master数据库是不是已经成功还原:确认所有数据库都已恢复正常运行。从最近一次已知最好的备份来还原msdb数据库。
5. 以普通模式停止和启动SQL Server。
6. 向生产用户开放数据库。
如果这样做没有效,那么重建master数据库然后附加这个数据库。master数据库出现问题,那么服务器上所有的数据库都会出现问题。
总的来说,恢复时要完成的第一个步骤就是安装一个新的master数据库,使服务器至少能够启动。

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

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

RESTOREDATABASE[QPAccountsDB]FROMDISK=N'D:DBQPAccountsDB.BAK'WITHFILE=1,
MOVEN'QPAccountsDB'TON'D:DataBaseQPAccountsDB.mdf',
MOVEN'QPAccountsDB_log'TON'D:DataBaseQPAccountsDB_log.ldf',NOUNLOAD,REPLACE,STATS=10
GO
RESTOREDATABASE[QPGameMatchDB]FROMDISK=N'D:DBQPGameMatchDB.BAK'WITHFILE=1,
MOVEN'QPGameMatchDB'TON'D:DataBaseQPGameMatchDB.mdf',
MOVEN'QPGameMatchDB_log'TON'D:DataBaseQPGameMatchDB_log.ldf',NOUNLOAD,REPLACE,STATS=10
GO

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

❺ 如何重新生成master 数据库

当Master数据库损坏了,无法打开实例,我们必需重建Master数据库 Master损坏后,试图启动服务的时候会报错,无法启动
重建Master数据库前提条件:
1. 曾备份过Master数据库
2. 混合模式下
3. 启用了sa账户
4. sql server 2005 安装盘
Master数据库文件损坏,不能启动实例
(实验模拟可改其数据库名字(必需停止服务)达到损坏它的目的。例如:master1.mdf):
接下来我们开始重建恢复的步骤:
1. 先输入命令行重建Master数据库

2. 在cmd命令提示符下,进入到这个目录
C:\>cd "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn"
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>start /wait d:\setup.exe /qn INSTANCENAME="MSSQLSERVER" REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=163.com
重建的时间可能会长些,请耐心的等待下…… 注:
D:\setup.exe 制定安装盘的盘符位置
INSTANCENAME:指定实例名(默认实例则用mssqlserver表示) REINSTALL:指定引擎
SAPWD:重新设置sa的强密码(一般企业都是启用强密码策略的/4选3) Setup.exe:指定光盘1中的根目录下的文件
/qn 开关用于取消所有安装程序对话框和错误消息。如果指定 /qn 开关,则所有安装程序消息(包括错误消息)都将写入安装程序日志文件。有关日志文件的详细信息,请参阅如何查看 SQL Server 2005 安装日志文件。
指定 /qb 开关将显示基本的安装程序对话框。还会显示错误消息。

3.C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>sqlservr.exe -c –m
输入命令行进单用户模式,还原整个数据库的Master数据库,刚才只是重建了一个新的数据库,并不是我们原来的那个,所以要进行还原回备份时的状态

4.启动SSMS——用sa登录——断开连接(这步很关键,千万要记住)——新建查询(sa)——还原master数据库 输入以下语句:
use master go
restore database master from disk='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak' with replace

(注: 'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Backup\master.bak'为你备份文件的路径)
完成恢复,启动服务,打开SSMS

❻ 如何恢复master数据库

在网上搜索了一下,发现了一篇介绍比较详细的,而且也确实解决了这一问题(我在VM上测试过可以),特将其全文转贴如下:
关于系统数据库的恢复总结如下:
在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:
master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它
model-为新数据库提供模版和原型
msdb-包含了有关作业、报警及操作员等信息
如果包含系统数据库的介质变了,那么必须重建系统数据库,如果你仍然可以启动SQL Server服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。
如果master坏了,不能启动系统,可以按照下面步骤进行恢复
1.重建系统数据库 运行c:/mssql7/binn/rebuildm.exe,按照提示进行即可,
过程中需要系统数据库样本的路径,可在安装光盘中找到;
2 重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库
就行了通常恢复顺序为master->msdb->model
在恢复master的备份时要注意:必须在单用户(single user)模式下进行
a.进入单用户模式的方法:
1.在命令行模式下输入sqlservr -c -f -m或者输入sqlservr -m
其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动
-f 用最小配置启动SQL Server
-m 单用户模式启动SQL Server
2.可以在控制面板-服务-MSSQLServer的启动参数中输入-c -f -m或者输入-m,点击开始
3.进行master数据库的恢复
a.直接进入查询分析器,有个提示不要理会它
输入恢复语句进行数据库恢复:
RESTORE DATABASE master from disk='c:/具体的备份文件名'
b.或者用这个,在命令提示符下输入,注意大小写
使用"windows身份验证"的,输入:isql /E
使用"sql server和windows身份验证"的,输入:isql /U"用户名" /P"密码"
然后在出现的提示符下输入(注意1>,2>是提示符):

❼ 请问只有master.mdf,没有备份文件的情况下,怎么恢复master数据库,sql server 2008 r2.

sql server 2005 & 2008 master与msdb数据库的备份与恢复,master与msdb数据库的备份与普通数据库一样,本文主要描述master与msdb数据库的恢复的一些个人积累。 恢复master与msdb数据库关键在于以单用户模式启动,其它并没有太大的区别。 由于系统数据库对Sql Server来说尤其重要,为了确保SQL SERVER系统的正常运行,除了日常备份用户的数据库之外,我们还需要备份系统数据库,如对Master,Model,Msdb(TempDB不需备份)进行完整备份 1、还原Master数据库 如果系统配置丢失或Master出现问题,可以进入单用户模式进行还原;如果出现下列情况,必须重新生成损坏的 master 数据库: A. master 数据库的当前备份不可用。 B. 存在 master 数据库备份,但由于 Microsoft SQL Server 实例无法启动,因此无法还原该备份。 1、重新生成 master 数据库: 注意: 在 SQL Server 2005 中已废止 Rebuildm.exe 程序。若要重新生成 master 数据库,请使用 setup.exe。 1、 Start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 例:start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ 注:INSTANCENAME:指定实例名,默认实例则用mssqlserver表示 REINSTALL:指定引擎 SAPWD:强密码 Setup.exe:指定光盘1中的根目录下的文件 /qn 开关用于取消所有安装程序对话框和错误消息。如果指定 /qn 开关,则所有安装程序消息(包括错误消息)都将写入安装程序日志文件。有关日志文件的详细信息,请参阅如何查看 SQL Server 2005 安装日志文件。 指定 /qb 开关将显示基本的安装程序对话框。还会显示错误消息。 2、 还原Master备份(在恢复master的备份时要注意:必须在单用户(single user)模式下进行 ) a.进入单用户模式的方法: 1.在命令行模式下输入sqlservr -c -f -m或者输入sqlservr -m 其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动 -f 用最小配置启动SQL Server -m 单用户模式启动SQL Server 2.系统默认没有设置PATH,先进入CMD,进入“C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn”,执行SQLSERVR.EXE –M 打开SSMS工具,先断开连接,再新建查询,执行以下命名还原 USE master GO RESTORE DATABASE master FROM disk=‘c:“master.bak‘ GO 开始实验了~~~ MASTER重新生成 为了模拟MASTER数据库坏了,我们就删除MASTER数据库(要停止SQL SERVER服务才能删除)在我的电脑,C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“MSSQL“DATE 中删除MASTER.MDF 重新生成MASTER 1.首先在CMD中输入 start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 其中的 SETUP.EXE为启动光盘的路径,我这里的是 E:“SETUP.EXE /QN 我这里的为默认实例所以其中的用 MSSQLSERVER代替 最后的为密码我设密码为abc123@!@,所以就用abc123@!@代替 若没有返回错误,我们就可以到我的电脑中C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“DATE上面又有MASTER.MDF了 接下来进入目录 单用户模式 启动SSMS工具,新建查询 输入命令 启动服务(MSSQL SERVER) 打开SSMS 连接到数据库后就可以发现数据库中的数据又回来了 以下是我在命令行下搞的命令,我用记事本的方式全部复制下来了,为了不传附件,我就直接粘贴到下面了 Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:“Documents and Settings“Administrator>start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ C:“Documents and Settings“Administrator>cd C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>sqlservr.exe -m 2008-04-18 15:47:46.56 Server Authentication mode is MIXED. 2008-04-18 15:47:46.59 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1) 2008-04-18 15:47:46.59 Server (c) 2005 Microsoft Corporation. 2008-04-18 15:47:46.59 Server All rights reserved. 2008-04-18 15:47:46.59 Server Server process ID is 3984. 2008-04-18 15:47:46.59 Server Logging SQL Server messages in file ‘C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG‘. 2008-04-18 15:47:46.59 Server This instance of SQL Server last reported using a process ID of 764 at 2008-4-18 15:46:40 (local) 2008-4-18 7:46:40 (UTC). This is an informational message only; no user action is required. 2008-04-18 15:47:46.60 Server Registry startup parameters: 2008-04-18 15:47:46.60 Server -d C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“master.mdf 2008-04-18 15:47:46.60 Server -e C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG 2008-04-18 15:47:46.60 Server -l C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“mastlog.ldf 2008-04-18 15:47:46.62 Server Command Line Startup Parameters: 2008-04-18 15:47:46.62 Server -m2008-04-18 15:47:46.64 服务器 SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required. 2008-04-18 15:47:46.67 服务器 Detected 1 CPUs. This is an informational message; no user action is required. 2008-04-18 15:47:46.78 服务器 Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required. 2008-04-18 15:47:46.84 服务器 Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required. 2008-04-18 15:47:47.95 服务器 Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction oordinator (MS DTC). This is an informational message only. No user action is required. 2008-04-18 15:47:47.96 服务器 Database Mirroring Transport is disabled in the endpoint configuration. 2008-04-18 15:47:47.96 spid5s Warning ****************** 2008-04-18 15:47:47.96 spid5s SQL Server started in single-user mode. This an informational message only. No user action is required. 2008-04-18 15:47:47.99 spid5s Starting up database ‘master‘. 2008-04-18 15:47:48.17 spid5s Recovery is writing a checkpoint in database ‘master‘ (1). This is an informational message only. No user action is required. 2008-04-18 15:47:48.28 spid5s SQL Trace ID 1 was started by login "sa". 2008-04-18 15:47:48.32 spid5s Starting up database ssqlsystemresource‘. 2008-04-18 15:47:48.76 spid5s Server name is ‘VM01‘. This is an informational message only. No user action is required. 2008-04-18 15:47:48.78 spid8s Starting up database ‘model‘. 2008-04-18 15:47:49.20 服务器 A self-generated certificate was successfully loaded for encryption. 2008-04-18 15:47:49.23 服务器 Server is listening on [ ‘any‘ 1433]. 2008-04-18 15:47:49.24 服务器 Server local connection provider is ready to accept connection on [ ““.“pipe“SQLLocal“MSSQLSERVER ]. 2008-04-18 15:47:49.24 服务器 Server local connection provider is ready to accept connection on [ ““.“pipe“sql“query ]. 2008-04-18 15:47:49.28 服务器 Server is listening on [ 127.0.0.1 1434]. 2008-04-18 15:47:49.28 服务器 Dedicated admin connection support was established for listening locally on port 1434. 2008-04-18 15:47:49.29 服务器 The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies. 2008-04-18 15:47:49.31 服务器 SQL Server is now ready for client connections. This is an informational message; no user action is required. 2008-04-18 15:47:49.40 spid5s Starting up database ‘msdb‘. 2008-04-18 15:47:49.68 spid8s Clearing tempdb database. 2008-04-18 15:47:49.93 spid5s Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required. 2008-04-18 15:47:50.57 spid8s Starting up database ‘tempdb‘. 2008-04-18 15:47:50.76 spid5s Recovery is complete. This is an informational message only. No user action is required. 2008-04-18 15:56:22.34 spid51 SQL Trace was stopped e to server shutdown. Trace ID = ‘1‘. This is an informational message only; no user action is required. 2008-04-18 15:56:22.40 服务器 The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors. C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn> 打开SSMS工具,先断开连接,再新建查询,执行以下命名还原 USE master GO RESTORE DATABASE master FROM disk=‘C:“Program Files“Microsoft SQL Server“MSSQL.1 “MSSQL“Backup“master.bak‘ GO 数据库中的显示的消息应为: 已为数据库 ‘master‘,文件 ‘master‘ (位于文件 1 上)处理了 376 页。 已为数据库 ‘master‘,文件 ‘mastlog‘ (位于文件 1 上)处理了 6 页。 已成功地还原了 master 数据库。正在关闭 SQL Server。 SQL Server 正在终止此进程。 则表示master数据库还原成功,启动服务后进入SSMS即可看到master数据库了 恢复master数据库 方法一:(操作步骤) 1停止MSSQLSERVER服务 2命令行输入: net start "SQL Server (MSSQLSERVER)" /m 正常情况下显示如下信息: SQL Server (MSSQLSERVER) 服务正在启动 .. SQL Server (MSSQLSERVER) 服务已经启动成功。 3命令行输入: sqlcmd 1>USE master; 2>GO 此时显示: 已将数据库上下文更改为 'master'。 1>RESTORE DATABASE master FROM DISK='数据库备份文件路径'; 2>GO 如果恢复成功,显示如下信息: 已为数据库 'master',文件 'master' (位于文件 1 上)处理了 376 页。 已为数据库 'master',文件 'mastlog' (位于文件 1 上)处理了 3 页。 已成功地还原了 master 数据库。正在关闭 SQL Server。 SQL Server 正在终止此进程。 失败则显示: 消息 3154,级别 16,状态 4,服务器 HC,第 1 行 备份集中的数据库备份与现有的 'master' 数据库不同。 消息 3013,级别 16,状态 1,服务器 HC,第 1 行 RESTORE DATABASE 正在异常终止。 此时需要在恢复语句后面加上:WITH REPLACE。如: 1>RESTORE DATABASE master FROM DISK=数据库备份文件路径' WITH REPLACE; 2>GO 4重启MSSQLSERVER服务 方法二:(与方法一差不多) 1打开“SQL Server 配置管理器”,单击“SQL Server 服务” 2在右窗格中,右键单击“SQL Server (<实例名>)”,再单击“属性” 3在“高级”选项卡的“启动参数”框中,键入以分号“;”分隔的参数。(例如,若要以单用户模式启动,在现有启动选项之前插入“-m;”,单击“确定”,此时,弹出警告框,单击“确定”即可) 4重新启动数据库引擎 5(同方法一中步骤3) 6成功恢复master数据库后,若要以正常的多用户模式重新启动服务器实例,必须先从“启动参数”框中删除刚才输入的“-m;”,然后重新启动SQL Server服务 恢复msdb数据库 在msdb数据库里存储较多的是SQL Agent里的内容,如作业、调度、操作员、警告等信息,同时还存放SQL Server Integration Service(SSIS)相关信息。其恢复过程与普通数据库恢复过程大同小异,不同点就是需要在单用户模式启动下进行恢复。 1打开SQL Server Management Studio,连接到相关的数据库服务器 2右键单击msdb数据库,单击“属性”打开数据库属性窗口,单击“选项”,在右边的“状态”/“限制访问”指定“SINGLE_USER”,然后单击“确定”即以单用户模式启动,此时msdb显示为“msdb(单个用户)” 3(同恢复普通数据库一样...) 4恢复完毕后,别忘了将“限制访问”改加以前的状态“MULTI_USER”

❽ 如何还原 master 数据库 (Transact

若要还原master的完整数据库备份,请使用以下 RESTORE DATABASE Transact-SQL 语句: RESTORE DATABASE master FROM <backup_device WITH REPLACE; 即使存在同名的数据库,REPLACE 选项也会还原指定数据库。现有的数据库(如果存在)被删除。在单用户模式下,建议您在 sqlcmd 实用工具 中输入 RESTORE DATABASE 语句。有关详细信息,请参阅 使用 sqlcmd 实用工具。 重要提示:还原master以后,SQL Server 实例关闭并终止sqlcmd进程。有关详细信息,请参阅

❾ SQLServer2008数据库怎样备份还原和数据恢复

在完整恢复模式或大容量日志恢复模式下,必须先备份活动事务日志(称为日志尾部),然后才能在SQLServerManagementStudio中还原数据库。有关详细信息,请参阅如何备份事务日志(SQLServerManagementStudio)。若要还原已加密的数据库,您必须有权访问用于加密数据库的证书或非对称密钥。如果没有证书或非对称密钥,数据库将无法还原。

认识数据库备份和事务日志备份

数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点。

数据库备份

数据库备份可以手动备份和语句备份

一.手动备份数据库

1.鼠标右键选择你要进行备份的数据库-任务-备份

可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份

2.点击添加选项,选择数据库文件的存放路径

注意文件名记得加后缀.bak,便于恢复时的查找

3.你还可以在选项页面是追加到现有的备份集,还是覆盖所有的现有备份集,还可以选择备份验证完整性(建议选择),还可以选择是否压缩备份等。

二.语句备份数据库

use master goBACKUP DATABASE [test] TO DISK = N'D:Microsoft sql serverMSSQL10.MSSQLSERVERMSSQLBackup est.bak' WITH NOFORMAT, NOINIT, NAME = N'test-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

数据库日志备份

首先需要注意,数据库日志的备份是基于数据库完整备份,也就是说你备份数据库日志之前你首先要先对数据库进行一次完整的备份,因为之间会涉及到坚持到检查点 lsn, 这也是本文接下来要讲的重点。

一.手动备份数据库日志

1.右键数据库-任务-备份-选择备份类型(事务日志)

2.点添加,添加日志文件备份存储路径

3.同数据库完整备份一样,你也可以选择覆盖现有备份集或者追加到现有备份集,这里现在覆盖现有备份集、验证完整性,然后确认备份

二.语句备份数据库事务日志

BACKUP LOG [test] TO DISK = N'D: est.trn' WITH NOFORMAT, INIT, NAME = N'test-事务日志 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

数据库还原

右键数据库-还原数据库-添加需要进行还原的数据库文件路径

在还原源选项中你可以选择‘源数据库’,‘源设备’。1.选择源数据库工具会自动显示该数据库之前的一些备份,然后直接选择需要还原的数据库备份集。

2.选择源设备点击后面的...,添加需要还原的数据库文件

2.点击确认还原数据库

数据库恢复

数据库恢复的前提是1.一个完整的数据库备份2.包含这个完整数据库备份的事务日志备份3.完整备份之间也可以存在数个差异备份

对于数据库维护空间始终是一个比较头疼的问题,特别是对于大型数据库而言,每天的日志文件增长是庞大的,很多数据库管理员会定时对数据库日志文件进行收缩,但是经常收缩会存在收缩完日志文件还是不能减少,这是因为存在很多活动的日志无法收缩可以用

DBCC LOGINFO('数据库名称')

我们看到
status=0的日志,代表已经备份到磁盘的日志文件;而
status=2的日志还没有备份。当我们收缩日志文件时,收缩掉的空
间其实就是
status=0的空间,如果日志物理文件无法减小,这里一
定能看到非常多status=2的记录

解决办法:1.可以分离要收缩的数据库,然后手动删除日志文件,然后附加数据库,数据库就会产生一个很小的日志文件(不推荐使用这种方法)

2.右键要出来的数据库选择“属性”-"选项",将恢复模式改成"简单",然后利用收缩工具可以讲日志文件收缩到很小,收缩完记得讲恢复模式改成"完整"

也可以用语句进行处理(dbname是你要进行收缩的数据库名,dbname_log是你要进行收缩的数据库的逻辑日志名称)

USE [master]
GO ALTER DATABASE [dbname] SET recovery SIMPLE WITH NO_WAIT GO
ALTER DATABASE [dbname] SET RECOVERY SIMPLE --简单模式
GO
USE [dbname]
GO
DBCC SHRINKFILE (N'dbname_log' , 11, TRUNCATEONLY) GO
USE [master]
GO
ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT ALTER DATABASE [dbname] SET RECOVERY FULL

对于第一种方法不赞同使用,首先对于数据库的分离与附加有时候会破坏数据库,造成数据库无法还原,还有就是对于在线数据库也不允许进行分离操作。

对于第二种方法是slq2008收缩日志文件的一种方法,但是此方法也不能使用过于频繁,因为进行数据库恢复模式的更改会截断事务日志文件,这样的话当时利用事务日志文件进行恢复的时候检查点不能包含数据库文件,而且当你要对事务日志进行备份的时候会重新提示你需要对数据库进行完整备份。

举个例子:比如你昨天晚上进行了一次完整备份,然后同时你也进行了一次日志备份(提前日志未被截断),然后你每个小时进行过一次差异备份,最近的差异备份时间点是14点,如果此时数据库错误修改了数据,你可以立马备份一个日志文件将数据库恢复到日志备份开始到日志备份终点前的任意时间点 。

如果此时你进行了修改数据库模式,截断日志进行了收缩,那么你的数据只能恢复到昨天晚上备份的那个日志备份时间前的任意时间点,也就是今天所做的数据库更改无法再恢复了,因为日志文件已经被截断了,不知道这样解释是否明白

因为日志文件的检查点(lsn)是连续的,每一次日志备份都是在上一次备份的基础上lsn往后增加的,lsn的范围也包括了数据库文件的lsn,也只有日志文件的lsn包括了数据库文件的lsn,才能将数据库文件进行回滚。

上图中总共有三个备份文件,一个完整备份、一个差异备份、一个日志备份,大家可以注意观察完整备份的第一个lsn与最后一个lsn,和检查点

第二个差异备份文件的的第一个lsn与最后一个lsn,和检查点,最后的日志备份的第一个lsn和最后一个lsn包含了前面两个备份文件的lsn,这种情况数据库就可以恢复到日志文件备份前的任意时间点,如果日志文件没有包含数据库文件的最后一个lsn也就无法恢复了。