2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加
1、视图:
只能查看,不能增删改
不能有重复列
create view 名字
as
查询语句
2、事务:
保证流程的完整执行
begin tran --开始事务监控
被监控的代码
...
...
if @@ERROR > 0 -- 记录上面代码的出错次数,默认值是0
begin
rollback tran; --如果有错,执行这一句,回滚事务,返回到begin tran的位置,当做什么事都没发生
end
else
begin
commit tran; --没错,一把将所有代码的执行结果提交
end
3、备份还原:
备份:1、选择要备份的数据库“student”,点击鼠标右键 → 任务 → 备份,2、在打开的“备份数据库"student”对话框中,先点击删除,然后点击“添加”,3、在弹出的“选择备份目标”对话框中,4、选择好备份的路径,之后连续点击“确定”按钮即可完成数据库的备份操作.
还原:1、选择您要还原的数据库"student”,点击鼠标右键 → 任务 → 还原 → 数据库,2、在出现的“还原数据库 "student”对话框中选择“源设备”,然后点击后面的“…”按钮,
3、在出现的“指定备份”对话框中,点击“添加”按钮,4、找到数据库备份的路径,选择您所要还原的数据库 "student”(注意:文件类型选择所有文件),然后连续“两次”点击“确定”按钮,5、在出现的“还原数据库"student”对话框中,勾选上“选择用户还原的备份集”下的数据库前的复选框,6、然后选择“选项”,勾选上“覆盖现有数据库”,
4、分离附加:
分离数据库
1. 在启动SSMS并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis数据库为例。右键单击student_Mis数据库,在弹出的快捷菜单中选择属性。

2. 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER”。

3. 在上图中单击“确定”按钮后将出现一个消息框,通知我们此操作将关闭所有与这个数据库的连接,是否继续这个操作(如下图)。注意:在大型数据库系统中,随意断开数据库的其它连接是一个危险的动作,因为我们无法知道连接到数据库上的应用程序正在做什么,也许被断开的是一个正在对数据复杂更新操作、且已经运行较长时间的事务。

4. 单击“是”按钮后,数据库名称后面增加显示“单个用户”(如下图)。右键单击该数据库名称,在快捷菜单中选择“任务”的二级菜单项“分离”。出现下图所示的“分离数据库”窗口。

5. 在下图的分离数据库窗口中列出了我们要分离的数据库名称。请选中“更新统计信息”复选框。若“消息”列中没有显示存在活动连接,则“状态”列显示为“就绪”;否则显示“未就绪”,此时必须勾选“删除连接”列的复选框。

6. 分离数据库参数设置完成后,单击底部的”确定”按钮,就完成了所选数据库的分离操作。这时在对象资源管理器的数据库对象列表中就见不到刚才被分离的数据库名称student_Mis了(如下图)。

附加数据库
1. 将需要附加的数据库文件和日志文件拷贝到某个已经创建好的文件夹中。出于教学目的,我们将该文件拷贝到安装SQL Server时所生成的目录DATA文件夹中。
2. 在下图窗口中,右击数据库对象,并在快捷菜单中选择“附加”命令,打开“附加数据库”窗口。

3. 在“附加数据库”窗口中,单击页面中间的“添加”按钮,打开定位数据库文件的窗口,在此窗口中定位刚才拷贝到SQL Server的DATA文件夹中的数据库文件目录(数据文件不一定要放在“DATA”目录中),选择要附加的数据库文件(后缀.MDF,如下图)。

4. 单击“确定”按钮就完成了附加数据库文件的设置工作。这时,在附加数据库窗口中列出了需要附加数据库的信息(如下图)。如果需要修改附加后的数据库名称,则修改“附加为”文本框中的数据库名称。我们这里均采用默认值,因此,单击确定按钮,完成数据库的附加任务。

完成以上操作,我们在SSMS的对象资源管理器中就可以看到刚刚附加的数据库student_Mis (如下图)。

以上操作可以看出,如果要将某个数据库迁移到同一台计算机的不同SQL Server实例中或其它计算机的SQL Server系统中,分离和附加数据库的方法是很有用的。
2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加的更多相关文章
- SQL serve 数据库--视图、事物、分离附加、备份还原
视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据.行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态生成. 视图只能用来查询,不能增删改:不允许出现重复列 ...
- SQL Server数据库定时自动备份
SQL Server 数据库定时自动备份[转] 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求 ...
- SQL Server 数据库定时自动备份
原文:SQL Server 数据库定时自动备份 SQL Server 数据库定时自动备份——每天定时备份,保留前8天的备份 利用SQL Server代理新建作业来定期备份 1)在数据库库的[SQL S ...
- SQL Server数据库设置自动备份策略
一. 简单介绍 SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务. 数据库的备份也是日常工作中非常重要的一个环节.备份的方法非常的多. 今天给大家介绍最简单 ...
- (后台)SQL Server 数据库定时自动备份(转)
转自博客园: SQL Server 数据库定时自动备份[转] 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以 ...
- Sql Server数据库视图的创建、修改
if OBJECT_ID('Sales.USACusts') is not null drop view Sales.USACusts; go create view Sales.USACusts a ...
- SQL Server 数据库定时自动备份【转】
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定 ...
- [转]SQL Server 数据库定时自动备份
前提:在使用下面的备份方式之前需要确保你的Sqlserver Agent服务启动,切设置为自动启动.否则当你服务器重启了但是Agent服务没有启动,那么自动备份任务就不会执行 (一)使用TSql代码自 ...
- SQL Server 数据库定时自动备份(转)
本文转载自:http://www.cnblogs.com/zhangq723/archive/2012/03/13/2394102.html 作者:清风寻梦 在SQL Server中出于数据安全的考虑 ...
随机推荐
- localStorage的黑科技-js和css缓存机制
一.发现黑科技的起因 今天在微信公众号看到一篇技术博文,想用印象笔记收藏,所以发送了文章链接到pc上.然后习惯性地打开控制台,看看源码,想了解下最近微信用了什么新技术. 呵呵,以下勾起了我侦探的欲 ...
- Program terminated with signal SIGKILL,Killed
车载后视镜机器,Liinux + qtUI形式,前后双路,前一天晚上开机用gdb run DvrUI,第二天早上回来一看,机器绿屏卡死了,录像预览停止刷新了,sd录像也停止了.点击无任何反应. 看gd ...
- 使用python制作ArcGIS插件(5)其他技巧
使用python制作ArcGIS插件(5)其他技巧 by 李远祥 使用python做插件开发,除了了解ArcToolBox工具之外,还需要在了解ArcPy的相关函数和接口.只有掌握了这些,才可以顺利的 ...
- jquery的deferred异步
推荐方法: var wait = function(dtd){ var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 var tasks = function( ...
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...
- angular 输入框实现自定义验证
此插件使用angular.js.JQuery实现.(jQuery的引入需在angular 之前) 用户可以 在输入框输入数据后验证 必填项.整数型.浮点型验证. 如果在form 里面的输入框验证,可以 ...
- InnoDB和Foreign KEY Constraints
InnoDB表中中Foreign Key定义 1. InnoDB允许a foreign key引用一个索引列或者索引组列. 2. InnoDB现在并不支持用户定义的分区表有foreign keys,这 ...
- lazy ideas in programming
lazy形容词,懒惰的,毫无疑问是一个贬义词.但是,对于计算机领域,lazy却是非常重要的优化思想:把任务推迟到必须的时刻,好处是避免重复计算,甚至不计算.本文的目的是抛砖引玉,总结一些编程中的laz ...
- MASM32使用教程
代码如果你在用汇编语言来开发windows下的程序的话,MASM32是很好的选择. (Masm32下载地址请用google搜索罢.) 工欲善其事,必先利其器. 本文主要针对masm32 v8来说明三点 ...
- java初级开发程序员(第五单元)
1.循环结构(一): 语法: while(循环条件){ //循环操作 } 示列代码: int i=1; while(i<=100){ System.out.println(&qu ...