教你怎么从一台sql server服务器拷贝数据到另外一台sql server服务器

平台说明:两台sql server2005服务器,上面装了两个相同的数据库

最近由于项目需要,需要将其中一台服务器上的数据库的数据拷贝到另外一台服务器上的数据库上,经过了很多google后终于完成了,在此做个详细的记录,希望能够帮到大家及自己。

一、第一步:sql添加服务器

首先,我们需要用sql 脚本连接上另外一个服务器,

use master
go
/*添加服务器*/
EXEC sp_addlinkedserver
@server = 'hang',  /*此名字可以随便取*/
@srvproduct = 'SQL',
@provider = 'SQLOLEDB',
@datasrc = '10.130.26.x' /*说明:另外一台服务器的IP*/
go
/*登陆服务器*/
EXEC sp_addlinkedsrvlogin
@rmtsrvname ='hang',  /*需要跟前面连接的同一个名字*/
@useself = 'false',
@locallogin = 'sa',
@rmtuser = 'sa',
@rmtpassword = 'wlw' /*登陆密码*/

上面的代码是sql连接sql的代码,其他数据库之间的连接可参考:http://msdn.microsoft.com/zh-cn/library/ms190479.aspx

二、第二步: 编写脚本测试

这里需要说明一下的是,当我们用上面的代码添加好服务器之后,以后就不用再次连接了,比如我要查询:

select * from hang.epark.dbo.parkHistory
/*hang是刚刚我建立的服务器名字,epark是服务器上的数据库,dbo.parkHistory是具体的表*/   

然后就可以编写我们需要用到的代码先在查询窗口测试一下,是否能够成功执行

insert hang.epark.dbo.parkHistory(userNo,cardID,parkingNo_longquan)
select userNo,cardID,parkingNo
from epark.dbo.parkHistory where not exists(select * from hang.epark.dbo.parkHistory where parkingNo_longquan=epark.dbo.parkHistory.parkingNo)

这里用到表的复制语句:insert into ()selcet ,还有not exists(),这个not exists就是将一个表中有,而另外一个表没有的列返回。比如我的这个语句,因为我需要定时将一台服务器上的parkHistory更新的数据上传到另外一台服务器上的parkHistory上面,所以我已经上传过的数据就不再上传,not
exists就是这么个功能。

代码测试通过后,我们就可以建立定时任务了。

三、第三步: 添加定时任务

首先我们打开数据库后在 服务器对象->连接服务器,如图

然后右键hang(具体是你自己连接的数据库,这个就是我之前用sql语句连接的)->属性

如图:

原本是没有NT AUTHORITY\SYSTEM账号的,这是我自己添加的,你也需要将NT
AUTHORITY\SYSTEM添加到用户映射,远程用户和远程密码就是另外一台数据库登陆的密码,一般用sa,或是你自己建的用户名。然后在下面选择用
使用此安全上下文建立连接
然后输入用户名和密码;以上这个操作主要是为了避免出现“已以用户 NT AUTHORITY/SYSTEM 的身份执行。 用户 ‘NT AUTHORITY/ANONYMOUS LOGON‘ 登录失败。 [SQLSTATE 28000]
(错误 18456).  该步骤失败。”的错误

接下来需要打开sql server代理服务:开始-->>>运行-->>>输入"services.msc"-->>>进入服务,开启SQL Server Agent服务,并设置为自动

接下来开启一个任务:http://www.cnblogs.com/IPrograming/archive/2012/03/08/2384776.html

注:错误处理

SQL SERVER2005里面,启动SQL代理服务,启动正常,但是在sql server 代理还是显示已禁用代理
xp ,在查询窗口执行以下代码:

  1. sp_configure ‘show advanced options‘, 1;
  2. GO
  3. RECONFIGURE WITH OVERRIDE;   --加上WITH OVERRIDE
  4. GO
  5. sp_configure ‘Agent XPs‘, 1;
  6. GO
  7. RECONFIGURE WITH OVERRIDE     --加上WITH OVERRIDE
  8. GO
时间: 2025-01-14 08:04:46

教你怎么从一台sql server服务器拷贝数据到另外一台sql server服务器的相关文章

教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题)

原文:教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题) 之前发布过Silverlight应用程序,当时也没有你遇到什么阻碍,直接使用的Visual Studio 2010的Publish功能,貌似也没有作什么设置.后来重装系统,也就都没有了,这两天帮一个大哥做了一些小例子,顺便整合了一下.于是闲来无聊遍想发布一下,结果费了老大周折才弄好,于是再次好好记录一下,以便下次查阅.

Lync Server 2013企业版部署测试四:安装SQL数据库

打开第一台后端服务器bck01.juc.com,hyper-v挂载windows Server 2012,安装.net3.5 勾选".NET Framework 3.5功能" 指定备用源路径D:\Sources\SxS .net3.5安装完毕,hyper-v挂载SQL Server 2012 with SP1安装包安装SQL数据库 点击"全新SQL Server独立安装或向现有安装添加功能" 功能仅勾选"数据库引擎服务"."管理工具-基

Mysql导入Sql文件时报Error Code: 2013 - Lost connection to MySQL server during query

MySql 有时我们导入sql文件,文件过大,导致Error Code: 2013 - Lost connection to MySQL server during query这种错误 执行以下: [sql] view plain copy print? SHOW GLOBAL VARIABLES LIKE '%timeout'; SET GLOBAL net_write_timeout=28800; SET GLOBAL net_read_timeout=100; SET GLOBAL con

SQL Server复制的阶梯:第1级 - SQL Server复制简介

                                                                          SQL Server复制的阶梯:第1级 -  SQL Server复制简介 <Pro SQL Server Internals, 2nd edition>      作者:Dmitri Korotkevitch       翻译:何圳冰 该系列 本文是Stairway系列的一部分:SQL Server复制的进阶 SQL Replication可以解

翻译:SQL Server复制的阶梯:第1级 - SQL Server复制

简介 作者:Sebastian Meine, 2012年12月26日 该系列 本文是Stairway系列的一部分:SQL Server复制的阶梯 SQL Replication可以解决运行数据库驱动的应用程序中的许多问题.发布/订阅者模型不是很容易理解,脚本和监视复制系统的复杂性需要一些思考.最后,这是一系列文章,它们负责制作所有类型的SQL Server Replication的无术语方法. 第1级:SQL Server复制简介 主要条目:rep-li-ca-tion 发音:\?re-pl?-

SQL SERVER几种数据迁移/导出导入的实践

SQLServer提供了多种数据导出导入的工具和方法,在此,分享我实践的经验(只涉及数据库与Excel.数据库与文本文件.数据库与数据库之间的导出导入). (一)数据库与Excel 方法1: 使用数据库客户端(SSMS)的界面工具.右键选择要导出数据的数据库,选择“任务”——“导出数据”,下图1,按照向导一步一步操作即可.而导入则相反,导入时,SQLServer会默认创建一张新表,字段名也默认跟导入的Excel标题一样,并且会默认字段数据类型等.当然在可以在向导进行修改.需要注意的是如果标题不是

一个有趣的SQL Server 层级汇总数据问题

看SQL Server大V宋大侠的博客文章,发现了一个有趣的sql server层级汇总数据问题. 具体的问题如下: parent_id emp_id emp_name total_amout     NULL 2 Andrew 200     2 1 Nancy 100     2 3 Janet 120     3 4 Michael 80     1 5 Robert 50     每个员工的总销售额=自己的销售额+其下级员工的总销售额,     比如:     Andrew = 200_

十步优化SQL Server中的数据访问(转载)

原文地址:http://tech.it168.com/a2009/1125/814/000000814758.shtml 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因. 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表

SQL Server :理解数据记录结构

在SQL Server :理解数据页结构我们提到每条记录都有7 bytes的系统行开销,那这个7 bytes行开销到底是一个什么样的结构,我们一起来看下. 数据记录存储我们具体的数据,换句话说,它存在堆表里,或者存在聚集索引的叶子节点.数据记录结构是为了让SQL Server更高效的管理数据.我们来看下数据记录结构示意图: 上图中蓝色部分是所有数据记录部分,绿色部分是表结构里取决于定长/变长列的数据记录部分. 行头系统数据: 用做状态位1的第1字节(8位)是用来定义记录的属性: 第0位:版本信息