1. sql还原事物日志备份
意思是可以先还原到15:00 这样可以把你删除的表的数据提出来, 此刻15:01-16:00 的数据是没有还原的, 在你顺利得到15:01 删除的表的数据后, 如果15:01-16:00 没有与删除表有关的业务, 你就可以把数据库日志还原到16:00 ,然后把提取出来的15:01 删除的雇员表回复回去, 就ok了
2. sql 2005如何查看事物日志文件,如何备份
backup log student to disk='D:\b.bak' with NO_LOG
backup log student with TRUNCATE_ONLY
给我分
3. SQL 2000自动备份的修改
很常用的一种方式.利用Job来实现定时备份..
修改方法:
企业管理器->Management->SQL Server Agent->Job->选择你设置的Job->属性->scheles->Edit->Change->修改相应的时间..
4. MSSQL数据库的修改记录在哪查看
windows会有你的登录记录,但是不会有你修改数据的记录。
在数据库里会有修改数据的操作日志,就是那个xxx.ldf文件里,需要用专门的工具查看。
单独删除某几项操作好像不可以
全部删除可以直接清空数据库日志
清空语句:
backup log 数据库名 with no_log
收缩日志文件
dbcc shrinkdatabase(数据库名)
清空日志前务必请备份数据库!!!
5. SQL Server 2000备份文件修改
一、备份数据库
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服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复
6. SQL server 2005中 备份事物日志后,用什么命令可以还原
回滚由 RESTORE 语句通过 [ RECOVERY | NORECOVERY ] 选项控制:
NORECOVERY 指定不发生回滚。
从而使前滚按顺序在下一条语句中继续进行。
在这种情况下,还原顺序可还原其他备份,并执行前滚。
RECOVERY(默认值)表示,应在完成当前备份前滚之后执行回滚。
恢复数据库要求要还原的整个数据集(“前滚集”)必须与数据库一致。
如果前滚集尚未前滚到与数据库保持一致的地步,并且指定了 RECOVERY,则数据库引擎将发出错误。
也就是说,你还原一个文件后,后续还有文件要还原,就要使用NORECOVERY,如果后续没有文件,或是你不想还原后续的文件,就使用recovery。
如果你要还原事务日志,首先你要有一个完整备份,先还原完整备份,并使用NORECOVERY选项,然后,按顺序还原日志备份。只要后续还有文件要还原,就使用NORECOVERY选项,如果后续没有文件或是不想再还原其他文件了,就使用RECOVERY选项。使用RECOVERY选项后,还原过程就完成了,数据库就可以使用了。
7. 如何查询SQL Server备份还原历史记录
SQL
Server在msdb数据中维护了一系列表,用来存储执行所有备份和还原的细节信息。即使你正在使用第三方的备份应用程序,只要这个应用程序使用SQL
Server的虚拟设备接口(Virtual
Device
Interface---VDI)来执行备份和还原执行,那么执行细节依然被存储在这一系列表中。
存储细节的表包括:
backupset
backupfile
backupfilegroup
(SQL
Server
2005
upwards)
backupmediaset
backupmediafamily
restorehistory
restorefile
restorefilegroup
logmarkhistory
suspect_pages
(SQL
Server
2005
upwards)
你可以在Books
Online里面找到上面这些表的具体说明。
下面这个脚本可以帮你找出每个数据库近期的备份信息:
SELECT
b.name,
a.type,
MAX(a.backup_finish_date)
lastbackup
FROM
msdb..backupset
a
INNER
JOIN
master..sysdatabases
b
ON
a.database_name
COLLATE
DATABASE_DEFAULT
=
b.name
COLLATE
DATABASE_DEFAULT
GROUP
BY
b.name,
a.type
ORDER
BY
b.name,
a.type
指定数据库最后20条事务日志备份信息:
SELECT
TOP
20
b.physical_device_name,
a.backup_start_date,
a.first_lsn,
a.user_name
FROM
msdb..backupset
a
INNER
JOIN
msdb..backupmediafamily
b
ON
a.media_set_id
=
b.media_set_id
WHERE
a.type
=
'L'
ORDER
BY
a.backup_finish_date
DESC
指定时间段的事务日志备份信息:
SELECT
b.physical_device_name,
a.backup_set_id,
b.family_sequence_number,
a.position,
a.backup_start_date,
a.backup_finish_date
FROM
msdb..backupset
a
INNER
JOIN
msdb..backupmediafamily
b
ON
a.media_set_id
=
b.media_set_id
WHERE
a.database_name
=
'AdventureWorks'
AND
a.type
=
'L'
AND
a.backup_start_date
>
'10-Jan-2007'
AND
a.backup_finish_date
<
'16-Jan-2009
3:30'
ORDER
BY
a.backup_start_date,
b.family_sequence_number
删除备份日志的两个存储过程:
EXEC
msdb..sp_delete_backuphistory
'1-Jan-2005'
EXEC
msdb..sp_delete_database_backuphistory
'AdventureWorks'
8. SQL 数据库如何更改自动备份
你装的不是server的系统吧
9. 如何查询SQL Server备份还原历史记录
查询SQL Server备份历史
SELECT
CONVERT(CHAR(100),SERVERPROPERTY('Servername'))ASServer,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
msdb.dbo.backupset.expiration_date,
CASE msdb..backupset.type
WHEN 'D' THEN 'Database'
WHEN 'L' THEN 'Log'
END ASbackup_type,
msdb.dbo.backupset.backup_size,
msdb.dbo.backupmediafamily.logical_device_name,
msdb.dbo.backupmediafamily.physical_device_name,
msdb.dbo.backupset.nameASbackupset_name,
msdb.dbo.backupset.description
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupsetONmsdb.dbo.backupmediafamily.media_set_id=msdb.dbo.backupset.media_set_id
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_finish_date
-----查询SQLServer还原历史
select bus.server_nameas'server',rh.restore_date,bus.database_nameas'database',
CAST(bus.first_lsnASVARCHAR(50))asLSN_First,
CAST(bus.last_lsnASVARCHAR(50))asLSN_Last,
CASE rh.[restore_type]
WHEN 'D'THEN'Database'
WHEN 'F'THEN'File'
WHEN 'G'THEN'Filegroup'
WHEN 'I'THEN'Differential'
WHEN 'L'THEN'Log'
WHEN 'V'THEN'Verifyonly'
END ASrhType
FROM msdb.dbo.backupsetbus
INNER JOINmsdb.dbo.restorehistoryrhON rh.backup_set_id=bus.backup_set_id
10. 如何修改sql数据库里某个记录
可以通过update(更新)语句实现给该记录操作。sql:update tablename set username ='zhangsan' where id =5;
解释:因为改变的是某条记录,所以必定有where条件来限定到此条语句,上面的举例就是通过id的唯一性先确定此条记录,之后通过update将tablename表中的username字段值进行更新。