问题标签 [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.
database-backups - 在 SQL Server Always ON 配置中 - 将事务日志备份到 Nul 会中断 Always On 配置吗?
假设我们有两个节点参与 SQL 2012 AO。这是一个测试实例。在一次索引重建操作期间,日志变得非常大(250 GB)。由于空间限制,我们无法备份它。如果我们将 Tlog 备份到 Nul(只是为了缩小它)会怎样——这会破坏 Always On 吗?
sql-server - SQL Server 2014 只读连接在重新启动后不转发
我有一个四节点 SQL Server 2014 (12.0.4416) 环境,其中一个节点充当只读节点。当我设置路由时,我可以使用该applicationintent = readonly
属性并且一切似乎都正常。我使用applicationintent
只读的连接转发到正确的服务器。通过运行确认select @@servername
。
但是,当我断开readonly
副本与网络的连接或重新启动它时,连接现在会返回到从主数据库读取。
重新启动后是否必须启用任何功能才能使其再次工作?
sql-server - 将 ApplicationIntent=ReadOnly 与将数据插入临时表的存储过程一起使用
我正在使用 SQL Server 2012 AlwaysOn 侦听器,我想使用带ApplicationIntent=ReadOnly
参数的连接来调用一些存储过程,这是我的问题:将数据插入临时表的存储过程可以使用连接ApplicationIntent=ReadOnly
吗?
sql-server - Microsoft SQL AlwaysOn
是否可以确定客户端连接到哪个端点。即 SQL 可用性组侦听器端点或 SQL 实例本身。
我面临的问题很简单。我最近开始在我的环境(80 多个 SQL Server)中设置 Always On。我需要确定哪些客户端连接仍被错误配置为使用 SQL 实例而不是 HA 侦听器。
sql-server - SQL Server Always On 和连接池
我试图找出我在设置只读副本时看到的问题。我有一个简单的应用程序,它将查询只读副本,我可以通过运行@@servername 来验证它是否命中了正确的副本。一切都按计划进行。我可以毫无问题地故障转移到同步服务器,并且我的测试应用程序仍然从副本读取。
我遇到的问题是,当我重新启动只读副本时,应用程序永远不会返回到只读副本。即使只读副本重新联机,它也会转到路由中设置的任何内容。来自不同服务器的新连接将命中只读副本。如果我尝试使用不同的方法连接到正在运行测试的服务器上的 AG,它将连接到只读副本。下面的 powershell 脚本将继续访问不同的服务器。
如果我停止应用程序,等待大约 10 或 15 分钟然后启动应用程序,然后我将点击只读副本。如果我将连接字符串设置为使用 pooling=false。然后,一旦副本准备好接受连接,它就会按照预期的方式运行副本。
这就是我用来测试只读副本场景的方法。
我错过了什么?还是我的测试不正确?
powershell - 如何确定 microsoft 故障转移群集是否具有仲裁(在 powershell 中)
我正在尝试确定我的 microsoft 故障转移群集是否具有仲裁(在 powershell 中)。Cmdlet Get-ClusterQuorum为我提供了仲裁配置 - 但我需要一个状态。
Cmdlet获取集群 | fl *给了我很多集群属性,但我找不到我需要的那个(DynamicQuorum是一种配置参数,如果有人能解释一下FixQuorum和PreventQuorum 的确切含义,我会很高兴,但它们可能与Start-ClusterNode有关-FixQuorum命令)
由于我安装了 AlwaysOn 高可用性,我可以运行一个查询:
从 sys.dm_hadr_cluster 中选择 cluster_name、quorum_type_desc、quorum_state_desc
并得到类似的东西:myclustername,NODE_MAJORITY, NORMAL_QUORUM
这似乎是我需要的,但是没有 SQL 我怎么能得到它呢?提前非常感谢。
sql-server - AlwaysON SQL Server 2014 应用程序异常:无法更新数据库,因为数据库是只读的
我们有两个节点可用性组。这两个节点是SQL cluster1- node1
和SQL cluster 2- node2
一个可用性组侦听器。Java 应用程序正在连接到此侦听器,最初一切正常,即应用程序能够对数据库执行读/写操作,直到我们进行故障转移。
连接器字符串是driverURL=jdbc:jtds:sqlserver://[Listerner DNS Name]:[Port]/[Database]
假设最初 node1 是主要的,node2 是次要的。故障转移后,node1 成为辅助节点,node2 成为主节点。现在应用程序仍然能够连接到数据库,但只能对数据库执行读取。如果我们尝试在该数据库上进行插入,应用程序会抛出异常(在标题中提到)。
基本上我需要的是应用程序能够一直执行读/写,而不管哪个节点是主节点。有任何想法吗 ?
c# - 可用性组故障转移期间的查询错误
我有一个针对 SQL Server 2012 运行的 C# OLTP 应用程序。我希望它在其数据库位于 AlwaysOn 可用性组中时发生故障转移时不会中断运行。为了从因故障转移而中断的事务中恢复,我使用另一个类 (RetryableSqlCommand) 包装了 C# SqlCommand 对象,该类捕获与故障转移相关的异常(连接断开、无法强化远程事务等)并自动重试它们在指数退避延迟之后。在小型测试应用程序中,此代码完全按照我的意愿工作。当在完整的 OLTP 应用程序中以中等负载(每秒几百个事务)运行时,我在手动故障转移数据库时遇到错误。
该错误总是发生在插入一个主记录和 4 个详细记录的最常调用的存储过程之一中。存储过程始终将插入的主记录和详细记录的 ID 作为 OUTPUT 参数返回。C# 代码如下所示:
我在上面提到的那一行得到了一个 InvalidCastException,因为我从调试日志中确定,ID 是作为 DBNulls 从存储过程返回的。据我所知,这永远不会发生,因为存储过程将所有记录插入到单个事务中。如果事务被中断,应该会有一个异常被 RetryableSqlCommand 类捕获并重试。InvalidCastException 的任何解释?
sql-server-2012 - 使用 SQL Server AlwaysOn 创建侦听器突然停止工作
问题:我使用 SQL Server 创建了 10 个 AlwaysOn 可用性组,没有任何问题。突然,它停止工作,我只在“创建侦听器”部分得到这个:
消息 19471,级别 16,状态 0,第 9 行 WSFC 群集无法使 DNS 名称为“L_MyListener”的网络名称资源联机。DNS 名称可能已被占用或与现有名称服务发生冲突,或者 WSFC 群集服务可能未运行或无法访问。使用不同的 DNS 名称来解决名称冲突,或查看 WSFC 群集日志以获取更多信息。
有时我也收到了 Msg 19476。这一切都令人抓狂,因为有一刻我正在创建侦听器和可用性组,感觉就像一位大师,然后一切都停止了,我浪费了几个小时的时间。
那么你如何解决这个问题呢?当然,微软自己在上述错误描述中建议的文字并没有帮助。
sql - AlwaysOn 与 TDE 和停机时间
对于将 TDE 加密与 AlwaysOn 可用性组一起使用,我还很陌生。关于在实时数据库实例上应用 TDE 证书,我有几个问题:
- 您在 SQL Server 数据库上启用加密时遇到过什么样的停机时间?
- 应用加密时故障转移到辅助节点是一种有效的策略,还是在实时应用时安全?
任何帮助表示赞赏。谢谢你。