标签: mirroring

数据库镜像 - 仅见证

在 SQL Server 2008 R2 Express 中,唯一的镜像替代方案是“仅见证”,但是我找不到一个很好的解释。

我想在虚拟服务器上有一个数据库,然后有一个本地 SQL Server 来镜像这个数据库,以防互联网连接中断,我想在本地服务器上进行故障转移。

关于我需要在两端运行哪些 SQL Server 版本的任何想法?

sql-server-2008 mirroring

3
推荐指数
1
解决办法
3810
查看次数

镜像 ASPState 数据库的最佳方法是什么?

我的实际镜像部分没有问题,但由于使用了临时表,如果发生故障转移,IIS 会引发一些不稳定(我仍在测试一些东西,所以是我造成了故障转移) .

是否有可能(甚至是一个好主意)镜像tempdb?或者我应该接受如果主体数据库由于任何原因无法访问,有些人可能会被踢出。

我正在使用 ASPState 以便两个 Web 服务器(在启用粘性会话的负载平衡器后面)都可以获取相同的会话数据。

sql-server-2008 mirroring sql-server-2008-r2

3
推荐指数
1
解决办法
1144
查看次数

报告镜像或复制的最佳解决方案?

嗨,我有 SQL SERVER 2008R2 数据中心版,我使用 SSRS 和供应商应用程序进行报告。我有一个报告服务器,我们每天从 Live Server 备份和恢复,以便为我们的报告提供数据。

因此,我面临许多问题,因此开发的任何代码都必须等待一天,直到恢复完成才能进行测试。任何在 Reporting Server 上开发的代码都是重写的。惊喜报告显示了一天前的数据,我可以继续下去。

我知道我有两个可用的镜像和复制选项:

镜像将允许只读模式并且报告运行正常吗?这种只读模式是否有我遗漏的任何其他含义?

复制我在所有表上都没有主键,所以我只能选择使用全局唯一标识符 (GUID) 的合并复制选项,我不能让 sql server 将此列添加到我数据库中的所有表中。

任何人都可以建议我在另一台服务器上为报告目的拥有 Sql Server 数据库的 Live Copy 的解决方案吗?

我的要求

  1. 我可以忍受几分钟的旧数据。
  2. 在生产服务器上所做的任何更改都需要复制到报告服务器,即数据、Sql Server 对象(表、视图、存储过程、一切)
  3. 在报告服务器上创建的任何对象都不需要复制到生产服务器/数据库。

请建议任何解决方案,因为这将是一个很大的帮助提前谢谢你。

replication sql-server ssrs mirroring sql-server-2008-r2

3
推荐指数
1
解决办法
2万
查看次数

在没有见证人的情况下以高安全模式镜像时的假故障

许多数据库在没有见证人的情况下以高安全模式镜像。我试图了解在主服务器保持正常运行且所有其他镜像数据库处于正常同步状态时数据库(或多个数据库)遇到假故障的情况下可能会发生什么。

假故障 DB 的镜像状态是否会变为 DISCONNECTED,但是,因为服务器没有发生故障,主数据库上的 DB 仍然能够接受连接并执行事务,尽管它会在不受保护的情况下运行?或者,主数据库上的数据库是否会断开连接且不可用?而且,这将是什么恢复?它最有可能是一个简单的 ALTER DATABASE SET PARTNER RESUME 吗?

以前,我们将这些 DB 置于具有见证(自动故障转移)的高安全模式下,并将超时时间增加到 20 秒以消除假故障,这在一年半的时间里运行良好。但是,本周,由于未知原因,我们进行了一次数据库故障转移。我已将超时时间增加到 30 秒,但我们也在考虑删除见证,因为无论如何在故障转移的情况下应用程序都需要手动干预,因此我们也可以手动进行数据库故障转移。我可以处理计划好的故障转移,但我对我描述的情况不太满意。

sql-server mirroring sql-server-2008-r2

3
推荐指数
1
解决办法
355
查看次数

SQL 快照重定向

公司正在实施与快照异步的数据库镜像。这提供了一些具有报告功能的灾难恢复区域。服务器 A 主体包含镜像到服务器 B 的数据库,快照是在服务器 B 数据库上拍摄的。

为了启用更新的数据,我们将每 30 分钟在镜像服务器数据库上创建一次数据库快照。我们如何将所有 SSRS/报告存储过程查询重定向到最新快照?我们的报告查询非常短,一般在 10 秒左右。微软在下面提到了程序化解决方案,不确定那是什么?所以SalesDB1030、SalesDB1100、SalesDB1130、24clock加在dbname后面

报告查询可能是

select * from SalesDbSnapshot.dbo.SalesTransaction st
inner join SalesDbSnapshot.dbo.Customer cs
    on st.CustomerId = cs.CustomerId
inner join SalesDbSnapshot.dbo.Product pr
    on st.ProductId = pr.ProductId
Run Code Online (Sandbox Code Playgroud)

创建数据库快照

“要使用数据库快照,客户端需要知道在哪里可以找到它。用户可以在创建或删除一个数据库快照时读取另一个数据库快照。但是,当您用新快照替换现有快照时,您需要将客户端重定向到新快照。用户可以通过 SQL Server Management Studio 手动连接到数据库快照。但是,为了支持生产环境,您应该创建一个编程解决方案,透明地将报表编写客户端定向到数据库的最新数据库快照。 ”

sql-server mirroring snapshot sql-server-2012 disaster-recovery

3
推荐指数
1
解决办法
372
查看次数

Microsoft SQL Server AG 同步镜像不同步

我们正在升级到 SQL Server 2012 并决定我们希望将自己与用于节点 2 上的报告服务的复制分开。AG 和镜像看起来是一个很好的解决方案——我们采用了同步。还决定应用程序将写入节点 1,并从节点 2 读取以最大程度地减少数据争用。

编写了一个应用程序来插入数据,然后他们立即在节点 2 上检查他们插入的数据是否存在。

现在根据我的理解,AG 上的同步镜像应该接收请求,将数据发送到节点 2——节点 2 提交,然后告诉节点 1 完成,然后节点 1 返回给用户。

发生的事情根本不是——他们发送了数据,从节点 2 进行了检索——数据不匹配。错误。

我检查并仔细检查了设置,并让另一位一直使用 AG 和同步镜像的 DBA 查看了这些东西——我们最好的结论是,从我们看到的 Microsoft 的“同步”镜像来看,它不是同步的。有没有其他人看到这个?

sql-server mirroring availability-groups

2
推荐指数
1
解决办法
166
查看次数

SQL Server Management Studio 17.1 镜像错误

我注意到有一个错误,当人们询问它时,他们被发送到错误的方向(见下面的最后评论)。

尝试使用带有 SSMS 17.1 的 SQL Server 2016 创建镜像数据库时,可能会收到以下错误:

没有为数据库镜像配置数据库。
无法打开数据库 x。它正处于恢复过程中。

这个错误是一个真正的 PITA,我花了 2 周的时间搜索,因为我是 DBA 的新手,否则我会走脚本路径。

我认为这是 SSMS 17.1 中的一个错误,因为它适用于 SSMS 16.5.3。不幸的是,我花了很长时间才弄清楚真正的问题是管理工作室本身。17.1版本的界面比16.5.3版本好很多!

错误的建议和误导性的解决方案

主要是数据库镜像/hadr_endpointTCP://servername:port设置,NORECOVERY在许多情况下被遗忘的恢复,但在正确完成备份和恢复时并不是真正的问题。

sql-server ssms mirroring sql-server-2016

2
推荐指数
1
解决办法
2276
查看次数

数据库镜像 - 混合 SQL Server 2012 到 SQL Server 2016

我很确定答案是什么,但我想确认一下。有没有办法创建 SQL Server 2012 到 SQL Server 2016 的混合数据库镜像。

sql-server mirroring

2
推荐指数
1
解决办法
455
查看次数

使用数据库镜像的 SQL Server 迁移(滚动升级)

我计划将 SQL Server 2012 的 SQL Server 迁移到新硬件和新版本的 SQL Server (2016)。我试图找到停机时间最短的最佳解决方案。我在互联网上找到了一些理论上听起来很棒的建议。我说的是数据库镜像和滚动升级。但我也读到 MS 不推荐不同 SQL Server 版本之间的数据库镜像。所以现在我很困惑我应该还是不应该为此使用数据库镜像。有什么建议?以前有人试过这种方法吗?我也在考虑日志传送。

sql-server migration mirroring sql-server-2012 sql-server-2016

2
推荐指数
1
解决办法
869
查看次数

为什么我的 SQL Server 2008R2 数据库没有镜像?

我正在尝试在 SQL Server 2008R2 中设置数据库镜像。我已经从我的主要数据库中进行了完整备份和事务备份,并且我已经恢复了两个WITH NORECOVERY.

但是,我的镜像数据库现在卡在RECOVERING模式中,当我在我的主体上点击“开始镜像”时,它说它无法连接。

我究竟做错了什么?

编辑:我应该说我的数据库相当大(mdf 文件大约为 4.8GB)所以这可能是原因。

Edit2:我也尝试在关闭两个防火墙的情况下执行此操作,所以我知道这不是防火墙问题。

Edit3:我已经运行了 Mark 建议的 SQL。主要结果在这里:http : //piersonthe.net/principal.xls和镜像在这里:http : //piersonthe.net/mirror.xls

值得注意的是,我在镜像上运行查询时出现以下错误:Msg 927, Level 14, State 2, Line 1 Database 'RHSCMSSites' cannot be open. 它正处于恢复过程中。

sql-server-2008 mirroring high-availability

1
推荐指数
1
解决办法
7746
查看次数

我可以使用 T-SQL 通过 TCP 发送字符串吗?

我根据这篇文章设置了一些警报

现在我想让alert触发的Job向ac#应用程序发送一些信息(这个应用程序可以运行在SQL实例的同一台机器上,然后C#应用程序将信息发送到其他机器上)。

我的应用程序可以接受 TCP 连接,所以我正在考虑使用它,但也欢迎 SQL 服务器与我的应用程序通信的任何其他形式。

关于我如何做到这一点的任何建议?

*编辑: *能够通过 T-SQL 在另一个数据库(在其他情况下)中进行插入也可以解决我的问题。

背景信息: 我这样做是为了监视主体服务器何时公开运行以及镜像服务器何时同步。因此,如果证人出现故障,然后校长也出现故障,根据这些警报的记录,我可以判断将镜像升级为校长是否安全。

请注意,在这种情况下,我无法在不破坏镜像配置的情况下读取镜像数据库,因此在镜像数据库中使用表不是解决方案。

sql-server-2008 t-sql mirroring

1
推荐指数
1
解决办法
1126
查看次数

SQL Server USE 忽略 IF 块

我想使用维护计划缩小多个数据库的事务日志文件。这些数据库是镜像的,因此无法在MIRROR数据库上执行收缩任务,但必须在两台服务器上都配置维护计划。我正在SQL Server 2012 Standard (SP1)我们的开发系统上使用,但代码也需要处理2008 R2

我试着用下面的脚本,它可以处理一个数据库,称为DR内的,Execute T-SQL Statement Task

IF EXISTS (SELECT NULL FROM sys.databases WHERE [name] = 'DR' AND [state_desc] = 'ONLINE')
BEGIN
    PRINT 'test';
    USE DR;
    DBCC SHRINKFILE (DR_log, 2048);
END
GO
Run Code Online (Sandbox Code Playgroud)

这在 上运行良好PRINCIPLE,但是会导致在 上出现以下错误消息MIRROR

Msg 954, Level 14, State 1, Line 4
The database "DR" cannot be opened. It is acting as a mirror database.
Run Code Online (Sandbox Code Playgroud)

IFUSE命令似乎忽略了该块。本Print如果不执行USE …

mirroring sql-server-2012 if-not-exists

1
推荐指数
1
解决办法
193
查看次数

只有两台服务器的 SQL Server 上的自动故障转移支持

我们有两台服务器,每台服务器都被专用存储占用。我正在寻找一种方法来设置这两个服务器以在 MS SQL Server 上提供具有自动故障转移支持的数据库。

当只有两台服务器可用时,使用数据库镜像似乎对自动故障转移无效。

有关原因的更多信息:对于自动故障转移,数据库镜像需要称为见证的第三个元素来协调两个数据库实例之间的主体/镜像角色,并在故障转移期间协助切换。但是,我只有两台服务器可用,因此我不得不在其中一台服务器上安装见证,这些服务器可以是主(主体)或辅助(镜像)数据库实例。因此,当主体 DB 和见证服务器都运行的服务器上发生硬件故障时,镜像 DB 无法联机并且不会发生自动故障转移。

SQL Server 的一项名为Always On 可用性组的最新功能似乎提供了类似的镜像功能以及更多功能。是否可以使用只有两台服务器的Always On 可用性组来实现自动故障转移

对于两台服务器的自动故障转移支持,尤其是针对电源故障的支持,您还有其他建议吗?

sql-server mirroring failover high-availability availability-groups

0
推荐指数
1
解决办法
271
查看次数