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
    • 最新
    • 标签
主页 / user-144317

Tomasz's questions

Martin Hope
Tomasz
Asked: 2022-08-10 09:19:44 +0800 CST

辅助服务器上的 SQL 2019 高可用性存储过程问题

  • 0

我刚刚将我的高可用性环境从 SQL 2017 升级到 2019 版本 15.0.4236.7 我在两台服务器上都有相同的 SQL 代理作业,并带有一个初始子句来确定作业是否应该运行(如果服务器是主服务器)。这在过去一直有效,但我遇到了错误。现在,如果辅助服务器上的同一作业调用存储过程,它就会失败。如果作业对只读表进行内联选择,则作业运行没有问题,但 proc 会抛出“目标数据库当前是……”的错误。就好像在执行之前读取了过程,而在调用该行之前不会读取行内选择。这是一个适用于 2017 年辅助服务器但不适用于 2019 年的简单测试。不确定它是错误还是功能。

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
use master; 
Declare @AGName varchar(20)  = 'MY-SQLAGNAME'

declare @ret bit

    SELECT
        @ret = count(AGC.name)
    FROM
     sys.availability_groups_cluster AS AGC
      INNER JOIN sys.dm_hadr_availability_replica_cluster_states AS RCS ON RCS.group_id = AGC.group_id
      INNER JOIN sys.dm_hadr_availability_replica_states AS ARS ON ARS.replica_id = RCS.replica_id
    WHERE
     ARS.role_desc = 'PRIMARY' and AGC.name = @AGName and RCS.replica_server_name = @@ServerName 


 if @ret = 1
 begin;

 Select 'Shouldt go in here'

 select top 1 * from MyDby.dbo.MyTable -- This works
 
 exec MyDb.dbo.AnyProcedure -- This Bombs 

 end
high-availability sql-server-2019
  • 1 个回答
  • 48 Views
Martin Hope
Tomasz
Asked: 2021-03-25 11:24:46 +0800 CST

缓冲池扫描耗时 10 秒错误

  • 3

将 SQL Server 2017 (14.0.3381.3) 与 Always On 高可用性环境一起使用。

出现错误:“缓冲池扫描耗时 10 秒:数据库 ID 8,命令 'CHECKPOINT',操作 'FlushCache',扫描缓冲区 144321190,总迭代缓冲区 150079215,等待时间 42 毫秒。参见'https://go.microsoft.com /fwlink/?linkid=2132602' 了解更多信息”

这是 2017 CU23 中包含的一项新功能,位于 VSTS 错误号 13741858 下。

我看到了可以触发扫描的所有操作的列表,但我的机器上没有发生任何操作,有没有办法判断导致扫描的原因?- 或 - 是否有可用于关闭此错误日志的跟踪标志?

sql-server high-availability
  • 1 个回答
  • 3033 Views
Martin Hope
Tomasz
Asked: 2019-04-06 06:13:14 +0800 CST

dbcc cleantable batch size 解释

  • 6

我有一个非常大的表,其中包含 5 亿行和一个我将删除的 Text 列。在我的开发环境中,我已经删除了列并开始了回收过程,但我不确定“DBCC CLEANTABLE (MyDb,'dbo.LargeTbl, 100000)”语句上的批处理大小实际上是做什么的。

我尝试将其设置为 5,希望它检查前 5 行并结束。“DBCC CLEANTABLE (MyDb,'dbo.LargeTbl, 5)”花了 28 小时。所以我恢复了数据库,将其设置为 100,000,花了 4 个小时

实际问题:批处理大小是否告诉 dbcc cleantable 一次要执行多少行,并且一次连续运行 100K 直到它通过所有 500mil 行?或者一旦我运行了 100,000 行,我是否必须再次运行它,直到我完成所有 5 亿行?

在我的第二次测试中,(运行 100K 一次)我能够回收 30GB。然后我对所有索引运行索引重组并回收和额外的 60GB ..

sql-server sql-server-2016
  • 2 个回答
  • 1543 Views
Martin Hope
Tomasz
Asked: 2018-08-08 08:49:39 +0800 CST

当具有管理权限的用户登录时收到通知

  • 3

我有不到少数具有系统管理员角色成员资格的用户。我想在其中一个登录时收到通知(通过电子邮件发送)。创建触发器是最好的方法还是 SQL Server 中是否有某种内置函数或者可能是可以使用的 SQL Server Agent-Alert?

我可以建立一份工作,看看:

SELECT name 
FROM master.sys.server_principals 
WHERE IS_SRVROLEMEMBER ('sysadmin',name) = 1 and name not like '%NT%' 

或类似性质的东西,但这意味着这项工作必须每秒运行一次......

sql-server logins
  • 1 个回答
  • 262 Views
Martin Hope
Tomasz
Asked: 2018-06-07 10:27:28 +0800 CST

只读数据库登录错误

  • 0

得到错误:

“目标数据库 ('MyDB') 位于可用性组中,当应用程序意向设置为只读时,当前可供连接访问。有关应用程序意向的详细信息,请参阅 SQL Server 联机丛书。”

在 SQL 错误日志中,没有任何试图登录的信息。

这是在具有 Always On 高可用性的 SQL 2017 版本 14.0.3026.27 上

availability-groups logon
  • 1 个回答
  • 168 Views
Martin Hope
Tomasz
Asked: 2018-04-10 10:45:05 +0800 CST

AlwaysOn 只读副本比主副本慢

  • 1

我遇到了一个问题。我的只读副本(在节点 B 上)执行查询的时间是我的主副本(节点 A)上的两倍。但是当我故障转移到节点 B(成为我的主要节点)时,它运行良好,但随后在新副本上运行缓慢,所以我认为它不是硬件。

我检查了索引碎片,它们是相同的,目前服务器上除了我的查询之外没有运行任何东西。执行计划是相同的。电源设置为高性能。

我们在 Windows 2016 服务器上运行 SQL 2017。

关于还有什么要检查的任何建议?

在此处输入图像描述

availability-groups
  • 1 个回答
  • 551 Views
Martin Hope
Tomasz
Asked: 2018-02-22 05:48:00 +0800 CST

一个可用性组,两个主节点

  • 0

我有两个节点 A 和 B,我正在尝试将节点 A 设置为 DB1 的主要节点,将节点 B 作为其辅助节点,然后将节点 B 设置为 DB2 的主要节点,将节点 A 设置为其辅助节点。(我正在使用 SQL 14.0.1000.169)

在此处输入图像描述

我是否需要两个可用性组、两个侦听器、两个故障转移群集?目前我各有一个。

我能够为第一个场景成功创建可用性组,但现在我迷路了。

sql-server availability-groups
  • 2 个回答
  • 1223 Views

Sidebar

Stats

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

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 4 个回答
  • 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
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • 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
    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