- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16章 脱机和联机数据库
第16章 脱机与联机数据库 脱机与联机是针对数据库的当前状态来说的,当一个数据库处于可操作、可查询的状态时就是联机状态,而一个数据库尽管可以看到其名字出现在数据库节点中,但对其不能执行任何有效的数据库操作时就是脱机状态。 16.1 可视化命令脱机与联机数据库 脱机和联机数据库到底有什么意义呢?在数据库管理及软件开发过程中,经常会出现对当前数据库进行迁移的操作,而在联机状态下,SQL Server 2008是不允许复制数据库文件的。例如,把当前的开发版本的数据库同步到产品版本的数据库,就可以通过这种操作完成,而通过可视化命令则是最为便捷的方式之一。 16.1.1 数据库状态 在可视化操作脱机与联机数据库之前,首先了解一下数据库状态。数据库总是处于一个特定的状态中,如这些状态包括ONLINE、OFFLINE或SUSPECT。若要确认数据库的当前状态,选择sys.databases目录视图中的state_desc列或DATABASEPROPERTYEX函数中的Status属性。 16.1.2 使用脱机命令 当在数据库复制过程中,需要暂停当前的联机数据库,就可以使用【脱机】命令来完成,接下来图解如何使用【脱机】命令实现数据库脱机: 16.1.3 使用联机命令 完成对脱机状态的数据库复制后,要将其恢复为可用状态,就可以使用【联机】命令来完成,接下来图解如何使用【联机】命令实现数据库联机。 16.2 分离与附加数据库 分离和附加数据库是使数据库脱机与联机的另外一种途径。如果要删除某个数据库,但其正在被访问,如果要强行删除,就可以使用分离数据库的操作。本节就介绍如何使用分离与附加数据库。 16.2.1 分离数据库的注意事项 分离数据库就是将数据库从SQL Server实例中删除,但数据库在数据文件和事务日志文件中保持不变。分离后,还可以将数据库附加到任何SQL Server实例,当然也包括分离该数据库的服务器。 16.2.2 如何分离数据库 分离数据库是将数据库从数据库引擎实例中删除,但其数据文件和日志文件都还在原来的位置保存。分 16.2.4 如何附加数据库 附加数据库可以使数据库的状态与分离时的状态完全相同。 16.3 通过Transact-SQL语句分离与附加数据库 对于SQL Server分离与数据库的可视化操作来说,其本质也是通过相应的Transact-SQL语句来完成的。在本节就通过Transact-SQL来揭开可视化操作的神秘面纱。 16.3.1 使用sp_detach_db语句分离数据库 sp_detach_db是个系统存储过程,用其可以从服务器实例中分离当前未使用的数据库,其语法如下: 1 sp_detach_db [ @dbname= ] database_name 2 [ , [ @skipchecks= ] skipchecks ] 3 [ , [ @keepfulltextindexfile = ] KeepFulltextIndexFile ] 16.3.2 使用创建数据库的FOR ATTACH附加数据库 可以使用CREATE DATABASE语句的FOR ATTACH来附加已分离的数据库。下面的代码首先分离数据库mytestdb,然后使用FOR ATTACH附加该数据库。mytestdb具有1个数据和日志文件。由于文件的位置一旦创建,一般不发生更改,所以只要在FOR ATTACH子句中指定主文件几颗。 16.4.1 数据库脱机和分离有什么区别 脱机与连机是相对的两个概念,它表示数据库所处的一种状态,脱机状态时数据库是存在的,只是被关闭了用户不能访问而已,要想访问可以设为联机状态。 分离与附加是相对的两个概念,分离后,数据库不存在,只存在数据库对应的mdf 或ndf 及ldf物理文件。要使用这些文件,可以附加它们。 很简单的概念,却能在细微之处了解数据库开发人员是否在认真的对待数据库的每个小功能。 16.4.2 数据库脱机后是否还能访问 脱机从简单意义上来说,就是断开数据库跟所有人的连接,因为数据库连接已经中断,所以不能再访问脱机数据库。毫无疑问,本题是专门针对开发人员设置的,要求开发人员掌握数据库的联机和脱机操作,并熟悉再联机或脱机时可以做什么。 16.5 小结 脱机与联机数据库在数据库的完整复制与迁移过程中非常有用,可以复制或者迁移整个数据库。使数据库处于脱机与联机的状态,可以通过脱机与联机命令快速完成,也可以通过分离与附加数据库来完成。可视化的操作是本章的学习重点,而Transact-SQL语句操作则是迈向数据库操作高手的必备武器。
文档评论(0)