首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
数据库
MsSql
正文
用sql语句实现分离和附加数据库的方法
所属分类:
数据库
/
MsSql
阅读数: 654
收藏 0
赞 0
分享
对于用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命令重建日志,得到一个最小的日志文件。也算是一种快速收缩一个大日志文件的方法。
Author:兴百放
Web:Http://xbf321.cnblogs.com
更多精彩内容
其他人还在看
sql 分组查询问题
sql 分组查询问题,需要的朋友可以参考下。
评论 0
收藏 0
赞 0
分享
MSSQL 数据库备份和还原的几种方法 图文教程
MSSQL 数据库备份和还原的几种方法小结,配有图文,大家看了就知道了。
评论 0
收藏 0
赞 0
分享
GridView自定义分页的四种存储过程
首先要说说为什么不用GridView的默认的分页功能,GridView控件并非真正知道如何获得一个新页面,它只是请求绑定的数据源控件返回适合规定页面的行,分页最终是由数据源控件完成。
评论 0
收藏 0
赞 0
分享
Godaddy 导入导出MSSQL数据库的实现步骤
可以从限制文件中导入SQL共享服务器数据库。如果想把存放在其他地方的数据导入,需要先把其内容拷到限制文件中。(
评论 0
收藏 0
赞 0
分享
得到自增列的下一个会插入的id
怎么得到自增列的下一个会插入的id
评论 0
收藏 0
赞 0
分享
几个简单的基本的sql语句
这个是从网上看到的。。。COPY一下。。有时候忘记了。。
评论 0
收藏 0
赞 0
分享
sqlserver 自动备份所有数据库的SQL
可自动备份除系统数据库外的所有数据库。备份文件的周期保存周期可以更改。
评论 0
收藏 0
赞 0
分享
SQL Server 服务器优化技巧浅谈
数据文件和日志文件的操作会产生大量的I/O。在可能的条件下,日志文件应该存放在一个与数据和索引所在的数据文件不同的硬盘上以分散I/O,同时还有利于数据库的灾难恢复。
评论 0
收藏 0
赞 0
分享
sql2005 存储过程分页示例代码
sql2005分页存储过程示例
评论 0
收藏 0
赞 0
分享
union组合结果集时的order问题
如果能确定各查询结果不会有重复的项,最好就带上all,因为这样还是可以提高一些效率的。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
抢孩子谣言发布者究竟是谁?运营80余公众号造谣吸粉月赚20万
网赚之谈:如何用最少的钱做最大化的网站推广
怎样利用网络赚钱 网络赚钱有哪些方法
SEO赚钱之道:11种可以让你盈利的SEO实业方法
个人建站赚钱方法有哪些?5种常见方法汇总
冲刺双十一 如何做好淘宝双11期间的推广及运营
站长故事
更多
从地图到苹果6!盘点苹果产品的四大败笔
站长故事:一个80后妈妈的微商之旅
写给所有站长:其实没必要参加SEO培训
浅谈新手站长在网站运营中如何去养站?
网站被K到恢复收录与排名我做了什么
网站SEO反面案例 7万RMB建设的企业网站哪里出了问题?