用SQL语句备份数据库

用SQL语句备份数据库,第1张

用SQL2000还原bak文件

1.右击SQL

Server

2000实例下的“数据库”文件夹。就是master等数据库上一级的那个图标。选择“所有任务”,“还原数据库”

2.在“还原为数据库”中填上你希望恢复的数据库名字。这个名字应该与你的源码中使用的数据库名字一致。

3.在d出的对话框中,选“从设备”

4.点击“选择设备”

5.点击“添加”

6.点击“文件名”文本框右侧的“...”按钮,选中你的“.BAK”文件,并点击确定回到“选择还原设备”对话框。

7.点击确定回到“还原数据库”对话框。

8.点击“选项”选项卡

9.将所有“移至物理文件名”下面的路径,改为你想还原后的将数据库文件保存到的路径。如果你不希望改变,可以直接点击确定。这时便恢复成功了。

很不错!我今天终于把.bak搞定了,这里有个要注意的地方就是选项中的“移至物理文件名”下面的路径,这个路径一定要修改哦,不然会出现错误

SQL语句里有.

备份

backupdatabase[数据库名]todisk=[磁盘路径]

例如

backupdatabasedatatodisk='D:\1.bak'

恢复

restoredatabase[数据库名]fromdisk=[磁盘路径]

例如

restoredatabasedatafromdisk='D:\1.bak'

createPROCEDUREGY_DBBak

@bakequipint,--备份设备:磁盘&磁带

@bakpathvarchar(50),--带全路径的备份文件名

@baktypeint,--完全备份&增量备份

@baklogint,--‘0’备份日志

@bakdbint,--‘0’备份数据库

@kindvarchar(7),--备份还是恢复

@retmsgvarchar(20)output--返回信息

AS

DECLARE@DevName_datavarchar(50)

DECLARE@DevName_logvarchar(50)

declare@db_pathvarchar(100)

declare@log_pathvarchar(100)

DECLARE@RCINT

SELECT@db_path=@bakpath+'.dat'

SELECT@log_path=@bakpath+'log.dat'

SELECT@RC=0

DBCCCHECKDB(Northwind)

/***********************************************************

**CREATEBACKUPANDRESTOREDEVICES

************************************************************/

IF@RC=0

BEGIN

EXECsp_addumpdevice'disk',@DevName_data,@db_path

execsp_addumpdevice'disk',@DevName_log,@log_path

select@rc=@@error

IF@RC<>0

begin

EXECSP_DropDevice@Devname_data

execsp_dropdevice@devname_log

SELECT@RC=-1000

return@rc

end

END

IF@kind='backup'

BEGIN

IF@bakequip=0

BEGIN

IF@baktype=0

BEGIN

IF@bakdb=0

BEGIN

BACKUPDATABASENorthwindTODISK=@Devname_data

WITHINIT

END

IF@baklog=0

BEGIN

BACKUPLOGNorthwindWITHNO_LOG

BACKUPLOGNorthwindTODISK=@DevName_log

WITHINIT,NO_TRUNCATE

END

END

ELSEBEGIN

IF@bakdb=0

BEGIN

BACKUPDATABASENorthwindTODISK=@DevName_data

WITHNOINIT

END

IF@baklog=0

BEGIN

BACKUPLOGNorthwindWITHNO_LOG

BACKUPLOGNorthwindTODISK=@DevName_log

WITHNOINIT,NO_TRUNCATE

END

END

END

SELECT@retmsg='数据库备份成功!'

END

IF@kind='restore'

BEGIN

RESTOREDATABASENorthwindFROMDISK=@DevName_dataWITHREPLACE

SELECT@retmsg='恢复数据库成功!'

END

RETURN0


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

原文地址: http://outofmemory.cn/sjk/9965197.html

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

发表评论

登录后才能评论

评论列表(0条)

保存