(2期)数据库还原(支持覆盖数据库、自动创建相关路径)

Delphi 13.1下用Clever Database Comparer实现数据库结构同步与自动化 数据库结构漂移是开发、测试与生产环境之间最常见却极易被忽视的问题,手工比对表结构成本高且容易遗漏,尤其在对象依赖复杂时更难以把控。Delphi 13.1作为经典RAD环境,可借助Clever Database Comparer这一元数据驱动工具,快速拉平两个库的差异。其核心原理是通过读取系统目录表、建立规范化对象模型,再逐项比对并生成可执行的同步脚本;FireDAC等连接驱动的正确选择决定了元数据读取的可靠性。实际工程中,你可以安装控件后配置连接,选择比较范围,审查差异清单并生成ALTER脚本,甚至调用AP 阅读详情
/*********************************************************************************************
Function:数据库还原(支持自动覆盖现有数据库及自动创建相关路径)
Author:Bean
Date:2012-09-24
注:感谢“小爱”提供帮助
*********************************************************************************************/
use master
go
if OBJECT_ID('sp_restore','P') is not null drop proc sp_restore
go
create proc sp_restore
@dbName varchar(128),
@crtDBName varchar(128),
@fullDBSourcePath varchar(1024),
@dbStorePath varchar(1024)
as
Begin
	set nocount on
	declare @result int,							 --定义变量用来判断文件是否存在
			@mdfPath varchar(1024),
			@ldfPath varchar(1024),
			@crtPath varchar(1024)
	--//把'/'替换成'\'
	set @fullDBSourcePath=REPLACE(@fullDBSourcePath,'/','\')
	set @dbStorePath=REPLACE(@dbStorePath,'/','\')
	--//得到mdf 和 ldf 生成文件地址
 	set @mdfPath=@dbStorePath+'\'+	@dbName+'.mdf'
	set @ldfPath=@dbStorePath+'\'+	@dbName+'.ldf'
	
	/*** 判断路径是否存在 ***/
	exec sp_configure 'show advanced options',1;reconfigure;
	exec sp_configure 'xp_cmdshell',1;reconfigure;
	set @crtPath='mkdir '+replace(@dbStorePath,' ','" "')
	--//创建路径
	Exec master.dbo.xp_cmdshell @crtPath,NO_OUTPUT
	
	/*** 判断数据库是否存在 ***/
	if exists(select 1 from sys.databases where name =@dbName)
	Begin
		--//备份数据库
		declare @filename varchar(1024)
		--获取文件名
		set @fileName=@dbName+replace
							(replace
								(replace
									(CONVERT(varchar, getdate(), 120 )
									,'-','')
										,' ','')
											,':','')
					+'.bak'
		--开始备份
		exec
		(
			'backup database '+@dbName+' to disk='''+@dbStorePath+'\'+@fileName+''''
		)
		
		--//断开连接
		exec
		(
			'alter database '+@dbName+' set single_user with rollback immediate'
		)
	End	
	/*** bak数据库是否存在 ***/
	Exec master.dbo.xp_fileexist @fullDBSourcePath,@result out
	--如果存在
	if @result=1
	Begin
		exec(
			'restore database '+@dbName+
			' from disk= '''+@fullDBSourcePath+''''+
			' with replace ,
			       move '''+@crtDBName+''' to '''+@mdfPath+''','+
			     ' move '''+@crtDBName+'_log'''+' to '''+@ldfPath+''''
		)
	End
	Else 
	Begin
		RaisError('Can not find bak recourse from the Database Recourse Path.',16,1);
		Return;
	End
End
go
--测试脚本
--master.dbo.sp_restore 'XJTLU_04201','LANDAV8','D:\Data\bak\XJTLU_042020120911123443.bak','D:\Data'

Android手势密码还原:从locksettings.db到路径穷举的完整链路 手势密码是Android设备常见的轻量级身份认证机制,其本质是用户在网格上绘制的坐标序列经哈希加密后存储。理解其原理需厘清三个技术层:底层坐标建模(依赖startX/startY/padding等动态参数)、中间路径合法性规则(跳点约束与DFS生成)、上层哈希计算逻辑(salt+hash结构及字节序对齐)。该技术具有明确的工程价值——支持无root设备的离线取证与教学复现,广泛应用于移动安全教学、CTF逆向演练及企业MDM合规审计场景。本文聚焦Android 4–8系统,系统拆解从ADB取证、SQLite解 阅读详情

相关推荐

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战指南,提供从零开始的中文教程。内容涵盖仿真环境搭建、实体行为控制、脚本编写,到传感器、武器系统集成与复杂想定构建,最后讲解数据记录与结果分析方法,帮助用户快速掌握这一强大的军事仿真框架。

weixin_29281941的博客 949

【自定义配置类覆盖xxxAutoConfiguration】

自定义xxxConfig类并实现WebMvcConfiger,就会使WebMvcAutoConfiguration配置类失效,因为在该类中有@ConditionalOnMissingBean(WebMvcConfigurationSupport.class),这个注解会触发 ,这是因为我们在自定义的xxxConfig类中实现了WebMvcConfiger,点进这个接口就可以知道它继承了WebMvcConfigurationSupport,所以springboot自动帮我们配置好的webMvcAutoConf

qq_44925830的博客 560

海思Hi3559A/CV100 DDR4参数配置经验分享

海思Hi3559A/CV100 DDR4参数配置方法 Hi3559AV100 DDR4 驱动配置说明 1.1 Hi3559AV100 DDR4 CLK/AC 驱动配置方法 寄存器地址 DDR PHY0:0x1206d0bc DDR PHY1:0x1206f0bc 寄存器描述 − Bit[5:3]:CLK 驱动 − Bit[14:12]:2T 驱动 − Bit[20:18]:1T 驱动 驱动大小定义 − 000:Disable − 001:240ohm − 010: 120ohm − 011:80ohm −

WeChat_zhanggong345的博客 2883

数据库没有备份,数据被覆盖了,如何还原

数据库没有备份,数据被覆盖了,如何还原?这种情况下,可以通过日志来还原。先把数据库还原到上一时间段备份的版本。然后通过MYSQL提供的日志查看工具mysqlbinlog 来查看这指定时间段的操作记录:如,宝塔面板下装的数据库,都开启了二进制日志,通过以下命令就可以查到2018-05-11 18:11:10 到 2018-05-11 18:30:10 这段时间的 数据库的操作记录/www/s...

沈明沅 9753

学习海康VisionMaster之路径提取

这里也需要注意下,这里有两种模式,在运行参数的这一栏有“等距离取点”和“查找边缘点”两个检测模式,说实话,那个等距离取点我也没搞懂有什么用,我拿了OK和NG的图片去对比,好像没有什么实际用处,无法检测(不知道有没有小伙伴知道这个模式到底是怎么用的!2:应用场景:典型的场景是点胶检测,判断胶路质量,有没有断胶等,一开始这胶路检测,真的是难倒我了,特别是不规则图像如何检测,学习了这个算子后,思路一下子打开了,原来还可以这么搞!四:实测:上述设定好参数,开始实际测量看看效果,不同的检测模式下的检测效果。

yuhouxiyang的专栏 1487

SerDes硬件设计原理介绍

接收端:外部差分串行数据------线性均衡器----(CDR从数据中恢复出采样时钟)-----解串器(串行信号转并行信号)-------8B/10B的解码器或解扰器-----FIFO-----FPGA接受差分并行数据。发送端: FPGA发送差分并行数据----FIFO------8B/10B编码器或者扰码器-----串行器(并行信号转串行信号)-----均衡器(滤波)--------TX串行信号差分外发。串行器:8bit的并行数据----2bit的并行数据----1bits的串行数据。

weixin_42304393的博客 1110

restore database和recover database的区别

restore 只是用备份来还原,recover是用archivelog或者online log     举例说明:     假设我时间点A,做了个备份,时间点B数据库挂了         restore database ;// 这个操作利用时间点A做的备份来还原,返回到时间点A         recover database ;//这个操作利用archivelog and onlin

yang987913的专栏 1822

【实战指南】OpenClaw Telegram 群聊不响应完整解决方案:从获取群 ID 到关闭隐私模式全流程

将整个从“获取群组 ID → 配置 OpenClaw Telegram 通道 → 关闭隐私模式 → 测试”的全流程都整合进去。

hampeter的博客 3495

SQLsever数据库如何覆盖还原数据库

今天老师下发了项目数据库的备份,那么我就来讲讲如何覆盖还原数据库1.第一步新建数据库跟你要还原的数据库同名!2.鼠标右击——任务——还原——数据库3.选中“设备”——单击后边的“···”4.添加你要还原的文件,选中后点击“确定”就可以了。怎样很简单吧。以为这样就完了?没有呢!!5.最后一步做到如图就可以了!结束。希望能够帮助你。...

weixin_39428398的博客 1万+

STM32F407+LAN8720网口不通?别慌,手把手教你用CubeMX和HAL库搞定RMII配置与调试

本文详细介绍了STM32F407与LAN8720网口不通的全面排查与解决方法,涵盖硬件检查、CubeMX配置、PHY芯片初始化和LWIP协议栈优化。通过RMII接口配置、时钟树设置和PHY芯片调试,帮助开发者快速定位并解决网络连接问题,提升嵌入式网络开发效率。

weixin_30457551的博客 507

linux和mac安装+配置circos(

一定要下载完这两个包,GD才会work,要不然会报错,且-modules显示也是fail。官网的教程说的很明白,但是很多包都已经过时了需要在网上找。一般来讲,所有包的安装都不会太困难,除了GD。1.是因为官网给的链接下出来的tgz无法解压。2.我的电脑安装后GD照样是fail的。,进入这个地址下一个.tgz。第二点的原因在于,官网的情况。,进入这个地址,按部就班。GD安装困难有以下几点。搞了一天终于配置成功。

xiufan1的博客 553

数据库还原(支持覆盖数据库、自动创建相关路径)

作者:bean_sql /********************************************************************************************* Function:数据库还原(支持自动覆盖现有数据库及自动创建相关路径) Author:Bean Date:2012-09-24 注:感谢“小爱”提供帮助

beyondqd的专栏 1166

MATLAB出现”警告: 名称不存在或不是目录“的解决方案

MATLAB出现 警告: 名称不存在或不是目录 的解决方案1. 出现错误2. 问题解释3. 解决方法4. 特殊情况5. 问题解决6. 多多点赞交流 1. 出现错误 打开MATLAB突然发现,出现下面的错误: 提示我们不存在这样的路径。 2. 问题解释 这样的错误很明显,我们曾经在预设路径中添加了这个文件夹。 在某种情况下,我们把它删除了,现在MATLAB找不到它了。 (这里我在桌面上添加了新建文件夹,然后将其添加到MATLAB的搜索路径中。之后把新建文件夹删除了,所以就会出现这样的报错) 3. 解决方法

qq_18820125的博客 5万+

SQL Server 2012 数据库备份还原

文章目录1.数据库备份2.创建备份设备使用SSMS工具创建备份设备使用SQL方式创建备份设备3.完整备份与还原使用SSMS工具完整备份与还原使用SQL方式完整备份与还原4.差异备份与还原使用SSMS工具差异备份与还原使用SQL方式差异备份与还原5.事务日志备份与还原使用SSMS工具事务日志备份与还原使用SQL方式事务日志备份与还原 1.数据库备份     数据库备份,即从SQL Server数据...

柚子君的小窝 2万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Chat2DB部署指南:3条路径10分钟跑通数据库客户端

Chat2DB 部署到一半,容器起不来、报"没有有效加密密钥"?或者你只是想装一个能连 40+ 数据库的 SQL 工作台,却被一堆前置依赖卡住。Chat2DB 是一个本地优先的数据库客户端与 SQL 工作台:连接 MySQL、PostgreSQL、Oracle、Redis 等 40+ 种数据库,编写并执行 SQL,还能接你自己的 AI 模型生成与解释查询。本文覆盖 Docker 容器、源码编译、原

gitblog_00572的博客 1039

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Synology HDD db 完整教程:如何把第三方硬盘加入群晖兼容硬盘数据库

新换硬盘后,存储管理器立刻弹出“未验证硬盘”警告,新机型甚至建不了存储池。Synology HDD db 会把你的硬盘写进 DSM 的兼容硬盘数据库,让不受支持的盘变成受支持,一条 SSH 命令搞定。 ## 🔍 为什么弹警告:DSM 硬盘数据库的判定与自动更新覆盖机制 先说结论:这个警告不是系统故障,而是 DSM 在本地硬盘数据库文件里找不到你的硬盘。 DSM(群晖 NAS 的操作系统)为

gitblog_00871的博客 970

群晖硬盘“不受支持“修复:Synology_HDD_db 写入兼容数据库完整指南

Synology_HDD_db 是一个免费开源脚本,把你已装硬盘的型号与固件写进群晖兼容数据库,一次运行清掉"不受支持"兼容警告。本文覆盖从前置检查到参数进阶再到一键回退,每一步都给出可核对的验证点。 ## 群晖兼容列表机制:警告从哪里来 本节讲清"不受支持"警告的来源,帮你提前判断值不值得处理。 DSM 内置一份按机型划分的兼容列表:只有名单内的型号获得完整支持,名单外的硬盘从装上那一刻起

gitblog_00242的博客 1065

sql server数据库复制、备份及还原相关深坑问题解决汇总

前几天做一个JAVA电商项目,数据库部署时,遇到几个让人抓狂的问题,今天抽空整理下来,希望能帮助到更多的开发者。主要内容包括:sql server数据库复制、如何备份和还原及相关问题解决

黑马晓程序 1535

使用 community-templates 的 Zabbix DB Partitions 模板监控数据库每日分区预创建状态

本文基于 Zabbix 社区模板仓库 community-templates 中的 [Zabbix DB Partitions 模板](https://link.gitcode.com/i/c3bed1349361b2c07a86ac5d6815f0f4),完整讲解如何通过 SSH agent 方式监控 MariaDB/MySQL 数据库"未来 5 天分区是否已提前创建"这一运维关键场景。读完本文

gitblog_00009的博客 732

视频修复工具 Jasna 的发布追溯清单:RELEASE_SOURCES.md 记录了什么,如何核验

Jasna 是一个 AGPL-3.0 授权的视频修复(video restoration)工具,修复流程覆盖解码、马赛克检测、BasicVSR++/LTX 超分重建到编码输出。它的官方发布包并不是某个 git tag 的机械产物:同一个包里混着公共应用源码、源码不公开的保护组件、被修改的第三方 fork,以及来自不同构建源的 FFmpeg。于是"版本号 = 二进制对应哪份源码"这条直觉不成立,[R

gitblog_00889的博客 184

Chat2DB:免费的本地优先数据库客户端,连接 40+ 数据库还能用你自己的 AI 模型

Chat2DB 社区版是一款免费、本地优先的数据库客户端,把"连库、管数据、写 SQL、AI 生成查询"收进同一个窗口:内置 40+ 种数据库连接,支持桌面、Web、Docker 和 CLI 多种运行方式,还能接入你自己的 AI 模型。以下按实际使用路径拆解:先说清它替你解决了什么,再讲装在哪里、每天怎么用、部署时唯一容易踩的坑,以及如何把它接进 AI 助手。 ## 为什么选 Chat2DB:一

gitblog_00718的博客 734

Chat2DB 完整上手:免费本地优先的 AI 数据库客户端

Chat2DB 是一款免费开源的本地优先数据库客户端,内置 SQL 工作空间和 AI 助手。适合开发者、DBA 和数据分析师,以及想把多个数据库收进一个工作台的团队。区别于多数同类产品,数据默认留在本机,AI 能力可以接入你自己的模型。 [![Chat2DB AI 数据库客户端工作台界面背景](https://raw.gitcode.com/GitHub_Trending/ch/Chat2DB/

gitblog_00130的博客 1033

AI-Compass NLP2SQL模块:集成Chat2DB、DB-GPT、MindsDB等核心工具,实现自然语言到SQL转换的智能化数据查询生态系统

AI-Compass NLP2SQL模块:集成Chat2DB、DB-GPT、MindsDB等核心工具,实现自然语言到SQL转换的智能化数据查询生态系统

丨汀、的博客 1572

REA:一条命令让 AI 编码助手跑通逆向分析

手边一个没有源码的 APK,想弄清分享按钮到底调了哪个接口?你不必自己啃反汇编。开源项目 REA 把你的 AI 编码助手接上一整套逆向工具,让它直接分析二进制和 JS 应用的成品文件,给出带证据的结论。 [![REA 逆向工作流:分析桥接加载进 Hopper 反汇编原生二进制](https://raw.gitcode.com/GitHub_Trending/rea2/rea/raw/55b6d2

gitblog_00268的博客 691

Stats macOS 菜单栏系统监视器:如何把 10 个硬件指标装进状态栏

Stats 是一个开源的 macOS 菜单栏系统监视器。不占 Dock、不开大窗口,CPU、内存、网络、电池等监控数据直接显示在菜单栏,点图标看详情。装它有三条路,装完还能讲清它内部怎么转。 ## 运行前提:什么系统能跑、数据从哪里读 三个前提先说清楚: - **系统要求**:macOS 12(Monterey)及以上,且只认稳定版——Beta 系统不保证能跑。 - **两种芯片,两条读取路

gitblog_00019的博客 708
上一篇: (2期) 数据库所有表批量增加字段
下一篇: (2期)数据库还原(支持自动创建路径)
bean_sql
博客等级 码龄16年 55粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值