SQL Server如何通过备份文件初始化复制

一、背景

MySQL在对有历史数据的数据库进行搭建复制(Master/Slave)的时候,可以通过在Master服务器备份历史数据,利用这个备份文件在Slave进行还原;这样做的好处是可以更加快速的搭建好环境,因为可以对备份文件进行压缩、分包,并且可以使用FTP等工具保证传输过程的安全与快捷;详情可参考:Windows下搭建MySQL Master Slave

当SQL Server遇到同样需要对历史数据库搭建复制,通常的做法是在本地发布快照,再由订阅传输数据,那SQL Server应该如何实现备份历史数据搭建复制(发布/订阅)呢?下图是备份文件初始化订阅的基本逻辑结构图:

(Figure0:备份文件初始化订阅逻辑结构图)

二、搭建过程

(一) 环境信息

系统环境:Windows Server 2008 + SQL Server 2008

发布服务器:192.168.1.105,服务器名称:QuZhoushiwei105

分发服务器:与发布服务器同一台机器

订阅服务器:192.168.1.106,服务器名称:QuZhoushiwei106

发布数据库:Barfoo.TestPublish

订阅数据库:Barfoo.TestSubscribe

数据库帐号:ReplicationUser/ ReplicationPassword

说明:发布服务器与订阅服务器是在同一内网的机器,如果你的环境是跨网段(跨机房)的请参考:SQL Server复制(发布订阅)实战二:跨网段(跨机房)部署

(二) 搭建步骤

1) 在发布服务器上以QuZhoushiwei105服务器名称登陆发布服务器,如果你以localhost或者IP形式登陆服务器,在创建发布的时候会出现下图Figure1的错误信息;

(Figure1:错误信息)

登陆服务器之后使用下面的SQL脚本创建一个测试数据库:Barfoo.TestPublish,创建一个测试表:UserInfo,并插入一条数据,用于模拟历史数据;

--创建测试数据库
USE MASTER
GO
CREATE DATABASE [Barfoo.TestPublish]
GO

--创建测试表
USE [Barfoo.TestPublish]
GO
CREATE TABLE [dbo].[UserInfo](
    [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [names] [nvarchar](50) NULL,
    [address] [nvarchar](50) NULL,
 CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED
(
    [Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO

--插入测试数据
INSERT [dbo].[UserInfo] ([names],[address]) VALUES (N'gaizai', N'广州')

(Figure2:UserInfo表记录)

2) 在发布数据库和订阅服务器上分别执行下面的SQL脚本创建帐号和密码(ReplicationUser/ ReplicationPassword);

--发布服务器创建帐号密码
USE [master]
GO
CREATE LOGIN [ReplicationUser] WITH PASSWORD=N'ReplicationPassword', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
EXEC master..sp_addsrvrolemember @loginame = N'ReplicationUser', @rolename = N'sysadmin'
GO
USE [Barfoo.TestPublish]
GO
CREATE USER [ReplicationUser] FOR LOGIN [ReplicationUser]
GO
USE [Barfoo.TestPublish]
GO
ALTER USER [ReplicationUser] WITH DEFAULT_SCHEMA=[dbo]
GO

--订阅服务器创建帐号密码
USE [master]
GO
CREATE LOGIN [ReplicationUser] WITH PASSWORD=N'ReplicationPassword', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
EXEC master..sp_addsrvrolemember @loginame = N'ReplicationUser', @rolename = N'sysadmin'
GO

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 服务器
, server
, 备份
, 跨网段传输
, java 跨服务器登陆
, 订阅
, 帐号
, 跨数据库复制
复制初始化
sqlserver 仅复制备份、sql server 初始化表、sqlserver备份数据库、sql server数据库备份、sql server 备份,以便于您获取更多的相关知识。

时间: 2024-10-29 05:33:05

SQL Server如何通过备份文件初始化复制的相关文章

sql server 2000管理单元初始化失败的解决方法

使用SQL Server 2000数据库,在打开企业管理器时出现SQL Server管理单元初始化失败错误:窗口名是:MMC SQL Server管理单元初始化失败 名称:Microsoft SQL企业管器 CLSID{00100100-1816-11d0-8EF5-00AA0062C58F} 在网上找了半天多数SQL Server管理单元的解决方法都是要重装数据库,实在是太麻烦了,基本上没发现有实效的解决办法,最后通过自己的努力终于找到了一个快捷的SQL Server管理单元解决方法,将下面的

Sql Server2000+Sql Server Mobile Edition配置合并复制

近期都在研究合并复制的配置.我需要的环境是这样的,服务器端的数据库采用SQL Server 2000.PPC,客户端采用的精简数据库是Sql Server Mobile Edition. 时下大多采用的数据库配合方式基本上是sql server 2005和Sql Server Mobile Edition.其实,我也想这样采用.但是考虑到原有的数据库系统是采用2000的版本,很难让原来的研发人员去花费时间整迁移. 本来,精简数据库要选择sql ce 2.0.但在安装过程中总是无法成功解决Serv

SQL Server 跨网段跨机房复制

一. 背景 搭建SQL Server复制的时候,如果网络环境是局域网内,通过主机名就可以实现了,但是如果是跨网段.跨机房异地搭建复制的时候就需要注意了,因为SQL Server复制不支持通过IP连接分发服务器,那有什么办法解决跨网段.跨机房的问题呢? 二. 解决方案 在跨网段.跨机房进行SQL Server复制的时候需要区分两种情况:一种是外网IP的1433端口对应了这台机器SQL Server的数据库端口:另外一种情况是外网IP对应SQLServer机器的端口不是1433:下面是几种解决方案:

更改SQL Server中默认备份文件夹

问题 当你安装SQL Server时,安装路径一般如下:C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL.在这个目录下也有数据文件的文件夹和备份文件的文件夹.在SQL Server Management Studio中,你可以改变所有新数据库中的数据和日志文件的默认位置,但是你不能改变备份的默认目录.是否可以改变备份的默认目录,这样就不需要在我每次做一个备份时都指定一个目录呢? 专家解答 这些默认数据文件.日志文件和备份的目录都存储在系统注册

SQL Server提高你的合并复制性能

点燃你的合并复制性能 改善合并复制性能的最好的方式就是尽可能地运行合并代理.然而,如果你的用户不在线,那么你就无法运行合并代理,并且你应该劝告你的用户尽量频繁进行同步.以下的贴士将会帮助你提高合并复制的性能. 1.使用合适的配置文件(profile) 关于合并复制性能,你有几种特定的配置文件可以用来解决特定的需求.要察看这些配置文件,右击你的合并代理,选择代理配置(profile),然后从以下列表中选择合适的配置文件: 默认的代理配置文件 高容量服务器对服务器的配置文件 行数和检查总量确认配置文

SQL Server 2000 的工具

1.3.4 ProfilerSQL Server Profiler 是一个图形化的管理工具用于监督记录和检查SQL Server 数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍 1.3.5 Client Network Utility SQL Server Client Network Utility 用于配置客户端的连接测定网络库的版本信息以及设定本地数据库的相关选项 1.3.6 Server Network UtilitySQL Server Server Network Uti

SQL Server 2000中的数据转换服务 (DTS)

server|数据|转换 摘要: 为了完成数据合并.存档和分析等任务:为了进行应用程序开发:为了进行数据库或服务器升级,数据库管理员经常需要导入.导出以及转换数据.SQL Server 2000 中的数据转换服务(DTS)为此提供了一组图形化工具和可编程对象,能够帮助管理员和开发人员解决从不同来源到单个或多个目标的数据转移问题,包括数据提取.转换以及合并.您可以将任务.工作流操作和限制条件组成 DTS数据包,然后安排定期或在特定事件发生时执行该数据包.本白皮书将介绍 DTS,给出一些能够用于创建

如何修改SQL Server 2008数据库服务器名称

在一个虚拟机中安装了SQL Server 2008,然后将该虚拟机文件复制了一个出来,然后还原成另外一个虚拟机,这样就可以同时使用2个虚拟机来做复制的实验了. 要在SQL Server 2008上做数据库复制的实验,需要用到两台服务器,所以需要同时开2个虚拟机(VPC),当然不可能去单独安装2个SQL Server,安装过程太费时了,所以是在一个虚拟机中安装了SQL 2008,然后将该虚拟机文件复制了一个出来,然后还原成另外一个虚拟机,这样就可以同时使用2个虚拟机来做复制的实验了. 先在虚拟机S

如何在SQL Server 2005中实现数据同步

现在假如有一个这样的应用,有一个游戏服务商在推广一个大型游戏的时候,现在架设了多台数据库服务器,为了数据的便于统计,最终这些数据可以自动的转入到指定存储的另一台服务器中,这时候就会面临着一个这样的问题,如何保证这些多台数据库之间的数据的同步呢? 我们就可以使用复制的办法,复制是将一组数据或数据库对象从一个数据库复制和分发到另外一个数据库,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据.使用复制,可以在局域网和广域网上将数据分发到不同位置,可以确保分布在不同地点的数据自动同步更新,从