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

Siva Dasari's questions

Martin Hope
Siva Dasari
Asked: 2022-09-26 11:30:35 +0800 CST

在 TSQL 中将行转换为所需的 JSON 格式

  • 1

尝试将数据转换为所需的 JSON 但未成功,我们将不胜感激任何帮助或建议。

SQL Server 版本:2019

测试脚本:

drop table if exists t1
go
create table t1(id int, key int, value varchar(10))
go
insert into t1 values (100, 1, 'value11')
insert into t1 values (100, 2, 'value12')
insert into t1 values (100, 3, 'value13')
insert into t1 values (100, 4, 'value14')
go
insert into t1 values (200, 1, 'value21')
insert into t1 values (200, 2, 'value22')
insert into t1 values (200, 3, 'value23')
insert into t1 values (200, 4, 'value24')
go
select  
    t.id, t.key, t.value
from t1 as t
for json path,  WITHOUT_ARRAY_WRAPPER

输出:

{"id":100,"key":1,"value":"value11"},
{"id":100,"key":2,"value":"value12"},
{"id":100,"key":3,"value":"value13"},
{"id":100,"key":4,"value":"value14"},
{"id":200,"key":1,"value":"value21"},
{"id":200,"key":2,"value":"value22"},
{"id":200,"key":3,"value":"value23"},
{"id":200,"key":4,"value":"value24"}

期望的输出:

100, {"1":"value11","2":"value12","3":"value13","4":"value14"}

200, {"1":"value21","2":"value22","3":"value23","4":"value24"}
sql-server t-sql
  • 1 个回答
  • 37 Views
Martin Hope
Siva Dasari
Asked: 2022-03-18 18:14:00 +0800 CST

扩展事件通过登录/用户和包含值的 sql 文本捕获所有调用

  • 4

我正在使用下面的扩展事件会话来捕获包含9999login值的数据xEventsTest。但是我没有看到添加了过滤器的任何数据,但是当没有过滤器添加到事件时我可以看到这个调用。

不知道我在这里缺少什么,

    CREATE EVENT SESSION [captureByLoginSqlText] ON SERVER 
ADD EVENT sqlserver.rpc_completed(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([package0].[equal_i_unicode_string]([sqlserver].[username],N'xEventstest') AND ([sqlserver].[like_i_sql_unicode_string]([statement],N'9999') OR [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999')))),
ADD EVENT sqlserver.rpc_starting(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([package0].[equal_i_unicode_string]([sqlserver].[username],N'xEventstest') AND ([sqlserver].[like_i_sql_unicode_string]([statement],N'9999') OR [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999')))),
ADD EVENT sqlserver.sp_statement_completed(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([package0].[equal_i_unicode_string]([sqlserver].[username],N'xEventstest') AND ([sqlserver].[like_i_sql_unicode_string]([statement],N'9999') OR [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999')))),
ADD EVENT sqlserver.sp_statement_starting(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([package0].[equal_i_unicode_string]([sqlserver].[username],N'xEventstest') AND ([sqlserver].[like_i_sql_unicode_string]([statement],N'9999') OR [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999')))),
ADD EVENT sqlserver.sql_batch_completed(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([sqlserver].[username]=N'xEventstest' AND [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999'))),
ADD EVENT sqlserver.sql_batch_starting(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([sqlserver].[username]=N'xEventstest' AND [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999'))),
ADD EVENT sqlserver.sql_statement_completed(
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([package0].[equal_i_unicode_string]([sqlserver].[username],N'xEventstest') AND ([sqlserver].[like_i_sql_unicode_string]([statement],N'9999') OR [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999')))),
ADD EVENT sqlserver.sql_statement_starting(SET collect_statement=(1)
    ACTION(sqlserver.database_name,sqlserver.server_principal_name,sqlserver.sql_text)
    WHERE ([package0].[equal_i_unicode_string]([sqlserver].[username],N'xEventstest') AND ([sqlserver].[like_i_sql_unicode_string]([statement],N'9999') OR [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'9999'))))
ADD TARGET package0.event_file(SET filename=N'captureByLoginSqlText.xel',max_file_size=(50),max_rollover_files=(20))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO

我正在使用的测试过程:

    create   procedure getID
(
    @ID int
)
as 
BEGIN
    SELECT @ID
END

以xEventsTest用户身份登录执行 proc:

exec getID @ID=9999
sql-server sql-server-2019
  • 1 个回答
  • 344 Views
Martin Hope
Siva Dasari
Asked: 2021-04-15 19:37:48 +0800 CST

在线重建占用大量日志空间

  • 0

为什么在线重建一个主键聚集索引在占用几乎等于未触及的非聚集索引大小的空间。

细节:

  • 我们有一个索引大小为 7GB 的主键聚集索引(bigint 类型)的表。
  • 我们在同一个表(varchar(36) 类型)上有另一个非聚集过滤索引,索引大小接近 1.5TB。
  • 主键聚集索引的在线重建消耗了将近 1.6TB 的事务日志大小。用于重建的选项 - (DATA_COMPRESSION = PAGE, ONLINE = ON, SORT_IN_TEMPDB = ON)
  • 另一个观察结果是,之前的索引是在没有压缩的情况下创建的,不确定这是否是导致如此巨大增长的原因。
  • 有人可以透露一些内部信息吗?
sql-server sql-server-2016
  • 2 个回答
  • 85 Views
Martin Hope
Siva Dasari
Asked: 2020-02-04 16:22:26 +0800 CST

无法使用 SQL Server 中的 JSON_MODIFY 函数更新键值之一

  • 0

我有以下 json 记录,我正在尝试使用 JSON_MODIFY 函数将“counter2”值更新为 2000。该查询不会引发任何异常,但同时该值没有得到更新。

表数据:

在此处输入图像描述

json数据:

[ {"counter1": 9,
"counter2": 1000,
"counter3": 109 }]

SQL:

UPDATE test01
set json_data = JSON_MODIFY(json_data,'$.counter2',2000)
where test01_id =10

我在这里错过了什么吗?

sql-server sql-server-2016
  • 1 个回答
  • 644 Views
Martin Hope
Siva Dasari
Asked: 2020-01-24 11:52:33 +0800 CST

通过 SQL Server 代理作业调用 PowerShell 命令“New-Item”时失败

  • 2

我有以下 PowerShell 脚本来在共享位置创建一个文件夹。共享对每个人都有完全控制权限。我已授予所有测试权限。

问题是当我手动执行时脚本工作正常。当我将它作为 SQL Server 代理服务帐户执行时,它也可以正常执行。但是,当我尝试作为 SQL Server 代理作业的一部分执行时,相同的脚本会失败。我在这里错过了什么吗?

$path = "\\server\shared\path\01222020"
New-Item -path $path -ItemType Directory -Force

Exception:
Date        1/22/2020 5:25:10 PM
Log     Job History (test)

Step ID     1
Server      serverA
Job Name        Test
Step Name       Test
Duration        00:00:01
Sql Severity    0
Sql Message ID  0
Operator Emailed    
Operator Net sent   
Operator Paged  
Retries Attempted   0

Message
Executed as user: domain\agent_service_account. A job step received an error at 
line 9 in a PowerShell script. The corresponding line is 'New-Item -path $path 
-ItemType Directory '. Correct the script and reschedule the job. The error 
information returned by PowerShell is: 'Invalid Path: 
'\\server\shared\path\01222020'.  '.  Process Exit Code -1.  The step failed.
sql-server sql-server-2016
  • 2 个回答
  • 1024 Views
Martin Hope
Siva Dasari
Asked: 2020-01-21 10:53:34 +0800 CST

复制前后的大型数据库备份文件完整性检查

  • 1

我试图使用 robocopy 将大型数据库备份文件(每个大约 2TB)复制到不同的区域。但是我注意到使用开关/Z时速度非常慢。所以我删除了这个开关,我的副本现在更快了。但现在的挑战是,

  1. 如何验证复制文件的一致性。
  2. 如果文件已经存在于目标位置,那么跳过文件的最佳方法是什么。
  3. 我曾尝试使用 powershell get-filehash 命令来验证文件的一致性,但它在大文件上速度太慢,尤其是在位于不同区域的文件上。

我当前的命令语法,

robocopy source_directory destination_directory 文件名 /R:3 /W:10 /LOG+:log_file_location

有什么最好的方法来解决这个问题?

backup copy
  • 2 个回答
  • 489 Views
Martin Hope
Siva Dasari
Asked: 2016-11-24 13:56:14 +0800 CST

MongoDB - 关于选择随机分布的分片键的说明

  • 0

在我的一篇读物中,我注意到以下关于选择随机分布shard keys但无法理解为什么这样说的陈述。有人能给我提供详细的解释吗?

“随机分布的唯一缺点shard keys是MongoDB随机访问超出 RAM 大小的数据时效率不高。”

谢谢你。

mongodb sharding
  • 1 个回答
  • 263 Views
Martin Hope
Siva Dasari
Asked: 2016-10-31 11:59:19 +0800 CST

MongoDB remove() 函数删除文档但保留索引

  • 1

我在我的阅读中遇到过 remove() 函数将删除文档而不对现有索引进行任何更改。

例如:“db.users.remove() - 这将删除用户集合中的所有文档。这实际上并没有删除集合,并且在其上创建的任何索引仍然存在。 ”

我想了解为什么在该特定集合中删除/删除实际引用的数据时保留索引?有什么具体的用例吗?

谢谢

mongodb delete
  • 2 个回答
  • 5175 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