sql server 附加数据库和还原数据库

本文详细介绍了SQL Server数据库的备份、附件、还原过程,包括使用EXEC sp_attach_db、backup database、restore database等SQL语句的操作方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

附加sql语句:

EXEC sp_attach_db @dbname = N'dataName', @filename1 = N'mdf_filepath.mdf', @filename2 = N'log_filepath.ldf'

注意:此方法附件数据库后,数据库添加成功后,数据库mdf和ldf文件为添加前的路径,sql server并没有把数据文件拷到默认路径下!

 

备份数据库:

backup database dataName to disk='d:\xxx.bak'

还原数据库:

1、

restore database dataName from disk='xxx.bak'

注意:该语句会根据备份前的数据库mdf和ldf文件路径进行还原,当之前路径不存在时会出现还原失败。

 

2、



restore database kaoqing from disk='xxx.bak' 
WITH MOVE 'LogicalName' TO 'xxx.mdf', 
    MOVE 'LogicalName' TO 'xxx.ldf'

——使用filelistonly命令来找出逻辑名称  ——LogicalName逻辑名称还原时不能改变  ——PhysicalName物理名称可以更改
restore filelistonly fromdisk='c:\test1_full.bak'

--------------------------------------------------
|  LogicalName  |           PhysicalName           |

--------------------------------------------------
| test1         | C:\mssql\data\test1.mdf          |

| test1_log     | C:\mssql\data\test1_log.ldf      |
-------------------------------------------------
 
RESTORE DATABASE Test
   FROM DISK = 'c:\test1_full.bak'
   WITH MOVE 'Test1' TO 'C:\MSSQL\SRVR2_Data\Test_Data.MDF',
        MOVE 'test1_log' TO 'C:\MSSQL\SRVR2_Data\Test_Log.LDF'
 

使用该方法进行数据还原时,会把数据库mdf和ldf文件拷到指定路径,不必担心数据备份前路径,LogiacalName表示逻辑名。

### 如何在 SQL Server还原数据库SQL Server 中,可以通过多种方法来实现数据库还原操作。以下是详细的说明: #### 使用 T-SQL 命令进行数据库还原 通过编写 T-SQL 脚本来还原数据库是一种高效的方式。以下是一个典型的例子: ```sql -- 还原数据库 RESTORE DATABASE gao FROM DISK = 'D:\桌面\bf.bak' WITH REPLACE, RECOVERY; ``` 此命令的作用是从指定路径中的 `.bak` 文件中恢复名为 `gao` 的数据库,并覆盖现有的同名数据库(如果存在)。其中参数 `REPLACE` 表示即使目标数据库已经存在也会强制替换它;而 `RECOVERY` 参数则表示使数据库处于可用状态[^2]。 对于事务日志备份文件也可以采用类似的语句来进行回滚应用: ```sql -- 还原日志 RESTORE LOG gao1 FROM DISK = 'D:\桌面\bf\log.trn' WITH RECOVERY; ``` #### 利用 SQL Server Management Studio (SSMS) 图形界面工具 除了命令行方式外,还可以借助 SSMS 提供的图形化用户接口轻松完成这项工作。 1. **启动 SSMS 并连接至服务器实例** 2. 在对象资源管理器里找到要处理的目标位置——即 “数据库” 下面的位置。 3. 对准该节点单击鼠标右键并依次选择菜单项:“任务 -> 还原 -> 数据库...” 4. 接下来按照向导指示填写必要字段即可顺利完成整个过程[^2]。 另外需要注意的是,在实际操作之前应当确认源备份集的有效性完整性以及目的存储空间是否充足等问题以免造成不必要的麻烦或者损失。 #### 分离与附加法作为另一种备选方案 当面对某些特殊情况比如迁移场景下,则可以考虑采取先分离再重新挂载的办法达成相同效果。 - 首先前转到对应DB上做一次完整的物理断连动作(`Detach`); - 紧接着把相关联的数据文件拷贝过去新环境相应目录之下; - 最终利用Attach功能将其纳入当前Server Instance管辖范围内形成新的逻辑映射关系[^2]。 以上就是在SQL Server环境下几种常见的针对不同需求所设计出来的具体实施方案概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值