如何在SQL Server中恢复多个数据库?

news2024/12/23 18:56:06

一次性恢复多个 SQL数据库吗可以吗

"是的,可以一次性恢复多个 SQL 数据库。通常情况下,只要备份文件的名称与相应的数据库匹配,且没有附加的日期或时间信息,就可以通过有效的 T-SQL 脚本来完成恢复。如果你希望有更灵活的操作,还可以选择使用带有图形用户界面的工具,具体选择取决于你的偏好。"

方法1 .使用脚本来恢复SQL Server中的所有数据库

您可以使用脚本为SQL Server中的所有数据库生成恢复命令,并将它们组合成一个新脚本来执行。

1. 单击“新建查询”并在 SQLQuery 窗口中输入以下命令:

DECLARE @folderpath VARCHAR (1000)
SELECT @folderpath = 'D:\Backup\' -- 备份位置
SELECT 'RESTORE DATABASE['+NAME+'] FROM DISK = ''' +@folderpath +name+'.bak'' WITH NORECOVERY ,
REPLACE, STATS = 5'
FROM master.sys.databases
WHERE name NOT IN ('master','model','msdb','tempdb','distribution')

这将生成一系列命令,用于从同名的 bak 文件恢复SQL Server中的多个数据库。

2. 右键单击​​结果中的任何命令,“选择全选”,然后“复制”它们(或使用 Ctrl + A 和 Ctrl + C)。

  1. 将这些命令粘贴到 SQLQuery 窗口作为新脚本“执行”。它将从具有相应文件名的 bak 文件中恢复SQL Server的所有数据库。

方法2: 使用命令从bak文件中恢复多个数据库

您可以使用脚本从一个文件夹中恢复SQL Server中的多个数据库。但在此之前,请连接到实例并启用 xp_cmdshell

1. 单击“新建查询”并输入以下命令:
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO。
EXEC sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO

“执行”查询,该功能将被启用。

2.然后您可以使用脚本恢复SQL Server的多个数据库(请将“D:\backup\”替换为您自己的“包含所有备份文件的文件夹”):

DECLARE @FilesCmdshell TABLE (
    outputCmd NVARCHAR (255)
)
DECLARE @FilesCmdshellCursor CURSOR
DECLARE @FilesCmdshellOutputCmd AS NVARCHAR(255)
 
INSERT INTO @FilesCmdshell (outputCmd) EXEC master.sys.xp_cmdshell 'dir /BD:\backup\*.bak'
SET @ FilesCmdshellCursor = CURSOR FOR SELECT outputCmd FROM @FilesCmdshell
 
OPEN @FilesCmdshellCursor
FETCH NEXT FROM @FilesCmdshellCursor INTO @FilesCmdshellOutputCmd
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @cmd NVARCHAR(MAX) = 'RESTORE DATABASE [' + SUBSTRING(@FilesCmdshellOutputCmd, 0, CHARINDEX('.', @FilesCmdshellOutputCmd)) + '] FROM DISK = N''D:\backup\' + SUBSTRING(@ FilesCmdshellOutputCmd, 0, CHARINDEX('.', @FilesCmdshellOutputCmd)) + '.bak'' WITH FILE = 1, NOUNLOAD, STATS = 10'
EXEC(@cmd)
 
FETCH NEXT FROM @FilesCmdshellCursor INTO @FilesCmdshellOutputCmd
END

“✎注意:”如果您收到错误“数据库的日志尾部尚未备份。如果日志包含您不想丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份日志。使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句只是覆盖日志的内容”,解决方法如提示所说。

例如,您可以将还原命令修改为“...WITH FILE = 1, REPLACE, NOUNLOAD, STATS = 10”

方法三. 使用专业备份工具备份和恢复多个 SQL数据库

傲梅企业备份旗舰版支持Microsoft SQL Server(2005-2022),VMware ESXi(6.0及以上版本)和Hyper-V(Windows 8/8.1/10/11,Windows Server/Microsoft Hyper-V Server 2012 R2及更高版本)。如果您觉得还不错的话可以点击下方按钮进入下载中心下载安装傲梅企业备份旗舰版,然后跟着我们的演示教程一起看看怎么轻松备份数据库吧!

在开始备份数据库之前,我们需要先安装代理,所以请您在主机端登录傲梅企业备份旗舰版,在主界面点击“设备”>“代理设备”>“下载代理”

等待下载完成之后再将此代理客户端安装到您需要备份SQL数据库的计算机上,然后将客户端上的IP通过Web端连接哦。

在安装完代理客户端,并且成功建立控制连接之后,还需要验证一下数据库实例,所以请您点击“设备”>“Microsoft SQL Server”,找到您的数据库,点击其右侧的三个小点图标,选择“身份验证”,并在弹出窗口中选择“SQL身份验证”,再输入账户密码,点击“验证”即可。

注意:除此之外还有一种远程安装代理的方法,就是点击“设备”>“代理设备”>“添加代理”,然后输入客户端计算机的IP地址与用户信息,点击“确定”即可开始远程安装代理。

傲梅企业备份旗舰版备份SQL数据库

安装完代理客户端之后,我们就可以开始备份SQL Server数据库了,请您参考以下流程并逐步进行操作:

步骤1. 在傲梅企业备份旗舰版主界面中点击“任务”>“备份任务”>“新建任务”

步骤2. 在弹出页面中点击备份类型下拉菜单,选择“Microsoft SQL Server备份”

步骤3. 点击设备,选择您想要备份的SQL数据库实例,然后点击“确定”

步骤4. 点击目标,选择一个目标路径用于存储您的备份文件(可以选择本地位置或网络共享路径),然后点击“确定”

步骤5. 点击备份计划,选择您想要的备份方式(完全备份/增量备份/差异备份)和自动备份频率间隔(可以是每天/每周/每月),然后点击“确定”

步骤6. 点击版本清理,选择您想要将备份文件保留多久,并且支持始终保留某个指定完全备份,超出时间的备份版本将自动清除,节省备份磁盘空间,然后点击“确定”

步骤7. 确认无误之后就可以点击右下角的“开始备份”按钮,并选择“添加定时任务并立即备份”“仅添加定时任务”,创建的任务将单独列出和监控,以进行恢复、进度检查和计划更改。

傲梅企业备份旗舰版还原SQL数据库

在此之后,如果您需要还原数据库的话,可以转到“备份管理”>“历史版本”,找到您想要还原的数据库备份版本,点击其右侧的三个小点图标,选择“还原”,然后您可以选择还原到原位置或新位置,非常方便。

结论

SSMS 工具一次只能还原一个数据库。如果需要一次性恢复多个 SQL Server 数据库,通常使用 T-SQL 脚本。然而,这种方法对备份文件名的要求较为严格,因此在将数据库恢复到其他实例时可能会遇到困难。对此,你也可以考虑使用 SQL 备份软件,如傲梅企业备份旗舰版。它使操作更加便捷,比如你可以通过几次点击自动备份 SQL 数据库,并以同样简便的方式一次性恢复多个数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻引擎VR游戏开发03| 键位映射

Enhanced input mapping 按键映射 在虚幻引擎(Unreal Engine)中,Enhanced Input Mapping 是一个用于管理和处理输入(例如键盘、鼠标、手柄等)的系统。它提供了一种更灵活、更强大的方式来定义和响应用户输入&#xff…

MMO移动同步(1)

多个客户端同时连入游戏 这篇会从以下五个部分讲解: 同步的基本概念 完善角色进入及离开处理 CharacterManager(C/S) EntityManager(C/S) 打包运行Win客户端 同步基本概念 同步:角色信息,位置,状态同步;客户端和…

神仙公司名单(北京篇)

欢迎来到小落科技每日分享频道 大家好,秋招已经火热进行中了,不知道大家准备得怎么样了?特别是咱们25届的小伙伴们,有没有找到心仪的目标? 想必大家最近和我一样,忙着在各种招聘平台上搜罗信息&#xff0c…

如何在 Cursor 中使用驭码CodeRider?

驭码CodeRider 是极狐GitLab 公司自研发布的 AIGC 产品,可以用来进行 AI 编程和 DevOps 流程处理。本文分享如何在 Cursor 中使用驭码CodeRider。 Cursor 是近期比较火爆的一款 AI 代码编辑器,通过将 AI 能力引入软件研发来提升软件研发效率。而驭码Cod…

水凝胶透镜是什么?能用来干啥?

大家好,今天我们来了解一项关于蛋白质驱动的水凝胶透镜的研究——《Toward Tunable Protein‐Driven Hydrogel Lens》发表于《Advanced Science》。我们的眼睛晶状体主要由蛋白质构成,在视觉中起重要作用。但人造光学系统要实现类似功能却不容易。近年来…

【设计文档】数据库设计说明书(Word实际项目案例参考)

一、 总述 (一) 编写目的 二、 外部设计 (一) 环境说明 (二) 指导 三、 物理实现 (一) 物理结构 (二) 安全设计 四、 表设计结构 (一&am…

【软件文档】软件系统试运行方案、试运行报告(Word项目实际原件)

一、 试运行目的 (一) 系统功能、性能与稳定性考核 (二) 系统在各种环境和工况条件下的工作稳定性和可靠性 (三) 检验系统实际应用效果和应用功能的完善 (四) 健全系统运行管理体制&…

【数字人】Facevid2vid:用于视频会议的一次性自由视图说话头合成

论文:https://arxiv.org/pdf/2011.15126 github:GitHub - zhanglonghao1992/One-Shot_Free-View_Neural_Talking_Head_Synthesis: Pytorch implementation of paper "One-Shot Free-View Neural Talking-Head Synthesis for Video Conferencing" 一种新颖…

ip地址的管理方法有哪些?是什么

IP地址的管理方法有哪些?随着互联网的快速发展,‌IP地址作为网络设备的唯一标识,‌其管理显得尤为重要。‌有效的IP地址管理不仅可以确保网络的稳定运行,‌还能提高网络资源的利用率。‌本文将深入探讨IP地址的管理方法&#xff0…

网银U盾:财务眼中钉,会计肉中刺!

随着网银U盾的广泛应用,虽然使得财务安全有了大幅提升,但企业财务管理效率却越来越低了。 近期,我们发现,高达85%的企业在采购我们的USB Server时,都是出于网银U盾反复插拔的繁琐、效率低下、管理困难等原因。 想象一…

sqli-labs靶场通关攻略(五十一到六十关)

sqli-labs-master靶场第五十一关 步骤一,尝试输入?sort1 我们发现这关可以报错注入 步骤二,爆库名 ?sort1 and updatexml(1,concat(0x7e,database(),0x7e),1)-- 步骤三,爆表名 ?sort1 and updatexml(1,concat(0x7e,(select group_conc…

CentOS 7 docker 部署遇到内网通,外网不通 问题

CentOS 7 docker 部署遇到内网通,外网不通 问题 [rootlocalhost ~]# systemctl status network ● network.service - LSB: Bring up/down networkingLoaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)Active: failed (Result: exit-code) …

多角度解读WMS:探寻仓库管理系统的核心功能

多角度解读 WMS 仓库管理系统 1. 概述 WMS 在数字化工厂中具有举足轻重的地位,它不仅提高了仓储管理的效率与准确性,还能优化整个供应链的管理,支持灵活生产模式,并提供决策支持的关键数据。通过现代前后端技术的架构设计&#xf…

几十块的麦克风能用吗?一文看懂哪个牌子的麦克风好

无论是拍摄短视频、直播还是采访,说一款好的音频设备是非常重要的,它决定了音频质量的高低,如今市面上的麦克风种类也是各式各样的都有,价格上也是参差不齐,有些小伙伴问“几十块的麦克风能用吗”? 我觉得最…

Docker部署项目时的服务端口设置——给容器添加新端口映射

Docker给容器添加新端口映射 1 Docker安装Ubuntu22.042 创建新容器3 给容器添加端口映射3.1 查看运行的容器3.2 查看容器挂载目录3.3 停止容器3.4 停止docker服务3.5 进入容器挂载目录3.6 修改config.v2.json文件3.7 修改hostconfig.json文件3.8 启动docker3.9 启动容器 4 端口…

C语言中volatile与const关键字的深入解析

在C语言编程中,volatile和const是两个非常重要的关键字,它们各自有着独特的用途。本文将深入探讨这两个关键字的工作原理、底层实现机制以及在实际开发中的应用。 volatile关键字 1. 原理与作用 volatile关键字用于告诉编译器,所修饰的变量…

若楠带你初识OpenCV(2)--图片修改、运算,边界填充以及阈值调整

文章目录 OpenCV图片修改1. 图片缩放2. 图片打码3. 图片组合 图像运算1. 直接相加2. add()方法相加3. 权重相加 边界填充阈值调整总结 OpenCV OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它主要用于实…

Nginx负载均衡数据流分析

1、各机器ip信息 客户端IP:192.168.3.239 Nginx代理服务器IP:192.168.3.241 服务端IP:192.168.3.238 2、架构图(略) 3、 下图是在服务端上面的抓包分析。 下图是在客户端上面的抓包分析: 下图是在代理服务…

32 配置多路由的静态路由

配置多路由的静态路由 一、多路由器的静态路由配置 ​ 配置网络拓扑配置接口IP地址并通过静态路由的配置实现全网的互通 R0: # 进入特权 Router>enable# 进入全局 Router#configure terminal # 进入接口 Router(config)#interface fastEthernet 0/0# 配置IP R…

如何使用 Mistral 和 Llama2 构建 AI 聊天机器人

开始使用 Mistral 让我们从 Mistral 7B Instruct 的 GGUF 量化版本开始,并使用 AutoClasses ‘AutoModelForCausalLM’ 之一来加载模型。AutoClasses 可以帮助我们自动检索给定模型路径的模型。AudoModelForCausalLM 是具有因果语言建模的模型类之一,这…