对于存储过程创建/填充/查询的临时表,转发记录可能会有一些开销。
您如何查询存储过程创建/使用的临时表的转发记录数?
我想从程序内部获取转发的记录数。
对于存储过程创建/填充/查询的临时表,转发记录可能会有一些开销。
您如何查询存储过程创建/使用的临时表的转发记录数?
我想从程序内部获取转发的记录数。
为涉及一些大型/多查询 sp 的给定死锁捕获 XML 图。但是,不太确定如何解释 frame 元素的 stmtstart、stmtend 行来确定哪一行 sproc TSQL 遇到了死锁。第 214 行似乎没有与 SSMS 编辑器中的任何查询对齐,但我不确定引擎如何在行编号时规范化 sproc TSQL。如何使用 SSMS sproc 定义中显示的行号解析捕获的行号?
<frame procname="MyDB.dbo.MyRecordsCleanup" line="214" stmtstart="19333" stmtend="19435" sqlhandle="0x030005007c47eb4c669a8d004eaf000001000000000000000000000000000000000000000000000000000000">
exec sp_executesql @NSQL, N'@ARG1 int', @ARG1 = @MyArg1
</frame>
我在同一物理服务器(2 个 NUMA 节点)上运行 SSRS 和 SQL Server。
如何配置 SQL Server 和 SSRS 以使用单独的 NUMA 节点?
我只是不希望 SQL 数据引擎潜在地消耗 100% 的 CPU 资源而没有为 SSRS 留下任何东西。
您如何捕获给定存储过程的执行以及传递的参数值?
我尝试使用 sqlserver.module_end 但它只显示没有参数值的存储过程执行:
CREATE EVENT SESSION [SP Executions By Name] ON SERVER
ADD EVENT sqlserver.module_end(SET collect_statement=(1)
ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.query_hash_signed,sqlserver.session_id,sqlserver.sql_text,sqlserver.username)
WHERE ([object_type]='P ' AND [sqlserver].[database_name]=N'MyDB' AND [object_name]=N'MyStoredProc'))
ADD TARGET package0.event_file(SET filename=N'Z:\Extended_Events\StoredProcedures_ByNameAndDB.xel',max_file_size=(5),max_rollover_files=(5))
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)
有一个带有 varchar(100) 的大表 - OrderNum 字段值如下:
《BO2003056-2》
需要从此字段中提取所有数字字符,以便后续连接到另一个表。
例如:“BO2003056-2”将转换为“20030562”
由于 RegEx 在 TSQL 中本机不存在,那么在 TSQL 中执行此操作的最快方法是什么?
SQL 2019(数据库兼容模式 2014)
尝试查看执行时间超过给定秒数的命名存储过程的所有执行。你如何过滤执行时间(秒)?这是我到目前为止拼凑起来的
CREATE EVENT SESSION [Slow SP Executions]
ON SERVER
ADD EVENT sqlserver.module_end
(SET collect_statement = (1)
ACTION
(
sqlserver.host,
sqlserver.database_name,
sqlserver.client_app_name,
sqlserver.session_server_principal_name,
sqlserver.username,
sqlserver.sql_text,
sqlserver.tsql_stack
)
WHERE (
[object_type] = 'P '
AND [sqlserver].[database_name] = N'MyDB'
AND [object_name] = N'MySproc'
)
)
拥有一个 500gb 的数据库,其中包含一个由 4 个数据文件组成的文件组。这是由于旧 SAN 卷空间限制在新 SAN 上不再起作用。如果可能,希望将这 4 个数据文件合并为一个数据文件。将这些数据文件合并为单个数据文件有哪些不同的方法?
SQL 2019 CU14
需要将主节点从 2019-CU14 更新到 2019 CU15,并在主节点被认为稳定后几小时/天后将辅助节点更新到 CU 15。您能否安全地在不同累积更新版本(在这种情况下为 CU-15 到 CU-14)上的主服务器和辅助服务器之间进行日志传送?
我们在哪里提交 SQL Management Studio 18.x 的错误?
有没有一种好方法可以识别针对给定表的所有查询(扩展事件、过程缓存等)?
可以将完整的 DBCC CHECKDB 操作安全地卸载到 AG 辅助服务器吗?在主服务器上没有这种开销会很好。
SQL2019
如何将查询哈希字符串“0x9F37D9B585242D49”转换为扩展事件过滤器所需的 uint64?当值变为负时,转换为 bigint 不起作用。
event
sql_statement_completed
filter
field : sqlserver.query_hash
operator : equal_uint64
value ???
我有下表,其中包含以下数据:
DECLARE @MyActions TABLE (ActionId INT NOT NULL, ActionDate DATETIME NOT NULL)
INSERT INTO @MyActions VALUES (1, '2021-08-01 01:00:00')
INSERT INTO @MyActions VALUES (2, '2021-08-02 02:00:00')
INSERT INTO @MyActions VALUES (3, '2021-08-03 03:00:00')
INSERT INTO @MyActions VALUES (4, '2021-08-04 04:00:00')
如何在不使用慢表值函数的情况下将每个 ActionID 分解为 10 条附加记录(当前 ActionID 日期的前 5 天和后 5 天)?
ActionID = 1 应该扩展到 11 条记录(不包括时间),Action 2 应该扩展到 11 条记录(不包括时间),等等
展开的结果集
1 2021-07-27 00:00:00.000
1 2021-07-28 00:00:00.000
1 2021-07-29 00:00:00.000
1 2021-07-30 00:00:00.000
1 2021-07-31 00:00:00.000
1 2021-08-01 00:00:00.000
1 2021-08-02 00:00:00.000
1 2021-08-03 00:00:00.000
1 2021-08-04 00:00:00.000
1 2021-08-05 00:00:00.000
1 2021-08-06 00:00:00.000
2 2021-07-28 00:00:00.000
2 2021-07-29 00:00:00.000
2 2021-07-30 00:00:00.000
2 2021-07-31 00:00:00.000
2 2021-08-01 00:00:00.000
2 2021-08-02 00:00:00.000
2 2021-08-03 00:00:00.000
2 2021-08-04 00:00:00.000
2 2021-08-05 00:00:00.000
2 2021-08-06 00:00:00.000
2 2021-08-07 00:00:00.000
3 2021-07-29 00:00:00.000
3 2021-07-30 00:00:00.000
3 2021-07-31 00:00:00.000
3 2021-08-01 00:00:00.000
3 2021-08-02 00:00:00.000
3 2021-08-03 00:00:00.000
3 2021-08-04 00:00:00.000
3 2021-08-05 00:00:00.000
3 2021-08-06 00:00:00.000
3 2021-08-07 00:00:00.000
3 2021-08-08 00:00:00.000
4 2021-07-30 00:00:00.000
4 2021-07-31 00:00:00.000
4 2021-08-01 00:00:00.000
4 2021-08-02 00:00:00.000
4 2021-08-03 00:00:00.000
4 2021-08-04 00:00:00.000
4 2021-08-05 00:00:00.000
4 2021-08-06 00:00:00.000
4 2021-08-07 00:00:00.000
4 2021-08-08 00:00:00.000
4 2021-08-09 00:00:00.000
我们在哪里下载 SAP SAP SDK for ASE (Windows Server 2019)?尝试在 Windows Server 2019 客户端上使用 SQLDBX 连接到 Sybase DB 服务器,但找不到所需的 dll (libsybct.dll)。II 假设我需要下载 SAP SDK for ASE 但不知道在哪里下载。谁知道在哪里下载?
有没有我可以运行的 MSSQLServer 查询向我展示:
是否可以运行一个查询来使用给定索引在计划缓存中搜索所有查询计划?
我可以运行一个查询来显示所有带有标识列的表吗?试图找出是否有任何基于身份的表,其当前身份接近 int32 或 int64 的上限。
我有以下 XHTML 并希望能够解析出My Node Value。有没有办法用 TSQL 轻松做到这一点?
<SPAN style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; FLOAT: none; COLOR: rgb(0,0,0); TEXT-ALIGN: left; FONT: 10px verdana; DISPLAY: inline !important; LETTER-SPACING: normal; TEXT-INDENT: 0px; -webkit-text-stroke-width: 0px">My Node Value</SPAN>
是否有一个查询会显示哪些表/索引需要重建,以便它们具有可用于数据验证的校验和?数据库最近从撕裂页面切换到校验和验证,因此只有一些较新的索引/表具有所需的校验和以及索引维护已重建的那些。需要查看需要重建以启用校验和的剩余表/索引。
继承了以下审计表:
表用户操作
AppID int
ActionTime datetime
Action varchar(25)
UserID int
Description text
聚类键位于 AppID、ActionTime、Action 列上。行数 = 大约 10 亿
如何查看此特定聚集索引的总大小和每行大小?