数据库——实验12 数据库备份和还原
1. 备份设备的概念和方法
备份设备是指 SQL Server 中存储数据库和事务日志备份副本的载体,备份设备可以被定义成本地的磁盘文件、远程服务器上的磁盘文件、磁带。
在创建备份时,必须选择要将数据写入的备份设备。SQL Server 2005 可以将数据库、事务日志和文件备份到磁盘和磁带设备上。
在 SQL Server中,可以使用sp_addumpdevice 语句创建备份设备,其语法形式如下:
sp_addumpdevice { 'device_type' }
[ ,'logical_name'] [ ,'physical_name'] [ ,{{controller_type l 'device_status'}} ]
说明:
·device_type 表示设备类型,其值可为 disk(磁盘) 和 tape(磁带)。
·logical_name 表示设备的逻辑名称。
·physical_name 表示设备的实际名称。
·controller_type 和 device_status 可选项,可以不必输入。
2. 数据库备份和还原的概念
1)数据库备份
数据库备份可以创建备份完成时数据库内存在的数据的副本,这个副本能在遇到故障时恢复数据库。这些故障包括媒体故障、硬件故障(例如,磁盘驱动器损坏或服务器报废), 用户操作错误(例如,误删除了某个表)、自然灾害等。此外,数据库备份对于例行的工作(例如,将数据库从一台服务器复制到另一台服务器、设置数据库镜像、政府机构文件归档和灾难恢复)也很有用。
对 SQL Server数据库或事务日志进行备份时,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。SQL Server 备份数据库是动态的,在进行数据库备份时,SQL Server允许其他用户继续对数据库进行 操作。执行备份操作必须拥有对数据库备份的权限许可,SQL Server 只允许系统管理员、 数据库所有者和数据库备份执行者备份数据库。备份是数据库系统管理的一项重要内容, 也是系统管理员的日常工作。
2)数据库还原
数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中 还原数据库,数据库还原是指将数据库备份加载到系统中的过程。系统在还原数据库的过 程中,自动执行安全性检查、重建数据库结构以及完成填写数据库内容。安全性检查是还原数据库时必不可少的操作,这种检查可以防止偶然使用了错误的数据库备份文件或者不兼容的数据库备份覆盖已经存在的数据库。SQL Server 还原数据库时,根据数据库备份文件 自动创建数据库结构,并且还原数据库中的数据。
3. 各种备份数据库方法
SQL Server 2005 提供了4种不同的备份方式,分别为:
1)完整备份和完整差异备份
完整备份:即完整地备份整个数据库,同时也备份与该数据库相关的事务处理日志。 完整差异备份:只备份自上次数据库备份后发生更改的数据库,差异备份。
2)部分备份和部分差异备份
3)事务日志备份
事务日志备份序列提供了连续的事务信息链,可支持从完整备份、完整差异备份或文件备份进行快速还原。
4)数据库文件和文件组备份
当时间限制使得备份整个数据库不切实际时,可以备份数据库文件和文件组,而不是备份完整数据库。
4. 使用T-SQL 语句备份和还原数据库
1)备份整个数据库
使用T-SQL 语句进行备份时,需要使用BACKUP DATABASE语句,语法如下:
BACKUP DATABASE
{ database_name | @database_name_var}
TO
<backup_file>[,…n]
[ with
[ [,] format ]
[ [,] { init | noinit } ]
[ [,] restart ]
]
<backup_file>::={ backup_file_name | @backup_file_evar } | { disk | tape }
={ temp_file_name | @temp_file_name_evar }
说明:
·BACKUP DATABASE : 备份数据库。
·{ database_name | @database_name_var} : 要备份的数据库的名称。可以直接指定数据库名称,也可以使用变量来存储数据库名称。
·TO <backup_file> [,…n] :指定备份文件的位置。可以指定一个或多个备份文件。备份文件可以存储在磁盘或磁带上。
·with : 这是指定备份选项的关键字。
·format :(备份选项之一)用于指定备份文件的格式。如果指定了该选项,备份文件将以新的备份格式进行保存。如果未指定此选项,则备份文件将以与原始备份相同的格式进行保存。
·init | noinit :(备份选项之一)init 表示初始化备份介质并覆盖现有的备份集。noinit 表示将备份添加到现有备份集中。
·restart :(备份选项之一)用于指示备份操作在出现错误时是否应重新启动。
总体而言,这段 T-SQL 代码的作用是备份指定的数据库到指定的备份文件中,并可以选择指定备份的格式、是否覆盖现有备份、以及在错误时是否重新启动备份操作。
2)还原整个数据库
使用T-SQL 提供的 RESTORE 语句还原数据库,其语法如下:
RESTORE DATABASE
[ from <backup_device [ ],…n>]
[ with
[ [,] file=file_number]
[ [,] move 'logical_file_name' to 'operating_system_file_name' ]
[ [,] replace]
[ [,] { norecovery | recovery l standby=undo_file_name } ]
<backup_device>::={ { backup_device_name | @backup_device_name_evar } | { disk | tape | pipe }
={ temp_backup_device l @temp_backup_device_var }
说明:
·RESTORE DATABASE : 还原数据库的命令。
·[ from <backup_device [ ],…n>] : 指定要从哪些备份设备还原数据库。可以指定一个或多个备份设备。
·with : 这是指定还原选项的关键字。
·file=file_number : 这是还原选项之一,用于指定要还原的备份文件的文件号。每个备份文件都有一个文件号。
·move 'logical_file_name' to 'operating_system_file_name' : 如果数据库文件的物理位置已更改,您可以使用此选项将数据库文件移动到新的位置。logical_file_name是数据库中的逻辑文件名,operating_system_file_name是操作系统中的文件路径和文件名。
·replace : 这是一个还原选项,用于指示是否覆盖现有的数据库。如果指定了该选项,则数据库将被还原并替换为现有数据库。
·norecovery | recovery : (还原选项之一),用于指定还原操作后数据库的状态。norecovery 表示数据库将保持不可用状态,您可以在完成所有还原操作后手动恢复数据库。recovery 表示数据库将被还原并且立即可用。
·standby=undo_file_name : 如果要将数据库设置为 standby 恢复模式,则可以使用此选项指定用于存储 undo 文件的位置和名称。
总体而言,这段 T-SQL 代码的作用是从指定的备份设备还原数据库,并可以选择指定要还原的备份文件、移动数据库文件的位置、是否替换现有数据库以及数据库的恢复状态。
·<backup_file>::=: 备份文件的语法声明
·{ backup_file_name | @backup_file_evar }: 备份文件的名称(备份文件的名称/变量存储备份文件的名称)。
·{ disk | tape }: 备份文件的类型。磁盘(disk)或磁带(tape)。
·={ temp_file_name | @temp_file_name_evar }: 备份文件的临时名称。
相关文章:
数据库——实验12 数据库备份和还原
1. 备份设备的概念和方法 备份设备是指 SQL Server 中存储数据库和事务日志备份副本的载体,备份设备可以被定义成本地的磁盘文件、远程服务器上的磁盘文件、磁带。 在创建备份时,必须选择要将数据写入的备份设备。SQL Server 2005 可以将数据库、事务日…...
Node.js —— 前后端的身份认证 之用 express 实现 JWT 身份认证
JWT的认识 什么是 JWT JWT(英文全称:JSON Web Token)是目前最流行的跨域认证解决方案。 JWT 的工作原理 总结:用户的信息通过 Token 字符串的形式,保存在客户端浏览器中。服务器通过还原 Token 字符串的形式来认证用…...
文旅3d仿真数字人形象为游客提供全方位的便捷服务
在AI人工智能与VR虚拟现实技术的双重驱动下,文旅3D数字代言人正以其独特的魅力,频频亮相于各类文旅场景,为游客带来前所未有的个性化服务体验。他们不仅有趣有品,更能言善道,成为文旅业数字化发展的新亮点。 这些文旅3…...
leetcode算法常用函数
文章目录 字符相关字符串相关数组和集合相关数值相关容器相关 核心关注算法逻辑,其他的常见操作用标准库里函数即可,不用浪费时间。 Java语言作为参考,记录刷题时常用的函数 字符相关 Character.isDigit(); //判断是否为数字Character.isLet…...
element-plus表格的表单校验如何实现,重点在model和prop
文章目录 vue:3.x element-plus:2.7.3 重点: 1) tableData放到form对象里 2) form-item的prop要写成tableData.序号.属性 <!--table-表单校验--> <template><el-form ref"forms" :model"form"><e…...
WPF密码输入框明文掩码切换
1,效果 2,代码: WPF的PasswordBox不能像Winform中的PasswordBox那样,通过PasswordBox.PasswordChar(char)0显示明文。所以这里使用无外观控件构筑掩码明文切换。 无外观控件遵守Themes/Generic.xaml文件配置. <ResourceDicti…...
SaaS架构详细介绍及一个具体实现的示例
SaaS架构详细介绍 软件即服务(SaaS,Software as a Service)是一种通过互联网交付软件应用程序的模式。 SaaS提供商托管应用程序,并通过网络将其提供给最终用户,用户无需安装和维护软件,只需通过浏览器或其他…...
四川音盛佳云电子商务有限公司正规吗?靠谱吗?
在数字化浪潮席卷全球的今天,电子商务已成为推动经济发展的重要引擎。四川音盛佳云电子商务有限公司,作为抖音电商服务的佼佼者,正以其独特的视角和创新的策略,引领着抖音电商的新潮流,开启着电商服务的新篇章。 四川…...
C++ 写的_string类,兼容std::string, MFC CString和 C# 的string
代码例子: using namespace lf; int main() { CString s1 _t("http://www.csdn.net"); _string s2 s1; CString s3 s2; _pcn(s1); _pcn(s2); _pcn(s3); return 0; } 输出: _Str.h /***************************************…...
【揭开深度学习之核:反向传播算法简析】
文章目录 前言反向传播算法的基础工作原理伪代码示例关键点结论 前言 在深度学习的世界里,反向传播算法是一张藏在神秘面纱后的地图,它指引着神经网络通过复杂的数据迷宫,找到最优解的路径。本文将简要介绍反向传播算法的原理,探…...
Web3 知识体系架构图
Web3 知识体系架构图 │ ├── 1. 基础概念 │ │ │ ├── 1.1 区块链 │ │ ├── 工作原理 │ │ ├── 公链 vs 私链 │ │ └── 常见区块链平台(如比特币、以太坊) │ │ │ ├── 1.2 去中心化 │ │ ├── P2P 网络 │ │ ├── 去中心化…...
SQL、Mongo、Redis一般适用于那些场景
在一个项目中同时使用 MySQL、Redis 和 MongoDB 是相对常见的做法,因为它们各自具有不同的特点和适用场景,可以组合使用以满足不同的需求。下面是它们的一些常见用途和特点: MySQL: 关系型数据库: MySQL 是一个传统的关…...
学习图形推理
学习图形推理 1.位置规律1.1平移1.2翻转、旋转2.样式规律2.1加减异同2.2黑白运算3.属性规律3.1对称性3.2曲直性3.3开闭性4.数量规律4.1面4.2线数量4.3笔画数4.4点数量4.5素数量5.空间重构5.1相对面5.2相邻面-公共边5.3相邻面-公共点5.4相邻面-画边法题型 一组图:从左往右找规律…...
plsql 学习
过程化编程语言 赋值:: ||:连接符号 dbms_output.put_line() :输出的语句 var_name ACCOUNTLIBRARY.USERNAME%type; 变量名;某个表的数据类型;赋值给变量名 用下面的方法更好用 异常exception 循…...
如何远程连接默认端口?
远程连接是指通过网络实现两个或多个计算机之间的连接和通信。在进行远程连接时,使用的端口号是一个重要的参数。端口号是计算机上正在运行的特定应用程序的标识符。每个应用程序都会监听一个或多个特定的端口号,以便接收来自其他计算机的连接请求&#…...
现代C++ 如何使用 Lambda 使代码更具表现力、更容易理解?
使用 Lambda 使代码更具表现力 一、Lambda VS. 仿函数二、总结 一、Lambda VS. 仿函数 Lambda 是 C11 中最引人注目的语言特性之一。它是一个强大的工具,但必须正确使用才能使代码更具表现力,而不是更难理解。 首先,要明确的是,…...
LeetCode 2644.找出可整除性得分最大的整数:暴力模拟(两层循环)
【LetMeFly】2644.找出可整除性得分最大的整数:暴力模拟(两层循环) 力扣题目链接:https://leetcode.cn/problems/find-the-maximum-divisibility-score/ 给你两个下标从 0 开始的整数数组 nums 和 divisors 。 divisors[i] 的 …...
Python列表,元组,集合,字典详解一篇搞懂
目录 介绍 列表(List) 集合(Set) 字典(Dict) 元组(Tuple) 列表 列表定义 编辑 列表切片 列表常用方法 append extend 编辑 insert 编辑 remove pop 编辑 clear 编辑 列表修改元素 sort 升序 倒序 reverse count 编辑 index 浅拷贝和深拷贝 …...
Postgresql源码(132)分布式行锁的原理分析
相关 《Postgresql源码(131)行锁的原理分析》 1 分布式行锁 PG中的行锁在上一片中做了分析《Postgresql源码(131)行锁的原理分析》,本篇对分布式PG(PGXL)中的行锁做一些分析。(版本…...
前端 防抖和节流
在前端开发中,防抖(Debounce)和节流(Throttle)是两种常用的性能优化技术,尤其在处理频繁触发的事件时显得尤为重要。无论是在用户输入、窗口调整大小,还是滚动事件中,这两种技术都可…...
3分钟快速上手:用BetterNCM安装器彻底改造你的网易云音乐
3分钟快速上手:用BetterNCM安装器彻底改造你的网易云音乐 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在使用功能单一的网易云音乐吗?想不想让你的播放器拥…...
DeepSeek代码质量评估实战手册:7步完成从混沌到可度量的质变跃迁
更多请点击: https://kaifayun.com 第一章:DeepSeek代码质量评估的底层逻辑与核心价值 DeepSeek代码质量评估并非简单地统计行数或检测语法错误,而是基于多维语义理解构建的推理系统。其底层逻辑融合了静态分析、符号执行与大语言模型生成式…...
51单片机驱动ST7735S彩屏避坑指南:从5秒刷屏到流畅贪吃蛇的优化实战
51单片机驱动ST7735S彩屏性能优化实战:从卡顿到流畅游戏的蜕变之路当一块128x160分辨率的ST7735S彩屏遇上传统的51单片机,这种组合看似矛盾却又充满挑战。许多开发者初次尝试时会发现,原本在STM32等平台上运行流畅的显示驱动,移植…...
D3KeyHelper:暗黑3玩家的智能按键助手,告别重复操作疲劳
D3KeyHelper:暗黑3玩家的智能按键助手,告别重复操作疲劳 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否曾在《暗黑破坏…...
ROS Noetic实战:从bag包里‘抠’出雷达点云和IMU数据的保姆级教程(Ubuntu 20.04)
ROS Noetic实战:从bag包里提取雷达点云和IMU数据的完整指南(Ubuntu 20.04)在机器人开发中,ROS bag文件就像是一个装满珍贵数据的宝箱,而雷达点云和IMU数据则是其中最闪亮的宝石。作为一名长期与ROS打交道的开发者&…...
Taotoken如何帮助教育科技产品实现个性化学习辅导
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken如何帮助教育科技产品实现个性化学习辅导 1. 场景与挑战 教育科技公司在开发个性化学习助手时,常常面临一个核…...
179个核心职位,50个公司分类,中国大模型产业全栈
最后 对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大? 答案只有一个:人工智能(尤其是大模型方向)…...
手机也能玩转无人机仿真:用安卓QGC App连接同一WiFi下的PX4 JMAVSim模拟器
手机也能玩转无人机仿真:用安卓QGC App连接同一WiFi下的PX4 JMAVSim模拟器 无人机开发者和爱好者们,是否曾想过用手机就能完成整个无人机仿真测试流程?告别笨重的电脑束缚,只需一部安卓设备,就能在沙发上调试飞控算法。…...
避坑指南:Unity中AABB碰撞检测失效的5种常见原因及解决方法
Unity中AABB碰撞检测失效的深度排查与解决方案在Unity开发中,AABB(轴对齐包围盒)碰撞检测是基础但容易出问题的环节。许多开发者都遇到过这样的情况:明明逻辑正确,测试时却出现物体穿透、碰撞时有时无等诡异现象。本文…...
抖音批量下载助手:一键构建你的专属视频素材库
抖音批量下载助手:一键构建你的专属视频素材库 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为手动保存抖音视频而烦恼吗?想要批量获取心仪创作者的精彩内容却无从下手&#x…...
