阅文时长

| 0.37分钟

字数统计

| 596.8字符

主要内容

| 1、引言&背景 2、完整备份 3、完整还原 4、声明与参考资料

『MSSQL中完整备份及完整还原的T-SQL实践』

编写人

| SCscHero

编写时间

| 2022/5/27 AM12:47

文章类型

| 系列

完成度

| 已完成

座右铭

每一个伟大的事业,都有一个微不足道的开始。

一、引言&背景   完成度:100%

a) 应对背景

因项目安全角度考虑,不得使用ECS服务器,因此需要在家里和公司开发机的Local环境同步DB。博主最近在写一个自动备份还原的SQL脚本时,顺带复习备忘。

b) 应用场景

  • 使用T-SQL脚本实现MSSQL数据库完整备份还原。

二、完整备份   完成度:100%

a) 语法结构

备份只需要传两个参数。DatabaseName和BackupPath。

BACKUP DATABASE [DatabaseName] TO DISK = N'[BackupPath]' WITH INIT

b) 示例

--完整备份数据库
BACKUP DATABASE SCsc_001_BlogModule TO DISK = N'C:\LIST.Data\!SCsc数据库备份\SCsc_bak_full.bak' WITH INIT

三、完整还原   完成度:100%

还原的较备份要复杂一些,需要指定mdf、ldf路径以及文件逻辑名。

a) 步骤梳理

【Step 1】先查询备份文件的逻辑名,查询后可得到mdf和ldf的逻辑文件名。

restore filelistonly from disk='[BakFilePath]'

【Step 2】使用完整还原语法结构还原数据库。

b) 语法结构

按以下语法结构依次填入:需要还原的数据库名称、Bak文件绝对路径、mdf逻辑文件名、需要更改为的mdf逻辑文件路径、ldf逻辑文件名、需要更改为的ldf逻辑文件路径。

RESTORE DATABASE [ToBeRestoredDatabase]
FROM DISK = N'[BakFilePath]' WITH FILE = 1,
MOVE N'[mdfFileLogicName]'
TO N'[mdfFilePath]',
MOVE N'[ldfFileLogicName]'
TO N'[ldfFilePath]',
NOUNLOAD, REPLACE, STATS = 10

四、声明与参考资料   完成度:100%

原创博文,未经许可请勿转载。