问题标签 [alwayson]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 使用链接服务器路由到只读副本
我们有一个 3 节点 AlwaysOn 集群,其中一个主节点、一个只读节点和一个不在路由列表中的 DR 节点。我设置了只读副本并使用 MS Access 对其进行了测试,它可以正常工作。
问题是我们有数百个应用程序,创建一个单独的连接然后跟踪哪个存储过程需要使用它是一个巨大的开发难题。
我有一个创建第二个链接服务器的想法,但它当然不起作用,因为链接服务器名称必须与服务器名称相同。
然后我尝试创建一个新的侦听器,但只允许一个。
我的下一个想法是创建一个新的 DNS 记录并将其指向现有侦听器的 IP。我将尝试使用新名称创建一个新的链接服务器,并将其路由到只读副本。
我的最终目标是找到每个仅用于返回数据的存储过程,并将其更改为使用新的链接服务器名称,以便路由到只读副本,这样我们的开发人员就不必创建新的 RO 连接并追捕每个存储过程等。
这可能吗?
sql-server-2014 - 收缩文件不适用于带有 AlwaysOn 高可用性组的 Sql Server 2014
我的问题很简单:收缩日志文件不起作用。当我执行维护计划(数据库完整备份和收缩数据库日志)时,执行终止时没有问题或错误,但日志文件以相同的百分比使用。
数据库位于 AlwaysOn 高可用性组中。该组有 1 台主服务器(称为 BO1)、2 台辅助服务器(称为 BO2 e MI1),我使用 SQL Server 2014。
执行备份后,我使用了命令
我检查了我的日志数据库(名为 DM_AUT 的数据库)。结果如下:日志大小 (MB) 10689.3 和已用日志空间 (%) 90.90916。
这些是我用于完整备份的脚本:
备份后我执行了收缩命令:
在这些维护活动结束时,我检查了数据库日志,结果是相同的:使用的日志空间 (%) 90.90916。
我在这个 AlwaysOn 组中有其他数据库,但备份和收缩日志文件工作正常(并且使用相同的脚本)。
我想了解如何修复收缩日志任务。
谢谢大家。
sql-server - SQL 2014 HA 集群上的内存表在辅助节点上不可查询
我在 SQL 2014 的高可用性组数据库上设置了一个简单的内存表。直接从主节点或从侦听器查询表工作正常。如果我将查询字符串更改为 ReadOnly Intent 或尝试直接从两个辅助节点中的任何一个进行查询,我会收到以下错误:-
Msg 41341, Level 16, State 1, Line 1
Table 'tbl_GetMakes' is not yet available on the secondary replica.
网上关于这条消息的信息很少。它谈到当“重做”过程发生时它被正确复制。据我所读,“重做”过程应该是自动的,该表现在已经放置了超过 24 小时,但仍然无法正常工作。有什么想法吗?谢谢,乔恩
sql-server - 使用 gMSA 将 SQL Server 2012 AG 升级到 SQL Server 2016
我们目前有一个带有 2 个副本的 SQL Server 2012 可用性组。我们希望将副本移动到新硬件并升级到 SQL Server 2016。我们计划将此作为滚动升级,如下所示:
- 服务器 A - SQL Server 2012 副本
- 服务器 B - SQL Server 2012 副本
- 服务器 C - SQL Server 2016 副本
- 服务器 D - SQL Server 2016 副本
将服务器 C 和 D 添加到 AG 并等待它们同步。故障转移到其中一个并验证一切仍然有效。从 AG 中删除服务器 A 和 B。
我们可以将服务器 C 和 D 添加到 AG 中,但是当我们尝试将它们加入AG 时,会出现错误:
无法将本地可用性副本加入 AG。操作遇到 SQL Server 错误 41106 并已回滚...
做了一些搜索,发现了一些需要检查的东西,比如防火墙端口和端点权限。今天没时间了,所以我们还没有足够远来实际检查这些东西,但我想在这里问一些可能确定是否这甚至是一个可行的计划。
问题是 SQL Server A 在 Windows Server 2012 上的托管服务帐户(称为 MSA1)下运行。SQL Server B 在 Windows Server 2012 上的另一个 MSA 下运行,称为 MSA2。SQL Server C 和 D 在Windows Server 2016 上的单个全局托管服务帐户,称为 GMSA1。
我知道 SQL Server 2012 的 AG 不支持 gMSA,如果使用它们可能会导致异常行为。除了添加新服务器、故障转移到它们并删除旧服务器所需的几分钟之外,我们无意在此配置中运行。
这可能吗?尝试将服务器加入 AG 时,gMSA 是否会导致 41106 错误?
sql - 检查自动故障转移是否始终在可用性组上不起作用?
在我的一个环境中,自动故障转移不起作用。我需要检查什么,请帮我解决这个问题?
sql-server - 应用程序意图 = 只读 SQL Server 连接错误
我想连接到包括 4 个不同数据库服务器的可用性组(侦听器 ip)。在我的连接字符串中,我指定
属性以只读方式连接。但它失败了
数据库连接错误
有两种不同的情况:
当我使用数据库 ip 而不是监听器 ip 时,我可以连接到数据库
当我删除时
application intent = readonly
,我可以连接到数据库
谁能帮我?
sql-server - SSISDB 和永远在线。如何安排工作?
现在 SQL Server 2016 使 SSISDB 完全高可用,我有一个关于作业设置的问题。
当我创建执行部署在 SSISDB 中的 SSIS 包的 SQL 代理作业时,在作业步骤中服务器应该是侦听器名称还是物理主机名?
我问这个是因为如果我使用物理主机名并在两个副本中创建作业,辅助作业将始终失败,因为数据库处于只读模式。我还没有尝试放置 Listener 名称,因为我想先获得意见。
sql-server - Powershell 连接变量导致 System.Data.DataRow
我需要获取可用性组和侦听器名称,连接两者以获得服务器列表,然后使用它来获取资源集群。
到目前为止我所做的:
主要问题在于 $NetworkName。它返回 System.data.DataRow,而不是连接$AGName_$LNName
(两者之间需要下划线)。
sql-server - SQL Server 始终开启 - 辅助索引
我们安装了启用 Always ON 的 SQL Server 2016。
假设为简单起见,我们有一个主要的和一个次要的。我希望用户仅以只读访问权限而不是主节点连接到辅助节点。在初级阶段,我每天运行 ETL 作业。为了让 ETL 作业运行得更快,我删除了主索引。现在,对于查询性能,我想在辅助服务器上添加索引,而不是在主服务器上。
这在 SQL Server 2016 Always ON 中是否可行,而不会破坏任何东西?
sql-server - 如何在 AG Listener SQL Server 中添加数据库,并在主 SQL Server 和辅助 SQL Server 上创建?
我已将 A 和 B 构建为具有侦听器(例如 DNS 名称为 LSN)的 AG(可用性组),并使用帐户 LSN 连接到 SQL Server。
现在,当我在 LSN 中创建数据库时,该数据库仅在主要 AG 的 A 中创建,而在辅助节点 B 中没有发生任何事情。
我怎样才能让它同时创建?