SQL Server Management Studio(SSMS)复制数据库的方法

利用SQL Server Management Studio(SSMS)复制数据库,供大家参考,具体内容如下

前言

今天由于客户购买的软件版本确认了,而之前进行开发的本地数据库版本较低,打算复制一份开发数据库,升级为客户软件版本的数据库再进行后续开发。以前做这种事情一般都是在不同的数据库实例上进行,一直都是使用备份——恢复的方法,今天这次是在同一个实例上,我就在想强大的SSMS有没有向导式的复制数据库方法呢?

看似美好的开始

找到复制数据库的过程很简单,在SSMS上右击数据库就能在任务里找到复制数据库的选项,点开进入了非常友好的图形化操作界面。

依次选择源数据库服务器与目标数据库服务器,和SSMS的任务差不多,看来跨服务器复制数据库也并不复杂,点击下一步,提示

行,那就去SQL Server配置管理器(SQL Server Configuration Manager)打开SQL Server代理(也可以在系统服务中打开)。打开之后可以正常进入下一步了,注意有警告,由于是警告且是开发环境,先试试忽略警告看能不能行。

选择目标数据库的名称与实体位置,然后接下来就是一路下一步(中间可以选择输出到Windows日志,我试过不选的时候可以在SQL Server日志看到结果,选了之后就只能在Windows日志中看了)

果不其然的失败,并无波折的成功

果不其然,失败了,回去看忽略的警告

“若要使用分离和附加方法,运行SQL Server代理作业时所使用的Integration Services代理账户必须可以访问源服务器和目标服务器的文件系统”

OK,观察一下SQL Server代理的用户(在SQL Server配置管理器可以看到,同样可以在系统服务中查到)是NT SERVICE\SQLSERVERAGENT。
在SSMS的安全性——用户名中可以找到该用户,点开用户属性,发现只有sysadmin和public角色,没有diskadmin角色

本来勾上diskadmin角色,应该就可以了,但是由于我对SQL Server代理了解不深,既然安装默认没有选那就保持原样吧,而数据库复制也不常用,我把Server代理的用户暂时改成本地用户重新执行复制。

OK,复制成功。重新再把SQL Server代理的用户改回NT SERVICE\SQLSERVERAGENT。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 复制SqlServer数据库的方法

    在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲.数据库中的存储过程.函数.表结构.主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样.经过一段时间的摸索,找到的一个比较简单的解决方案是: (1)在复制数据库之前,先备份该数据库到文件. (2)依据备份文件创建新的数据库,并Restore即可.    备份数据库可用如下Sql语句:  复制代码 代码如下: string.Format("backup database {0} to disk

  • 通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用.它是一种优于文件备份的数据库备份解决方案. 在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制.数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像

  • mysql跨数据库复制表(在同一IP地址中)示例

    数据库表间数据复制分类 在利用数据库开发时,常常会将一些表之间的数据互相导入.当然可以编写程序实现,但是,程序常常需要开发环境,不方便.最方便是利用sql语言直接导入.既方便而修改也简单.以下就是导入的方法. 1. 表结构相同的表,且在同一数据库(如,table1,table2) Sql : 复制代码 代码如下: insert into table1 select   *    from table2 (完全复制)insert into table1 select   distinct   * 

  • 复制数据库表中两个字段数据的SQL语句

    复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用. 复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",B字

  • sqlserver 复制表 复制数据库存储过程的方法

    在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲.数据库中的存储过程.函数.表结构.主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样.经过一段时间的摸索,找到的一个比较简单的解决方案是:  (1)在复制数据库之前,先备份该数据库到文件.  (2)依据备份文件创建新的数据库,并Restore即可.  备份数据库可用如下Sql语句:  string.Format("backup database {0} to disk = '{1}';&q

  • MySQL数据库InnoDB引擎主从复制同步经验总结

    近期将公司的MySQL架构升级了,由原先的一主多从换成了DRBD+Heartbeat双主多从,正好手上有一个电子商务网站新项目也要上线了,用的是DRBD+Heartbeat双主一从,由于此过程还是有别于以前的MyISAM引擎的,所以这里也将其心得归纳总结了一下: 1)MySQL的replication过程是一个异步同步的过程,并非完全的主从同步,所以同步的过程中是有延迟的,如果做了读写分离的业务的话,建议也要监控此延迟时间: 2)MySQL的master与slave机器记得server-id要保

  • 简单讲解MySQL的数据库复制方法

    MySQL复制其实就是把数据从一个节点(master) 拷贝到另一个节点(slaves), 当然根据应用架构的不同,采用的方式也不同,MySQL服务器之间的复制使用的是二进制日志机制.对master的更新与变动都会作为事件(event)记录在日志中,日志中的信息会随变化的不同被记录成不同的格式.slaves被配置成从master读取日志,并且执行二进制日志中的事件到slave本地数据库.一旦master启动二进制日志功能,那么所有语句操作都会被记录下来,每一个slave会收到一份整个日志内容的拷

  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如下: 1. 首先创建新的数据库newdb #mysql -u root -ppassword mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI; 2. 使用mysqldump及mysql的

  • sql server 复制表从一个数据库到另一个数据库

    /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使

  • MySQL 数据库双向镜像、循环镜像(复制)

    对于双向数据库镜像,就是数据库A的数据变化要镜像到数据库B中,同时数据库B里的修改也要同时复制到数据库A里. 对于循环数据库镜像,就是多个数据库A.B.C.D等,对其中任一个数据库的修改,都要同时镜像到其它的数据库里. 应用:同一个Zen Cart网店的数据库和程序,可以放置在不同的主机上,在任一台主机上新增的订单.客户资料,都会同时加入其它的主机数据库里. 要实现双向或循环数据库镜像,首先要解决的就是防止数据库中自动递增(AUTO_INCREMENT)字段的冲突,以免多数据库各自生成一样的增量

随机推荐