sqlserver数据库同步工具_sql server数据库安装

sqlserver数据库同步工具_sql server数据库安装 一、确认数据库运行环境是否配置正确打开SQLServerManagementStudio,新建查询: select*fromsys.servers GO //这里可得到原来的计算机名称。然后将其记录下来(复制即可)  看这里的name是否和你的服务器的计算机名称一样,如果一样可以跳到文档(二),否则请按如下操作更改 新建查询:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

 

打开SQL Server Management Studio,新建查询:

 

select * from sys.servers 

GO

 

//这里可得到原来的计算机名称。然后将其记录下来(复制即可)

 

sqlserver数据库同步工具_sql server数据库安装

 

看这里的name是否和你的服务器的计算机名称一样,如果一样可以跳到文档(二),否则请按如下操作更改

 

新建查询:

 

sp_dropserver [你的SQL服务器名称]

GO

 

EXEC sp_addserver ‘你服务器的计算机名称’, ‘local’, ‘duplicate_OK’

 

然后重起sqlserver(我是直接重新起的计算机)

即可。。。

 

一、配置主备机

1、 物理连接

将主备数据库按照如图所示连接:

sqlserver数据库同步工具_sql server数据库安装

 请先把备机中的VopMSsql数据库删除

2、 检查SQL Server 2005数据库

要对数据库进行数据库镜像,必须将它更改为使用完整恢复模式。用 Transact-SQL 实现此目的,使用 ALTER DATABASE 语句:

USE master;
ALTER DATABASE Vopmssql 
SET RECOVERY FULL; 

 

二、主备实例互通

实现互通可以使用域或证书来实现,考虑实现的简单,以下选取证书的方式实现。注意:实现“主备数据库实例互通”的操作只需要做一次。

1、创建证书(主备可并行执行)

–主机执行:

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘vop’;
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = ‘HOST_A certificate’ , 
START_DATE = ’11/01/2008′;

–备机执行:

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘vop’;
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = ‘HOST_B certificate’, 
START_DATE = ’11/01/2008′;

 

2、创建连接的端点(主备可并行执行)

–主机执行:

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
 ( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

–备机执行:

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

 

3、备份证书以备建立互联(主备可并行执行)

–主机执行:

BACKUP CERTIFICATE HOST_A_cert TO FILE = ‘D:/HOST_A_cert.cer’;

 –备机执行:

BACKUP CERTIFICATE HOST_B_cert TO FILE = ‘D:/HOST_B_cert.cer’;

 

4、互换证书

将备份到D:/的证书进行互换,即HOST_A_cert.cer复制到备机的D:/。HOST_B_cert.cer复制到主机的D:/

5、添加登陆名、用户(主备可并行执行)

以下操作只能通过命令行运行,通过图形界面无法完成。

–主机执行:

CREATE LOGIN HOST_B_login WITH PASSWORD = ‘vop’;
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = ‘D:/HOST_B_cert.cer’;
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];

–备机执行:

CREATE LOGIN HOST_A_login WITH PASSWORD = ‘vop’;
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = ‘D:/HOST_A_cert.cer’;
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];

 

三、建立镜像关系

1、 手工同步登录名和密码

通常来说数据库都将会有若干个用户作为访问数据库的用户,并且数据库会有相应的登录名,但是在备机中缺少与之相对应的登录名,例如某业务系统使用’vop’作为登录名访问数据库,但是在备机中没有’vop’这个登录名,因此一旦主备切换,业务系统就无法登录数据库了,这种情况称为”孤立用户”

在主数据库中执行如下语句:

USE master;
select sid,name from syslogins;

查找出相应的用户名和sid,例如:上述的’vop’

在备数据库中执行如下语句:

USE master;
exec sp_addlogin 
@loginame = ‘<LoginName>’, 
@passwd = ‘<Password>’, 
@sid = <sid> ;

这里的’LoginName’即主数据库中的登录名,sid即是上述通过SQL语句查找出的sid。

例如,查询得到的sid和name如下所示。 

sid name
———————————- —————–
0x074477739DCA0E499C29394FFFC4ADE4 cz_account

则建立登录名的SQL语句:

USE master;
exec sp_addlogin 
@loginame = ‘vop’, 
@passwd = ‘password’, 
@sid = 0x074477739DCA0E499C29394FFFC4ADE4;

到此为止可以认为备机数据库的环境已经与主机同步了,还差数据库内的数据未同步。

2、 准备备机数据库

1)备份主机数据库,备份类型选择“完整”,在备机中完全恢复。恢复时,在选项页面的恢复状态中,选择“不对数据库执行任何操作”。以名为test的数据库为例

–主机备份数据库:

sqlserver数据库同步工具_sql server数据库安装

 

 

–备机还原数据库:

sqlserver数据库同步工具_sql server数据库安装

 

如果执行成功数据库将会变成这个样子:

sqlserver数据库同步工具_sql server数据库安装

2)备份主体数据库日志,在备机数据库中恢复。恢复时,在选项页面的恢复状态中,选择”不对数据库执行任何操作”

日志备份-恢复操作必须在数据备份-恢复后执行。

–主机备份数据库日志:

sqlserver数据库同步工具_sql server数据库安装

 

–备机还原数据库日志:

sqlserver数据库同步工具_sql server数据库安装

 

3、 建立镜像

–主机执行:

ALTER DATABASE VopMSsql SET PARTNER = ‘TCP://192.168.0.2:5022’;

–如果主体执行不成功,尝试在备机中执行如下语句:

备机执行成功后,再在主机中重新执行上述语句。

ALTER DATABASE VopMSsql  SET PARTNER = ‘TCP://192.168.0.1:5022’;

sqlserver数据库同步工具_sql server数据库安装

 

如果执行成功,则主备数据库将会呈现如上图所示的图标。

四、测试操作

1、主备互换

–主机执行:

1 USE master;
2 ALTER DATABASE VopMssql SET PARTNER FAILOVER;
3

2、主服务器Down掉,备机紧急启动并且开始服务

–备机执行:

1 USE master;
2 ALTER DATABASE VopMssql  SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;
3

3、原来的主服务器恢复,可以继续工作,需要重新设定镜像

1 –备机执行:
2 USE master;
3 ALTER DATABASE VopMssql  SET PARTNER RESUME; –恢复镜像
4 ALTER DATABASE VopMssql  SET PARTNER FAILOVER; –切换主备
5

4、原来的主服务器恢复,可以继续工作

–默认情况下,事务安全级别的设置为 FULL,即同步运行模式,而且SQL Server 2005 标准版只支持同步模式。

–关闭事务安全可将会话切换到异步运行模式,该模式可使性能达到最佳。

1 USE master;
2 ALTER DATABASE VopMssql  SET PARTNER SAFETY FULL; –事务安全,同步模式
3 ALTER DATABASE VopMssql  SET PARTNER SAFETY OFF; –事务不安全,异步模式
4

 

 删除数据库镜像

1.       连接到任一伙伴。

2.       发出以下 Transact-SQL 语句:

ALTER DATABASE <database_name> SET PARTNER OFF

其中,<database_name> 是要删除其会话的镜像数据库。

此语句可删除数据库镜像会话并从数据库中删除镜像。可以在任一合作伙伴上指定 OFF。有关删除数据库镜像的影响的详细信息,请参阅删除数据库镜像。

3.       或者,可以恢复以前的镜像数据库。在作为镜像服务器的服务器实例上,输入:

RESTORE DATABASE <database_name> WITH RECOVERY;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++ eigen_c++第三方库

    C++ eigen_c++第三方库前言Eigen就是一个线性代数的C++库。它对矩阵(MatrixMatrix)和向量(VectorVector)等相关线性代数的运算操作进行了比较系统的实现。一、矩阵1.定义矩阵模板函数共包含六个参数template<typename_Scalar,int_Rows,int_Cols,int_Options,int_MaxRows,int_MaxC…

    2022年10月19日
  • idea打不开,双击没反应的解决方案

    idea双击打不开,没反应1.找到idea安装根目录bin下,选中idea.bat右键编辑,或者使用txt打开2.在idea.bat最后一行添加pause打印报错信息如图3.保存关闭,双击运行idea.bat4.会显示报错信息,如图下5.根据错误信息找到配置路径错误6.找到c盘C:\Users\ThinkPad\下设置显示隐藏的项目这样我们就能找到AppDate文件夹了7.找到路径下idea64.exe.vmoptions文件…

    2022年4月5日
  • mysql高可用集群搭建_盗版云熙软件安装教程

    mysql高可用集群搭建_盗版云熙软件安装教程本文仅为官方文件之翻译MySQL集群硬件,软件,网络要求MySQL集群的一个强悍的地方在于它可以运行在普通的硬件上,不需要太大容量的内存(因为所有的活动数据都存储在内存)。(使用磁盘数据表可以减少这样的要求,更多内容请看Section18.5.12,“MySQLClusterDiskDataTables”)多核和更快的CPU可以加强性能。自然的,集群进程对内存的需求也就相应变小。

    2022年10月9日
  • mysql 错误10038_如何解决MySql10038错误

    第一种方法:第一步:先看报错窗口2003can’tconnecttoMySQLserveron’127.0.0.1′(10038).第二步:原因是:远程3306端口未对外开放操作。第三步:首先远程连接服务器,点击”开始”–>”管理工具”–>”高级安全Windows防火墙”。第四步:在打开的窗口中,左边选中”入站规则”,右边点击”新建规则”来建立一个入站规则。第五步:…

    2022年4月18日
  • jsp中JDBC连接MySQL数据库[通俗易懂]

    jsp中JDBC连接MySQL数据库[通俗易懂]前言:在进行网页制作时,难免会有数据库的使用,今天来讲一下jsp中利用JDBC连接MySQL数据库:::文章目录:一.JDBC:二.连接数据库:1.需要的包:2.加载驱动:3.连接数据库:一.JDBC:JDBC:Java数据库连接(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是SunMicrosystems的商标。我们通常说的JDBC是面向关系型数据库的。(–

    2022年9月9日
  • Pytest(13)命令行参数–tb的使用「建议收藏」

    Pytest(13)命令行参数–tb的使用「建议收藏」前言pytest使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。–tb=style参数可以设置报错的时候回溯打印内容,可以设置参

    2022年7月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号