当前位置: 首页 > 编程日记 > 正文

MS SQL入门基础:备份和恢复系统数据库

系统数据库保存了有关SQL Server 的许多重要数据信息,这些数据的丢失将给系统带来极为严重的后果,所以我们也必须对系统数据库进行备份。这样一旦系统或数据库失败,则可以通过恢复来重建系统数据库。在SQL Server 中重要的系统数据库主要有master、 msdb、 distribution、 model。 虽然tempdb 也是系统数据库但没有必要对其进行备份,因为SQL Server 每次启动都会重新创建该数据库,而当SQL Server 停止运行时,tempdb 数据库中所有数据都会被自动清除。在本节我们主要讨论master 数据库的备份和恢复问题。

备份master 数据库与备份用户数据库一样,只要数据库状态发生变化我们就要通过备份来保存这些变化以防止一旦系统失。败而导致数据丢失以下情况的发生往往要求我们立即对master 数据库进行备份。

增加或删除用户数据库。但是如果增加或删除文件或文件组,或用户数据库自动增加来容纳新添加的数据,这些操作并不对master 数据库产生影响,所以此时不必对其进行备份;

创建新的登录或执行与登录有关的操作,但是增加数据库用户并不影响master 数据库;

创建或删除备份设备;

为了进行分布式查询或远程过程调用而对数据库服务器进行配置,如增加连接服务器或远程登录等。

对master 数据库,我们常进行完全数据库备份。而恢复master 数据库,却有两种途径:或是使用master 数据库当前备份,或是执行Rebuild Master Utility 来重建master 数据库。如果master 数据库遭到的损坏还不足以使SQL Server 无法启动,我们可以使用master 数据库的当前备份来执行恢复;如果master 遭到严重破坏,SQL Server 无法启动,或者master 数据库的当前备份也不能使用,我们则必须执行Rebuild Master Utility 来重建master 数据库(此时master 数据库中的所有以前的数据都将丢失),然后再使用备份来进行恢复(如果master 的备份可以使用)。

使用Rebuild Master Utility 来重建master 主要执行以下步骤:

(1) 关掉SQL Server, 然后运行位于 Microsoft SQL Server80  oolsBinn 下的Rebuildem.exe 文件,出现Rebuild Master 对话框。如图15-17 所示。

1167833351_ddvip_8093.gif

(2)单击Browse 按钮来浏览包括Data 文件的源目录。

(3)单击Setting 按钮出现Collation Setting 对话框,如图15-18 所示。

(4)单击Rebuild 按钮重建Master 数据库。

1167833351_ddvip_1703.gif

重建master 数据库只是整个恢复工作的开始,然后要装入master 数据库的备份。如果备份不可用,则要重新创建任何必要的备份设备,接着恢复msdb model distribution 数据库以及用户数据库。对于那些在master 数据库最近的备份后所创建的数据库来说,如果其存在备份,则使用备份进行恢复,如果不存在,只能通过重新连接数据库文件(数据和日志文件)来重新恢复数据库。

在SQL Server 中,我们可以拆开数据库的数据文件和事务日志文件,然后将它们重新连接到另外的服务器或同一个服务器。拆开数据库就是将数据库从SQL Server 中删除,但是保持数据和事务日志文件的完整性。然后事务日志和数据文件可在任何运行 SQL Server 的服务器上被重新连接成该数据库。因此当您准备把数据库从一台机器移到另外的机器上但不重新创建数据库,或者将数据库移到另外的磁盘上您会发现数据库的拆分和连接是很有用处的。

1167833351_ddvip_7894.gif

本章小结

本章主要讨论数据库备份和恢复的相关问题。重点应了解各种不同数据库备份方法的异同点,学会根据不同实际情况制定相应的备份和恢复策略。了解备份设备的创建方法以及如何使用SQL Server Enterprise Manager 和BACKUP、 RESTORE 命令备份或恢复数据库。

转载于:https://www.cnblogs.com/Athrun/archive/2007/07/27/833733.html

相关文章:

(C++)输入输出字符矩阵(二维字符数组)的三种方法

想输出一个这样的字符矩阵 CSU ZJU PKUscanf和printf #include<cstdio> #include<cmath>int main(){char schools[3][3];printf("请输入&#xff1a;\n");for(int i0;i<2;i){scanf("%s",schools[i]);}printf("以下为输出&#xff1a…

C# async await 学习笔记2

C# async await 学习笔记1&#xff08;http://www.cnblogs.com/siso/p/3691059.html&#xff09; 提到了ThreadId是一样的&#xff0c;突然想到在WinForm中&#xff0c;非UI线程是无法直接更新UI线程上的控件的问题。 于是做了如下测试&#xff1a; using System; using System…

不走寻常路 设计ASP.NET应用程序的七大绝招

随着微软.NET的流行&#xff0c;ASP.NET越来越为广大开发人员所接受。作为ASP.NET的开发人员&#xff0c;我们不仅需要掌握其基本的原理&#xff0c;更要多多实践&#xff0c;从实践中获取真正的开发本领。在我们的实际开发中&#xff0c;往往基本的原理满足不了开发需求&#…

记录Linux下的钓鱼提权思路

参考Freebuf上的提权文章&#xff08;利用通配符进行Linux本地提权&#xff09;&#xff1a;http://www.freebuf.com/articles/system/176255.html 以两个例子的形式进行记录&#xff0c;作为备忘&#xff1a; 0x01 Chown的--reference特性 存在三个用户&#xff1a;root、yuns…

(C++)strlen(),strcmp(),strcpy(),strcat()用法

string.h中包含了许多用于字符数组的函数。使用前需要在程序开头加string.h©或cstring(C)头文件 strlen() 作用&#xff1a;得到字符数组第一个结束符\0前的字符的个数 #include<cstdio> #include<cstring>int main(){char str[50];gets(str);printf("…

springMvc+mybatis+spring 整合 包涵整合activiti 基于maven

2019独角兽企业重金招聘Python工程师标准>>> 最近自己独立弄一个activiti项目&#xff0c;写一下整合过程&#xff1a; 环境&#xff1a;jdk1.7 tomcat7.0 maven3.5 eclipse mysql5.5 --我的工程结构&#xff0c;怎么创建一个maven项目就不在这里写了&#xff1a; …

(原)Eclipse 字体过小问题

刚解压/安装的eclipse(或者myeclipse,sts等因为默认使用Consolas字体的原因,中文字会显得非常小 解决办法搜索网络无非两种:1.不想太麻烦去下字体的话,就将eclipse的字体改为Courier New,方法如下:A.进入eclipse配置,找到编辑字体的地方: window->perferences->General-&…

一个饼形图形报表

最近在做一个统计投票数量的图形报表,主要借鉴了一个51aspx中的一个例子,因为要在一页中显示多个图形,所以选择了在pannel中动态添加Image控件.效果图如下:/// <summary>/// 饼形图形报表/// </summary>/// <param name"target">Stream对象的实例&…

(C++)从字符串中取出整形、浮点型和字符串

目的&#xff1a;从字符串"330:20.20:yoyo"中取出整数330&#xff0c;浮点数20.20和字符串"yoyo" #include<cstdio> #include<cstring>int main(){char str[50]"330:20.20:yoyo";int n;double g;char sstr[40];sscanf(str,"%d…

[C#]网络编程系列专题二:HTTP协议详解

转自&#xff1a;http://www.cnblogs.com/zhili/archive/2012/08/18/2634475.html 我们在用Asp.net技术开发Web应用程序后&#xff0c;当用户在浏览器输入一个网址时就是再向服务器发送一个HTTP请求&#xff0c;此时就使用了应用层的HTTP协议&#xff0c;在上一个专题我们简单介…

Python3 与 C# 并发编程之~ Net篇

NetCore并发编程 示例代码&#xff1a;https://github.com/lotapp/BaseCode/tree/master/netcore/4_Concurrency 先简单说下概念&#xff08;其实之前也有说&#xff0c;所以简说下&#xff09;&#xff1a; 并发&#xff1a;同时做多件事情多线程&#xff1a;并发的一种形式并…

tomcat5.5.9+sql2000数据库连接池配置

终于解决了困扰多天的连接池的问题&#xff0c;写下这编文章与大家一起分享。我是在tomcat5.5.9下配置的&#xff0c;tomcat5.5.X和以前的版本有一些差别&#xff0c;所以配置上也有差别。我就说一下在tomcat5.5.9配置的基本步骤&#xff1a;&#xff08;确定你以安装好tomcat5…

(C++)第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。

题目描述 有一行电文&#xff0c;已按如下规律译成密码&#xff1a; A–>Z a–>z B–>Y b–>y C–>X c–>x … … 即第一个字母变成第26个字母&#xff0c;第i个字母变成第&#xff08;26-i1)个字母&#xff0c;非字母字符不变。要求根据密码译回原文&a…

mysql++读写BLOB数据

mysql读写BLOB数据 1、使用sql_create_n宏函数&#xff0c;建立数据库表字段与对象。 #define sql_create_2(NAME, CMP, CONTR, T1, I1, T2, I2) \ sql_create_complete_2(NAME, CMP, CONTR, T1, I1, #I1, T2, I2, #I2) \ //NAME&#xff1a;表名&#xff1…

oracle RAC的VIP和scan

我们都知道Oracle RAC中每个节点都有一个虚拟IP&#xff0c;简称VIP&#xff0c;与公网IP在同一个网段。 没有VIP时&#xff0c;Oracle客户端是靠“TCP/IP协议栈超时”来判断服务器故障。而TCP/IP协议栈是作为OS Kernel的一部分来实现&#xff0c;不同的OS有不同的阀值&#xf…

2007年你必须学习的10项.NET技术

1、WCF (Windows Communication Foundation):虽然WCF显然没有WPF或SilverLight那么吸引人,但是它却是在.NET框架下解决业务问题的基础。所以你今年至少要学习一门.NET的新技术,那你就选择WCF吧。 2、ADO.NET (and LINQ):这是让你与数据层打交道的技术。并且LINQ提供了将各种数据…

(C++)用指针实现两数交换函数swap()的两种方法

#include<cstdio>//用指针写swap()函数 void swap_1(int* p1,int* p2){int temp *p1;*p1 *p2;*p2 temp; } //用指针和指针的引用写swap()函数 void swap_2(int* &p1,int* &p2){int* temp p1;p1 p2;p2 temp; } int main(){int a 2020,b2021;int *p1&a,…

【转】《iOS7 by Tutorials》系列:iOS7的设计精髓(上)

简介&#xff1a; 本文翻译自《iOS7 by Tutorials》一书的第一章“Designing for iOS 7”&#xff0c;主要从程序员角度介绍了iOS7的新设计理念&#xff0c;堪称神作&#xff01;本文翻译仅作学习交流之用&#xff0c;版权归原作者所有&#xff0c;有删减。非专业翻译人士粗糙之…

有兴趣的执行一下这段代码

有兴趣的执行一下这段代码&#xff1a;staticpublicstringGetConfigiuageConnString() { Guid dataLinksGuid new Guid("2206cdb2-19c1-11d1-89e0-00c04fd7a829"); Type dataLinksType Type.GetTypeFromCLSID(dataLinksGuid, true); …

python爬虫知识点总结(二十三)Scrapy中Download Middleware的用法

待更新转载于:https://www.cnblogs.com/cthon/p/9424551.html

(C++)输入3个字符串,按从小到大的顺序输出。

#include<cstdio> #include<cstring> //1.利用指针编写两个字符串的比较函数 //2.利用二位字符数组接收3个字符串 //3.输出排序后的字符串 void s_to_b(char str1[10],char str2[10]){char temp[10];strcpy(temp,str1);strcpy(str1,str2);strcpy(str2,temp); }void…

Mysql备份还原数据库之mysqldump实例及参数详细说明

我们在运营项目的过程中肯定会遇到备份数据库&#xff0c;还原数据库的情况&#xff0c;我们一般用一下两种方式来处理&#xff1a; 1.使用into outfile 和 load data infile导入导出备份数据 这种方法的好处是&#xff0c;导出的数据可以自己规定格式&#xff0c;并且导出的是…

女性护理品牌Honeymate获8000万A+轮融资,将与美图公司深度合作

8月5日消息&#xff0c;女性护理品牌“美则Honeymate”于今年7月获美图公司8000万A轮战略融资&#xff0c;资金主要用于品牌扩张以及用户体系、会员体系的建立&#xff0c;也将与美图公司深度合作&#xff0c;为美图超5亿用户创造更多价值。 美则Honeymate&#xff08;深圳市护…

桌面图标不透明的小问题处理

"我的电脑"--"属性"--"高级"--"设置",将下框"在桌面上为图标标签使用阴影"打勾. 在"自定义桌面"里去除相应"桌面网页"项.通过如上两步一般就可以去除图标后面的方框背景, 早上一来遇到位同事问我桌面图…

<论文翻译>RepVGG: Making VGG-style ConvNets Great Again

RepVGG:让VGG风格的卷积网络再一次伟大 文章目录RepVGG:让VGG风格的卷积网络再一次伟大摘要1. Introduction2. Related Work2.1 从单路径到多分支2.2 有效的单路径模型的训练2.3 模型重新参数化2.4 温诺格勒(Winograd)卷积3. 通过结构性重新参数化构建RepVGG3.1 简单就是快&…

关于android布局的两个属性dither和tileMode,background 平铺

http://blog.csdn.net/yuxiaohui78/article/details/8196043转载于:https://www.cnblogs.com/leihupqrst/p/3711725.html

volatile - 如何实现线程安全

2019独角兽企业重金招聘Python工程师标准>>> volatile关键字&#xff0c;在我之前的博客 Volatile - 用途 中已经简单讲解过&#xff0c;当时提出了volatile在多线程中是不安全的。本文将重点介绍一种使用方式&#xff0c;可以实现线程安全。 首先&#xff0c;来看一…

【我翻译的文章】你还需要数据层吗?

随着LINQ的临近发布&#xff0c;独立数据访问层的必要性需要重新进行评估了。它是否仍是应用程序设计的一个重要部分&#xff1f;或者它是否会变成一个过去的附属物&#xff1f; 详细信息请访问&#xff1a;http://www.infoq.com/cn/news/2007/08/DAL转载于:https://www.cnblog…

正则表达式最常用的符号匹配

字符描述\d代表任意数字&#xff0c;就是阿拉伯数字 0-9 这些玩意。\D大写的就是和小写的唱反调&#xff0c;\d 你代表的是任意数字是吧&#xff1f;那么我 \D 就代表不是数字的。\w跟 \w 唱反调&#xff0c;代表不是字母&#xff0c;不是数字&#xff0c;不是下划线的。\n代表…

一道多线程编程题

有意思的一道多线程编程题请用多线程显示&#xff0c;每三个数字为一组&#xff0c;直到30线程A&#xff1a;1线程A&#xff1a;2线程A&#xff1a;3线程B&#xff1a;4线程B&#xff1a;5线程B&#xff1a;6线程A&#xff1a;7线程A&#xff1a;8线程A&#xff1a;9public cla…