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-241429

GAURAV RATHOD's questions

Martin Hope
GAURAV RATHOD
Asked: 2024-01-30 16:39:50 +0800 CST

使用简单的 INSERT 语句获取错误

  • 5

环境信息:

  • RDS 上的 Postgres 14.7

我正在尝试通过 liquibase 应用数据库更改,令我惊讶的是我收到以下错误。数据库中不存在错误 (xxxxx) 中提到的角色。它也没有试图改变顺序。

我无法弄清楚数据库引擎从哪里获取这些信息。直接在 postgres 上运行相同的普通插入语句也会产生相同的错误。这是新的实例,这应该是表中的第一条记录。

[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:4.3.5:update (default-cli) on project liquibasedatabase:
[ERROR] Error setting up or running Liquibase:
[ERROR] liquibase.exception.MigrationFailedException: Migration failed for change set src/main/dbschema/changesets/common/master-data/changes.xml::change-id::owner:
[ERROR]      Reason: liquibase.exception.DatabaseException: ERROR: role "xxxxx" does not exist
[ERROR]   Where: SQL statement "ALTER SEQUENCE IF EXISTS NON_EXISTING_SEQ OWNER TO XXXXX"
[ERROR] PL/pgSQL function create_sequence() line 21 at EXECUTE [Failed SQL: (0) INSERT INTO table (id,name,serial_number) VALUES (7,'something','something')]
postgresql
  • 1 个回答
  • 32 Views
Martin Hope
GAURAV RATHOD
Asked: 2023-11-11 11:42:30 +0800 CST

为什么 log_send_queue_size 突然激增?

  • 5

环境详细信息:SQL Server 2019 (CU 19) - 96 个逻辑处理器、1.5 TB RAM 托管 1 个 3 TB 数据库

我有跨两个数据中心的分布式可用性组(异步)设置。双方(主 AG 和转发 AG)都是具有同步副本的 2 节点集群。

一整天一切都运行顺利,但有时我会看到巨大的 log_send_queue_size (高达 7 GB)。它会在几分钟内以良好的速度清除,因此我不怀疑带宽是这里的瓶颈。

我想弄清楚是什么生成了这么多日志。我应该使用什么来跟踪它(可能是扩展事件?)。任何帮助,将不胜感激。

sql-server
  • 1 个回答
  • 32 Views
Martin Hope
GAURAV RATHOD
Asked: 2023-07-24 21:28:20 +0800 CST

如何在 SQL Server 中解析没有键名的 JSON

  • 5

我有如下列中的 JSON 值。我尝试使用 OPENJSON 解析它。

DECLARE @json NVARCHAR(MAX)='[[108,290,1388,2056],[108,290,1388,2057]]'
DECLARE @json2 NVARCHAR(MAX)='{"1":29893,"2":1}'

DROP TABLE IF EXISTS #T1
SELECT @json AS [json] INTO #t1
INSERT INTO #t1 ([json]) SELECT @json2

SELECT * FROM #T1
CROSS APPLY OPENJSON([json]) 
WHERE ISJSON([json]) > 0

在此输入图像描述

@json2 按预期返回,因为它具有键值对。但是 @json 需要另一个级别的解析,因为它没有键名称,我无法使用 JSON_VALUE 解析它。

再次执行 CROSS APPLY 会导致 @json2 出错,因为它现在不会成对(对于值 29893)。

SELECT * FROM #T1
CROSS APPLY OPENJSON(JSON) A
CROSS APPLY OPENJSON(value) B
WHERE ISJSON([JSON]) > 0

在此输入图像描述

Msg 13609, Level 16, State 4, Line 66
JSON text is not properly formatted. Unexpected character '2' is found at position 0.

对于没有键名称的 JSON 对象,是否有一种更简单的方法,我不需要为不同的格式应用两个单独的逻辑?

sql-server
  • 1 个回答
  • 21 Views
Martin Hope
GAURAV RATHOD
Asked: 2023-04-06 20:42:24 +0800 CST

NW 适配器绑定后是否需要重新启动 SQL 服务?

  • 6

最近我们发现在我们的 AlwaysOn 集群中,一个节点使用一个 NIC 作为两个 NIC 组的备用网卡。在另一个节点上,它正在积极使用两个 NIC。我们将第一个节点更改为活动节点,与其他节点相同。

我的问题是——我们是否需要重新启动 SQL 服务或服务器本身才能使这些更改从 SQL 角度(如 AG 同步)生效?

sql-server
  • 1 个回答
  • 34 Views
Martin Hope
GAURAV RATHOD
Asked: 2022-07-26 21:32:37 +0800 CST

除操作系统资源外,什么会影响 Normal 或 Distributed AG 中的 log_send_rate?

  • 2

我在分布式 AG 设置中观察到低 log_send_rate。我知道 AG 使用日志流,所以我认为它不应该与数据有关,但我想知道这是否与它正在传输的数据有关,而不仅仅是操作系统资源(网络、I/O)?

供考虑的基本指标:

  • SQL Server 2019-CU16
  • 源 RAM 1.5 TB,48 个 CPU <> 目标 RAM 128 GB,48 个 CPU - 内存差异在这里有什么影响吗?
  • 两台服务器在同一个 DC,ping 延迟小于 1ms。目标服务器是 VM。
  • ROBOCOPY 测试显示文件传输速率约为 100 MB/s
  • 当高事务日志生成活动(如索引维护或创建)被发送到其他副本时 - 它以最大 20 MB/s 的速率传输(这不是预期的)。这是 log_send_queue 堆积的时候。
  • 另一边的REDO率很好,没有REDO队列堆积在那里。

在源 AG 上,我没有看到“发送到传输/秒的字节数”计数器的任何内容,因此我无法确定这是否是瓶颈。

如果我错过了我应该包括的任何内容,请提出建议。

sql-server availability-groups
  • 3 个回答
  • 227 Views
Martin Hope
GAURAV RATHOD
Asked: 2022-07-20 23:42:19 +0800 CST

数据库角色权限是否优先于架构/对象级别权限?

  • 5

我对 SQL Server 安全权限有一个有趣的观察。

我的设置如下。我试图限制用户更新特定模式下的表。

问题陈述是为什么允许用户通过视图(不同模式)在表上进行插入,即使插入在视图定义中的表模式上被明确拒绝?

USE master
GO

CREATE LOGIN Login1
    WITH password = 'Admin@123'
GO

CREATE DATABASE TestDB
GO

USE TestDB
GO

CREATE user Login1
FROM LOGIN Login1
GO

CREATE SCHEMA sch1
GO

CREATE SCHEMA V
GO

CREATE TABLE sch1.table1 (
    id INT
    ,name VARCHAR(5)
    )
GO

CREATE VIEW v.view1
AS
SELECT *
FROM sch1.table1
GO

CREATE VIEW sch1.view2
AS
SELECT *
FROM sch1.table1
GO

--User can update all tables
ALTER ROLE [db_datawriter] ADD MEMBER [Login1] 
GO

--Except tables under this schema
DENY INSERT
    ON SCHEMA::[sch1]
    TO [Login1]
GO



--Open session with Login1
USE TestDB
GO

--Should not work, does not work.
INSERT sch1.table1
SELECT 1, 'A'
--The INSERT permission was denied on the object 'table1', database 'TestDB', schema 'sch1'.


--Should not work, does not work.
INSERT sch1.view2
SELECT 1, 'A'
--The INSERT permission was denied on the object 'view2', database 'TestDB', schema 'sch1'.


-- Works! - even though write is denied on underlying table?
INSERT v.view1
SELECT 1, 'A'
--(1 row affected)

sql-server
  • 1 个回答
  • 180 Views
Martin Hope
GAURAV RATHOD
Asked: 2021-11-25 05:36:29 +0800 CST

分布式可用性组中的异步副本是否也默认启用了日志流压缩?

  • 1

我正在使用分布式可用性组播种数据库。播种是自动的,但同步模式是异步的。未通过 TF 9567 启用用于自动播种的日志流压缩。在播种操作期间,DMV 'sys.dm_hadr_physical_seeding_stats' 中的 'is_compression_enabled' 的值显示为 0。

根据 MS 文档,默认情况下为异步副本启用日志流压缩。' 据此,这个播种操作不应该默认启用日志流压缩吗?这就是为什么我得到这个问题的原因,如果这对于分布式可用性组也是相同的行为。

sql-server distributed-availability-groups
  • 1 个回答
  • 75 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