AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 41854
Accepted
Rachel
Rachel
Asked: 2013-05-10 08:24:42 +0800 CST2013-05-10 08:24:42 +0800 CST 2013-05-10 08:24:42 +0800 CST

如果我对一个数据库进行故障转移,共享同一镜像端点的其他数据库是否也会进行故障转移?

  • 772

我们有两个数据库设置用于在单个 SQL Server 实例上进行镜像:一个测试数据库和一个生产数据库。两者都使用完全相同的端点镜像到另一台服务器。

如果我进入测试数据库的数据库属性并单击“故障转移”按钮,它是否也会对生产数据库进行故障转移,因为两个数据库共享一个镜像端点并且它们的服务器网络地址属性相同?

在此处输入图像描述

我很担心,因为当我为第二个数据库设置镜像时,我不需要配置任何新东西。它只是使用了所有现有信息。

如果我使用“数据库属性”中的“故障转移”按钮,是否会导致使用该端点的所有数据库故障转移,或者只是我正在查看其属性的特定数据库?

sql-server sql-server-2005
  • 2 2 个回答
  • 2213 Views

2 个回答

  • Voted
  1. Best Answer
    Kin Shah
    2013-05-10T09:04:02+08:002013-05-10T09:04:02+08:00

    @mrdenny 的回答是准确的,故障转移一个数据库不会导致所有其他数据库也故障转移。

    然而,只是为了提供更多关于数据库镜像端点是什么的概述:

    从BOL,

    Microsoft SQL Server 2005 及更高版本中的连接管理基于端点。端点是一个 SQL Server 对象,它使 SQL Server 能够通过网络进行通信。对于数据库镜像,服务器实例需要自己的专用数据库镜像端点。服务器实例上的所有镜像连接都使用单个数据库镜像端点。此端点是一个专用端点,专门用于接收来自其他服务器实例的数据库镜像连接。

    为了更加灵活,您可以使用 T-sql 进行手动故障转移:

    在镜像 DB 上关闭镜像(中断镜像)。

    ALTER DATABASE <<DB NAME>> SET PARTNER OFF
    

    将数据库恢复模式设置为 RECOVERY

    RESTORE DATABASE <<DB NAME>> WITH RECOVERY
    

    如果您使用 SQL 身份验证,则修复和孤立用户

    EXEC sp_change_users_login ‘Auto_Fix’ , ‘<<username>>’
    

    编辑:

    由于您使用的是高安全模式(根据您的屏幕截图),您可以使用主服务器中的以下内容

    ALTER DATABASE <<DB NAME>> SET PARTNER FAILOVER
    

    这样做,只会发生角色反转并且镜像方向反转 - 主体变为镜像,反之亦然。请注意,镜像没有损坏。

    请注意,根据此 MSDN 文章

    手动故障转移只能从主体服务器启动。

    如果您想自动化整个故障转移,请参阅数据库镜像自动化

    • 19
  2. mrdenny
    2013-05-10T08:35:37+08:002013-05-10T08:35:37+08:00

    不,它不会。数据库彼此独立地进行故障转移。故障转移测试数据库并没有什么坏处,生产数据库将保持原样。

    • 8

相关问题

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

  • 从 SQL Server 2008 降级到 2005

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    授予用户对所有表的访问权限

    • 5 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve