请帮忙写出数据库备份的SQL语句,在备份时不包括数据库日志:谢谢!!

请帮忙写出数据库备份的SQL语句,在备份时不包括数据库日志:谢谢!!,第1张

给你一个vb版本的作为参考吧,思路应该一样。

还原:

Private Sub restoreButton_Click()

If Text2.Text <>"" Then '如果路径不为空

If Dir(Text2.Text, vbDirectory) <>"" Then '如果路径所在的文件存在,即路径正确

sqlString = "RESTORE DATABASE patrol FROM disk = '" &Text2.Text &"'"

Set rs = accessSQL(sqlString)

Unload Me

MsgBox "数据库还原成功!", vbOKOnly, "成功!"

Else

MsgBox "找不到该文件!", vbOKOnly, "提示!"

End If

Else'如果文件路径为空

MsgBox "文件路径不能为空", vbOKOnly, "提示!"

End If

End Sub

备份

Private Sub backupButton_Click()

If Text2.Text <>"" Then '如果路径为空

If Dir(Text2.Text, vbDirectory) <>"" Then '如果路径所在的文件已经存在

If MsgBox("该文件已经存在!" &vbCrLf &"要覆盖原有文件?", vbYesNo, "警告!") = vbYes Then

GoTo next1

Else

GoTo Next2

End If

Else '不存在覆盖问题

GoTo next1

End If

'备份数据库

next1: sqlString = "backup database patrol to disk = '" &Text2.Text &"' WITH FORMAT, NAME = '" &Text3.Text &"'"

Set rs = accessSQL(sqlString)//查询数据库

Unload Me

MsgBox "数据库备份成功", vbOKOnly, "成功!"

Else

MsgBox "路径不能为空", vbOKOnly

Next2: End If

End Sub

1、完全备份

这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一周做一次完全备份。

2、事务日志备份

事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。

3、差异备份

也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。

4、文件备份

数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。

数据库备份重要性

尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性。

数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况。此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果。

数据库的性能是DBA都需要重点关注的,日志文件的增多严重影响数据库的性能,本文将为您介绍SQL Server删除日志文件的方法,供您参考,希望对您有所帮助。

数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的 *** 作。可以通过直接删除log文件和清空日志在清除数据库日志。

一、删除LOG

1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。

勾选删除连接.

分离后在数据库列表将看不到已分离的数据库。

2、删除LOG文件

3、附加数据库,附加的时候会提醒找不到log文件。

删除数据库信息信息的ldf文件:

附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。

也可以通过命令才完成以上的 *** 作:

use masterexec sp_detach_db @dbname='TestDB'exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'

二、清空日志

该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。

DUMP TRANSACTION TestDB WITH NO_LOG

三、收缩数据库文件

DBCC SHRINKFILE ('TestDB_log',1)

四、截断事务日志

BACKUP LOG TestDB WITH NO_LOG

该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。


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

原文地址: https://outofmemory.cn/sjk/6623295.html

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

发表评论

登录后才能评论

评论列表(0条)

保存