如何使用T-SQL备份还原数据库及c#如何调用执行?
准备材料:Microsoft SQL Server一部、需要还原的bak文件一只
一、备份
数据库备份语句:user master backup database 数据库名 to disk='保存路径\dbName.bak'
实战操作:这里要使用sql语句对TEST数据库进行备份,当然你也可以使用mssql自带工具进行操作,咦,麻烦死了
一句sql:
use master backup database TEST to disk='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TEST.bak'
截图童叟无欺:
二、还原 相对较为麻烦,因为有日志文件的问题还有杀死连接的问题。
数据库还原语句:
use master restore database 数据库名 from disk='保存路径\dbName.bak' WITH MOVE 'dbName_Data' to '保存路径\test20160428.mdf',
move 'dbName_Log' to '保存路径\test20160428_Log.mdf'
实战操作:这里我重新找了一个bak文件进行还原。源Bak文件名:FTZMIS20151218.bak
①首先,首先要查找到源bak文件中的数据文件和日志文件名称,需要一条SQL语句
sql:
restore filelistonly from disk = 'F:\华美数据核对20160407\FTZMIS20151218.bak'---查找BAK文件相关信息
结果:LogicalName列下的值就分别问数据文件名称和日志文件名称,待会要用到。
②正题开始,进行还原操作。
sql:
restore database kaifang from disk = 'F:\华美数据核对20160407\FTZMIS20151218.bak'--源bak文件 with REPLACE--这句的意思是是否覆盖目标数据,也就是这里的数据库:kaifang , move 'ABOQDB' to 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\FTZMIS.mdf'--数据文件还原后存放的新位置 ,move 'ABOQDB_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\FTZMIS_1.ldf'--日志文件还原后存放的新位置
截图:暂无,还原还在执行
截图来了,