前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sqlserver如何复制数据库_sql数据库复制到另一台电脑

sqlserver如何复制数据库_sql数据库复制到另一台电脑

作者头像
全栈程序员站长
发布2022-09-27 11:40:35
1.8K0
发布2022-09-27 11:40:35
举报
文章被收录于专栏:全栈程序员必看

快照复制:通过设定固定的时间周期 进行复制, 时间周期范围可以任意设置在一分钟到一个月之间, 是三种复制功能中最稳定的。

事物复制:通过实时监测数据库更新, 在每次 更新时对数据和数据库对象进行复制, 实时性能 最好, 但SQL Server个人版本无法提供事物复制功能, 企业版本虽然有该功能, 但不能对数据内容进行筛选, 实用性和稳定性都比快照复制低。

合并复制:指两个数据库之间有任意一个数据库更新 就会使另一个数据库随之更新, 安全性差, 通常较少使用。

服务器端配置:

1、新建共享目录

将D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\repldata 共享,添加Everyone用户并赋予全部权限。

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

在SQL中需要写UNC路径:\\SYSSYS\repldata(在运行下测试看能否访问);

2、搭建ftp站点,使用ftp服务访问快照文件(以共享文件的方式访问不到快照文件,不知原因)

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

物理路径为:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\repldata

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

IP地址为全部未分配;SSL选择无

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

网页输入ftp://10.19.1.54/验证是否可以访问文件夹;如服务器开了防火墙,需将ftp设为例外

3、 发布快照文件(以事物发布为例)

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

输入发布服务器的用户名,密码;如本机作为发布服务器则为:sa,123

4、右击发布文件—属性—FTP快照

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

如上图所示设置,确定即可。

订阅端配置:

1、新建订阅

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

选择客户端作为订阅服务器

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

此处输入发布服务器的用户名,密码

2、刷新数据库即可出现同步结果;数据量大的话同步时间会相对长些

说明:

1、发布与订阅都不能用ip连接数据库;需直接用计算机名连接数据库;才能执行发布与订阅

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

2、局域网可采用发布与订阅都在发布服务器上完成(称为推送);如果类似于政务互联网与218之间的网络则必须在发布服务器(218)下发布快照文件,在客户端(政务互联网)订阅

问题: 1、 SQLServer复制需要有实际的服务器名称才能连接到服务器,请指定实际的服务器名。发现有这两种情况: 1)自己本身的计算机名称修改过,导致与服务器不一致。

解决:

在SQL SERVER里面执行下面语句:

use master go select @@servername; select serverproperty(‘servername’)

使用上面的语句查询服务器的名称和实际计算机的名称,如果两者不一致,就需要修改。不一致就执行下面的语句:

代码语言:javascript
复制
   sp_dropserver 'WIN-EOJ9MM0SEE7' 
  
  
  
  
  
  
   
   
   GO 
  
  
  
  
  
  
   
   
   sp_addserver 'XCYL', 'local'

修改完后,重启SQL SERVER服务。

2)在直接用IP地址连接远程服务器时,如果不用别名来连接的话,就会出现上面这个错误提示框。

解决:

为远程服务器增加“别名”,使用别名代替IP地址来连接远程数据库服务器。打开SQL SERVER2008的配置管理器,定位到“别名”服务选项,如下:

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

右键—>新建别名:

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

这里的这个”别名”就用服务器名称,就是用上面的SQL 语句查询出来的名称:(select @@servername;),IP地址就是这台服务器的访问地址。 接着在本机的hosts添加相应的IP地址和别名: C:\Windows\System32\drivers\etc

hosts: IP地址 别名 例如: 10.19.1.54 SYSSYSSingle

修改完,保存,重启一下SQL SERVER服务。再次连接的时候,使用“别名”代替IP地址去连接服务器即可(用别名登陆不可行,还提示需用计算机名);

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

至此,问题解决!

2、无法对数据库’XXX’ 执行删除,因为它正用于复制

解决:sp_removedbreplication ‘newSql’

DROP DATABASE newSql

3、无法作为数据库主体执行,因为主体 “dbo” 不存在

解决:

USE mete_data; EXEC sp_changedbowner ‘sa’;

4、有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析

解决:

1)使用记事本打开HOSTS文件(一般情况下位于C:\Windows\System32下)

2)添加一条IP地址与服务器名称的对应记录,如: 218.205.197.58 XCYL 10.9.34.111 GXX-PC

5、有时候无法修改表设计,设置如下:把对号去掉

sqlserver如何复制数据库_sql数据库复制到另一台电脑
sqlserver如何复制数据库_sql数据库复制到另一台电脑

其它:

1、路由器端口映射

1)在不在一个网段上无所谓,关键是网通不通,网不通一切白扯。

2)网通了还得检查1433端口是否可用,安装SQL Server 2000的那台服务器必须把1433端口打开,中间的路由器防火墙啥的也得把1433端口打开,SQL Server 2000默认使用的是1433端口

2、可以在客户端的Dos下使用telnet 服务器IP 1433 来检查能不能访问服务器的1433端口

3、Teamviewer:Internet之间的远程操控,类似于QQ的远程

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183810.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档