移动数据库

  在SQL Server 中可以使用拆分(Detach)和附加(Attach)的方法来移动数据库。拆分数据库是从服务器中移去逻辑数据库,但不会将操作系统中的数据库文件删除。附加数据库将会创建一个新的数据库,并复制存储在已有的数据库文件和事务日志文件中的数据。使用系统存储过程Sp_detach_db 来拆分数据库,用系统存储过程Sp_attach_db 来附加数据库。

Sp_detach_db 系统存储过程的语法如下:
sp_detach_db [@dbname =] 'database_name'
[, [@skipchecks =] 'skipchecks']
其中[@skipchecks =] 'skipchecks'子句中Skipchecks 的值为True 或False。 当Skipchecks的值为True 时,指定在执行此过程之前不需要对数据库中的所有表执行UPDATE STATISTICS命令;为False 时,则需要执行UPDATE STATISTICS 命令。

Sp_attach_db 系统存储过程的语法如下:
sp_attach_db [@dbname =] 'dbname',
[@filename1 =] 'filename_n' [,...16]
其中“filename_n”包括文件的路径和物理名称。最多可指定16 个文件。文件中必须包含主数据库文件。如果需要附加的文件超过了16 个,就必须使用带FOR ATTACH 子句的CREATE DATABASE 命令来代替。
注意:Sp_attach_db系统存储过程中只能作用于那些已经用Sp_detach_db系统存储过程从服务器中拆分出来的数据库。

例6-16:移动数据库mytest 到E:\SQL Data 目录下。
(1) 在SQL Server Query Analyzer 中运行系统存储过程Sp_helpdb, 得到mytest数据库所包含的文件名称、数量、类型、存放位置等信息。命令语句如下:
exec sp_helpdb mytest

(2) 在SQL Server Query Analyzer 中运行Sp_detach_db 系统存储过程,拆分mytest数据库。命令语句如下:
exec sp_detach_db mytest, true
运行结果如下:
Successfully detached database 'mytest1'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

(3) 在操作系统的文件夹窗口中用剪切或粘贴的方式直接将与数据库相关的操作系统文件移动到E:\ SQL Data 2000 Server 目录下。即将D:\SQL Data\mytest_Data.MDF 文件和D:\SQLData\mytest_Log.LDF 文件移到E:\ SQL Data 2000

(4) 在SQL Server Query Analyzer 中运行Sp_attach_db 系统存储过程,附加文件到mytest 数据库。命令语句如下:
exec sp_attach_db @dbname = 'mytest',
@filename1 = 'e:\sql data\mytest_data.mdf',
@filename2 = 'e:\sql data\mytest_log.ldf'

运行结果如下:
Successfully attached database 'mytest'.
至此已完成了数据库的移动工作,可在Enterprise Manager 中查看mytest 数据库的信息,也可以在SQL Server Query Analyzer 中运行系统存储过程Sp_helpdb 来查看移动是否成功。

时间: 2024-10-06 08:06:17

移动数据库的相关文章

传统应用层逻辑分库DB迁移阿里云DRDS+RDS分布式数据库

随着互联网快速发展,我们的结构化关系数据库在高并发.海量数据的情况下面临单机扩展性问题,首先是单机数据库容量瓶颈,单机数据库在业务高速增长的情况下依赖硬件升级也会到达天花板,并且使用成本变得非常高,而且扩展性的复杂性也是比较高,传统数据库扩容往往意味着服务中断,很难做到业务无感知或者少感知.     通过数据水平切换来现实分库可以帮助提升数据库整体性能.横向扩展性,切分后有效的降低了单台机器的访问负载,同时最大限度的降低了数据库服务节点宕机后的损失.      传统应用业务层逻辑或组件分库实现方

300+篇运维、数据库等实战资料免费下载(文章+PDF+视频,持续更新)

2017年已过去一半,在此小编为大家精心整理了2017上半年热点事件解析.实战技术资料以及特别策划短视频系列,希望可以帮助大家更深入地回顾上半年的技术热点,并储备更充足的技术干粮继续2017的下一半. PART 1 峰会回顾资料 云栖大会 [上海云栖大会]2017云栖大会上海峰会资料合计(现场视频+PDF下载) [成都云栖大会]2017云栖大会成都峰会资料合计(现场视频+PDF下载) [南京云栖大会]2017云栖大会南京峰会资料合计(现场视频+PDF下载) 技术峰会 [运维/DevOps峰会]

实现php上传图片到指定位置路径保存到数据库

 本文为大家介绍下php上传图片到指定位置路径保存到数据库的具体实现,感兴趣的朋友不要错过 1.conn.php  代码如下: <?  $host="localhost"; //数据库服务器名称  $user="root"; //用户名  $pwd="1721"; //密码  $conn=mysql_connect($host,$user,$pwd);  mysql_query("SET  character_set_connec

关系型数据库设计-用户表和订单表 怎么设计

问题描述 关系型数据库设计-用户表和订单表 怎么设计 如果一个电商用关系型数据库, 假设有一个用户表,有一个订单表,订单表中有一个用户ID 的字段, 那查询某个用户的所有订单时岂不是要遍历整个订单表?没有在互联网公司工作过,不知道是怎么设计的,求解答. 解决方案 数据库可以使用索引,对userid列做了索引,再查询的时候就不需要全表遍历.这和互联网公司没有关系,基本的数据库常识你都没学会.

请教 自己写的mysqli 操作数据库的类 DB.class.php

问题描述 请教 自己写的mysqli 操作数据库的类 DB.class.php 类是这样写的: <?php class DB{ //属性 private $host; private $port; private $name; private $pass; private $dbname; private $prefix; //设置表前缀 private $charset;//设置字符集 private $mysqli; //设置mysqli类对象 //设置构造函数 public functio

导入-附加数据库对于服务器失败 5120

问题描述 附加数据库对于服务器失败 5120 我已经将SQL文件属性完全控制了还是没法附加,是没有获取管理员权限才出现的问题,还是我要导入的文件适用于2000版, 我的是SQL server2008版的所以不行呢? 解决方案 SQL Server 2008完全可以附加2000的数据库. 参考这个试试:http://zhidao.baidu.com/link?url=Bc6C53XPUm26C0IL6_qB_bVLd-QZgouZXDThB3AKC-amGWT3YSgi2HdDd3cAiGZw9m

h2 删数据 sql优化-h2数据库删除数据速度问题

问题描述 h2数据库删除数据速度问题 想删除h2数据库中某个表部分数据,但该表中有八千万左右数据,如何删除符合要求的一小部分数据呢?比如删除name以abc开头的数据,因为h2数据库我是通过web打开查看的,普通的Sql语句要执行很长很长时间,而且经常报内存不足,各位大神有没有什么优化的方法???求指点呀 解决方案 http://www.lc365.net/blog/b/32424/ 解决方案二: 因为没分了,不过谢谢能回答,对我其他的一些地方有帮助

在PHP中使用DBM作为数据库

数据|数据库 在众多CGI语言中,PHP以其简单,快速的优点开始逐渐成长,使用PHP开发程序的人也越来越多,而一般PHP用的数据库就两种:文本以及MYSQL.文本数据库读.写速度慢,当数据到达一定量时就会大大的降低速度乃至崩溃!而MYSQL虽然速度快,功能强大,不过不是一般的业余爱号者所能用得起的,因为一般的免费空间都不支持MYSQL(有主机的朋友就不要往下看了) 今天笔者介绍的是DBM数据库,DBM是柏克莱大学发展的文件/文本型数据库,在BSD系统中已经安装完毕,即使没有安装,在PHP4.03

PHP中使用DBM作为数据库(包括排序)

排序|数据|数据库 在众多CGI语言中,PHP以其简单,快速的优点开始逐渐成长,使用PHP开发程序的人也越来越多,而一般PHP用的数据库就两种:文本以及MYSQL.文本数据库读.写速度慢,当数据到达一定量时就会大大的降低速度乃至崩溃!而MYSQL虽然速度快,功能强大,因为一般的免费空间都不支持MYSQL,因为一般的免费空间都不支持MYSQL(有主机的朋友就不要往下看了) 今天笔者介绍的是DBM数据库,DBM是柏克莱大学发展的文件/文本型数据库,在BSD系统中已经安装完毕,即使没有安装,在PHP4

asp.net中上传图片文件实现防伪图片水印并写入数据库

复制代码 代码如下:// 涉及命名空间 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Web; using Syste