SQL Server:分离和重新附加数据库

2010-3-12    来源:cnblog   作者:兴百放    我要评论
   | |

导读:本文介绍了用命令来分离或附加一个SQL Server数据库的方法。对于用Manage Studio自己看着界面操作就可以应付了。

关键词:数据库分离 附加数据库 SQLServer 数据库操作

正在加载数据...

  对于分离一个数据库来说,我们可以用Manage Studio界面或者存储过程。但是对于每一种方法都必须保证没有用户使用这个数据库.接下来所讲的都是对于用命令来分离或附加一个数据库。对于用Manage Studio自己看着界面操作就可以应付了。

  分离数据库

  对于用存储过程来分离数据库,如果发现无法终止用户链接,可以使用ALTER DATABASE命令,并利用一个能够中断已存在链接的终止选项来把数据库设置为SINGLE_USER模式,设置为SIGLE_USER代码如下:

  ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  下面是分离数据库的CMD命令

  EXEC sp_detach_db DatabaseName

  一旦一个数据库分离成功,从SQL Server角度来看和删除这个数据库没有什么区别。

  附加数据库

  对于附加数据库,可以使用sp_attach_db存储过程,或者使用带有FOR ATTACH选项的CREATE DATABASE命令,在SQL Server2005或更高的版本中推荐使用后者,前者是为了向前兼容,它正在逐渐淘汰,而后者更提供更多对文件的控制。

  CREATE DATABASE databasename

  ON (FILENAME = 'D:\Database\dbname.mdf')

  FOR ATTACH | FOR ATTACH_REBUILD_LOG

  然而对于这样的附加,我们要注意几个地方。因为涉及到重建日志。

  1.对于一个读/写数据库,如果含有一个可用的日志文件,无论使用FOR ATTACH ,还是使用FOR ATTACH_REBULD_LOG,都是一样,都不会对此数据库重建日志文件。如果日志文件不可用或者物理上没有该日志文件,使用FOR ATTACH或FOR ATTACH_REBULID_LOG都会重建日志文件,所以如果我们复制一个带有大量日志文件的数据库到另一台服务器中,就可以只复制.mdf文件,不用复制日志文件,然后使用FOR ATTACH_REBULD_LOG选项重建日志。条件是这台服务器将主要使用或只用改数据库的副本进行读操作。

  2.对于一个只读数据库,就有点区别了,如果日志文件不可用,那么就不能更新主文件,所以也就不能重建日志,因此当我们附加一个只读数据库是,必须在FOR ATTACH从句中指定日志文件。

  如果使用附加数据库重建了日志文件。使用FOR ATTACH_REBUILD_LOG会中断日志备份链,进行这种操作之前最好做一次数据库完全备份。

  使用sp_detach_db存储过程一个好处就是可以保证一个数据库是被干净的关闭,那日志文件就不是附加数据库所必须的,我们可以使用FOR ATTACH_REBUILD_LOG命令重建日志,得到一个最小的日志文件。也算是一种快速收缩一个大日志文件的方法。

原文出处:http://www.cnblogs.com/xbf321/archive/2010/03/11/sqlserver-attach-or-detach-a-database.html
 
 
 
 
 
 

SQL Server复制

 
类似于数据库镜像,日志传送增强了数据库的可用性并通过在SQL Server 2008另一个实例上维护备用数据库来增强对数据库的保护。
 
镜像数据库是主数据库的一个精确副本,在主数据库上的所有更改都会自动同步到镜像。数据库镜像通过减少停机时间和具体数据库上的数据丢失来支撑业务。
 
当你的数据库变得越来越大,增长的交易数量使得服务器越来越难以承受它带来的压力时,你该怎么办?扩容一定是你第一个想到的。
 
选择使用SQL服务代理代替SQL复制的主要原因是我们想在数据从生产环境OLTP数据库迁移到报表数据库时,能对数据做ETL(数据提取转换加载)。
 
如果你需要一个繁忙的数据库可以全球访问,云计算平台也是一个不错的选择,比如Windows Azure。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录