sql server 数据库基于时间点的恢复

pbsql 2006-07-27 01:25:43
sql server 数据库基于时间点的恢复
...全文
2565 81 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
81 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovcal 2006-12-28
  • 打赏
  • 举报
回复
多谢:)
yikeshu_888 2006-12-28
  • 打赏
  • 举报
回复
mark
xwqjamky 2006-12-27
  • 打赏
  • 举报
回复
学习
achongsky 2006-08-21
  • 打赏
  • 举报
回复
Mark
prcgolf 2006-08-14
  • 打赏
  • 举报
回复
UP
pbsql 2006-08-08
  • 打赏
  • 举报
回复
谢谢leimin(黄山光明顶),回头看看
doublefish8133 2006-08-08
  • 打赏
  • 举报
回复
顶了再看:)
pbsql 2006-08-08
  • 打赏
  • 举报
回复
1. sql server 的一般系统日志,是保存在sql server的默认安装路径下的LOG目录下,ERRORLOG.5 并且没有扩展名,系统默认是保存6个文件,你可以在企业管理器中更改这个文件的个数. 这个目录还保存着AGENT,复制操作的系统日志,如果你启动了相关的服务.
-------------------------------------------------
这里提到的那几个文件其实就是在企业管理器中看到的SQL Server Logs,是系统级的,并不是上面所说的表的操作日志


1. 我想说明一下,SQL SERVER 2000的日志有2个概念:事务日志和操作日志,事务日志是保存在LDF文件中,操作日志是记录在LOG文件中(或TRACE文件).
--------------------------------------------------
我觉得这里所说的truncate table/drop table...等操作应该都是记录在数据库的日志文件中的(.ldf)而不是LOG文件中,因为只有这样才可能根据备份的日志重新执行对表或数据库的操作
LZGUI 2006-08-08
  • 打赏
  • 举报
回复
MARK
mustudent 2006-08-08
  • 打赏
  • 举报
回复
绑定,学习。
子陌红尘 2006-08-08
  • 打赏
  • 举报
回复
:)
leimin 2006-08-05
  • 打赏
  • 举报
回复
Hello pbsql(风云)

1. sql server 的一般系统日志,是保存在sql server的默认安装路径下的LOG目录下,ERRORLOG.5 并且没有扩展名,系统默认是保存6个文件,你可以在企业管理器中更改这个文件的个数. 这个目录还保存着AGENT,复制操作的系统日志,如果你启动了相关的服务.

2. SQL SERVER还有一个重要的操作日子,是c2 audit mode,
可以通过:
use master

EXEC sp_configure 'c2 audit mode', '1'

RECONFIGURE
go

进行配置,注意:这个参数设置后,必须重新启动SQLSERVER服务才生效.

这样你久可以在sql server的默认安装路径下的DATA目录,找到相应的日志文件,比如:audittrace_20060805213142.trc .

要实现完整的C2级安全保证,Windows操作系统也必须提供相应的支持)启用C2审核模式并重新启动之后,SQL Server自动在\MSSQL\Data目录下面创建跟踪文件。我们可以使用SQL Server Profiler查看这些监视服务器活动的跟踪文件。

SQL Server以128KB大小的块为单位把数据写入跟踪文件。因此,当SQL Server非正常停止时,我们最多可能丢失128 KB的日志数据。可以想象,包含审核信息的日志文件将以很快的速度增大。例如,某次试验只访问了三个表,跟踪文件已经超过了1MB。当跟踪文件超过200MB时,C2审核将关闭旧文件并创建新文件。每次SQL Server启动的时候,它会创建一个新的跟踪文件。如果磁盘空间不足,SQL Server将停止运行,直至我们为审核日志释放出足够的磁盘空间并重新启动SQL Server实例。在SQL Server启动的时候,我们可以使用-f参数禁用审核。
pbsql 2006-08-03
  • 打赏
  • 举报
回复
joyceanne(SQL桥):你读完前面的内容就明白了
hanchi8008 2006-08-02
  • 打赏
  • 举报
回复
mark!
joyceanne 2006-08-02
  • 打赏
  • 举报
回复
我举个例子,可能很少人会这样做.
每天都有做数据库的完整备份(重写到现有媒体)同时每天再做三次日志备份(每次备份的备份文件名都不一样),这样照理说,只要数据库软件出现问题我都能急时恢复数据库.
我的问题来了.怎么利用完整备份文件和所有日志的备份文件,将数据恢复到前一天或才上一个某个时间点.
总而言之就是不恢复到当前的时间点,而是恢复到完整备份之前的某个时间点.

(我自己还没测试过)
谁能说说具体做法.
turenjie 2006-08-02
  • 打赏
  • 举报
回复
真是高手如云,学习中。。。。。。。
Carol_zyr 2006-08-02
  • 打赏
  • 举报
回复
学习
abc_sk 2006-08-02
  • 打赏
  • 举报
回复
TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

jacky_majia_001 2006-08-02
  • 打赏
  • 举报
回复
学习
yanguangyun 2006-08-01
  • 打赏
  • 举报
回复
同意bflovesnow() 的说法:
truncate table 删除数据后,如要恢复到执行之前的时间点上,和truncate table 并没有任何关系啊.因为恢复的原则是先将数据恢复到一个备份点上,然后在用log文件重新执行各类操作,与truncate table 并没有任何关系吧.
加载更多回复(61)

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧