首页 > 数据库 >SQLServer备份恢复的总结-同名恢复与异名恢复

SQLServer备份恢复的总结-同名恢复与异名恢复

时间:2023-12-12 09:04:11浏览次数:22  
标签:schema 恢复 数据库 SQLServer 异名 csr 备份 SCHEMA

SQLServer备份恢复的总结


前言

GUI 搞一把. 命令行太多了也没人看
自己还能省点心

备份

备份数据库建议一定要选择: 备份选项中的

压缩->压缩备份

历史经验一个7.6G的数据库能够压缩到 1.5G
压缩比还是已非常可观的. 

同名恢复

1. 可以使用sa登录
2. 创建一个database, 同名恢复建议恢复为同一个名字
3. 右键选中数据库进行全量数据库的恢复处理.
4. 全库恢复就可以. 
5. 在数据库级别的安全性创建一个用户, 简单起见可以与数据库同名
6. 注意架构的地方选择上恢复的数据库名字
7. 同时在数据库角色位置,选择db_owner, 这个地方需要注意, 一定要选择新增加的数据库,不要选择其他的, 可能会报错可以忽略. 
8. 执行SQL将,系统级别的安全性下的用户与数据库架构关联. 
use databasename
exec sp_change_users_login 'update_one' ,'databasename','username'

异名恢复

与同名恢复的动作基本上一样, 区别是在最后第八步之前需要重新处理一下表的属主

第一步, 在数据库实例级别的安全性->架构下面增加一个架构. 简单期间一般 架构, 数据库名 , 用户名保持一致

然后执行如下SQL进行架构属主的更改. 
注意需要修改 三个有注释变量的名字. 

USE newdatabase;  --新数据库
DECLARE
	@TABLE SYSNAME;
DECLARE
	@SCHEMA SYSNAME;
DECLARE
	@new_schema SYSNAME;
SELECT
	@SCHEMA = 'oldusrname' --原有属主
SELECT
	@new_schema = 'newusrname' --新属主
DECLARE
	csr CURSOR FOR SELECT
	o.name,
	u.name 
FROM
	sys.objects o
	INNER JOIN sys.schemas u ON o.schema_id = u.schema_id 
WHERE
	o.type IN ( 'u', 'p', 'v', 'tf', 'fn', 'if' ) 
	AND u.name = @SCHEMA OPEN csr;
FETCH NEXT 
FROM
	csr INTO @TABLE, @SCHEMA;
WHILE
		@@FETCH_STATUS = 0 BEGIN
			EXEC ( 'ALTER SCHEMA ' + @new_schema + ' TRANSFER [' + @SCHEMA + '].[' + @TABLE + ']' );
		FETCH NEXT 
		FROM
			csr INTO @TABLE, @SCHEMA;
	
END CLOSE csr DEALLOCATE csr;

最后再进行 
use databasename
exec sp_change_users_login 'update_one' ,'databasename','username'

标签:schema,恢复,数据库,SQLServer,异名,csr,备份,SCHEMA
From: https://www.cnblogs.com/jinanxiaolaohu/p/17887180.html

相关文章

  • openGauss学习笔记-152 openGauss 数据库运维-备份与恢复-物理备份与恢复之PITR恢复
    openGauss学习笔记-152openGauss数据库运维-备份与恢复-物理备份与恢复之PITR恢复152.1背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,openGauss的即时恢复功能(Point-In-TimeRecovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间点。说明:PITR仅支持恢......
  • openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_proback
    openGauss学习笔记-153openGauss数据库运维-备份与恢复-物理备份与恢复之gs_probackup153.1背景信息gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。可用于备份单机数据库,也可对主机或者......
  • 如何对etcd进行数据的迁移(备份和恢复)?
    1、背景说明 在项目上,有个环境,更改了etcd所在主机的IP地址,也就需要使用新的IP,作为etcd对外提供服务和内部通信的IP地址。 这个时候,发现在etcd中存储的信息中,有节点成员的IP地址的信息。 那在这种的情况,如何把原来那套etcd里面的数据,迁移过来?同时,在etcd使用新的IP地址......
  • 数据恢复王_ApowerRecover数据恢复的好软件
    一、介绍:ApowerRecover(数据恢复王)是一款专业的硬盘数据恢复工具,很多时候,我们处理文件的时候可能会遇到一些意外情况。比如:不小心删除、格式化或者其他不正确的操作丢失文件。数据恢复王是一款专业的数据恢复软件,它可以帮助您恢复电脑硬盘中已丢失的文件。数据恢复王是一款硬盘数......
  • GeminiDB Cassandra接口新特性PITR发布:支持任意时间点恢复
    本文分享自华为云社区《GeminiDBCassandra接口新特性PITR发布:支持任意时间点恢复》,作者:GaussDB数据库。技术背景当业务发生数据损毁、数据丢失、数据误删除等一系列故障场景时,往往需要数据库恢复到故障发生前的某一个时刻,且恢复的颗粒度越小越好。而传统数据库采取周期性备份的......
  • mysql数据库文件丢失恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:mysql数据库文件丢失恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]客户服务器重启,mysql相关数据文件丢失通过底层工具进行分析,无法正确恢复数据库名字,一个个单个ibd文件(......
  • openGauss学习笔记-151 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_basebac
    openGauss学习笔记-151openGauss数据库运维-备份与恢复-物理备份与恢复之gs_basebackup151.1背景信息openGauss部署成功后,在数据库运行的过程中,会遇到各种问题及异常状态。openGauss提供了gs_basebackup工具做基础的物理备份。gs_basebackup的实现目标是对服务器数据库文件的......
  • VMware中虚拟机克隆、拍摄及恢复快照
     【环境系列】Linux虚拟机(Centos、Ubuntu)、云服务器:https://www.cnblogs.com/uncleyong/p/17874484.html虚拟机克隆       克隆后,重启网卡systemctlrestartnetwork.service如果报错,看网卡信息cat/etc/sysconfig/network-scripts/ifcfg-ens33如......
  • JDBC针对SQLServer的sendStringParametersAsUnicode=false的验证
    JDBC针对SQLServer的sendStringParametersAsUnicode=false的验证背景部分客户的SQLServer数据库出现了大量死锁的情况.虽然部分客户并没有反馈死锁影响了产品的正常使用但是在大量业务时还是会出现卡顿等的现象基于此,经过微软case的研究,发现是JDBC4.0之后默认为ture的......
  • 【SQLServer2019备份恢复】查询本身有问题、未正确设置 "ResultSet" 属性、未正确设置
    在SQLServer2019AlwaysOn节点备份策略失败:备份数据库(完整)(8502-HIS-SQLAG\HISAG)备份数据库所在的位置:本地服务器连接兼容性级别为70(SQLServer7.0版)的数据库将被跳过。数据库:所有用户数据库类型:完整追加现有任务开始:2023-12-08T14:10:07。任务结束:20......