问题标签 [sql-trace]
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.
sql - 用户定义的表类型插入导致转换错误
我有一个用户定义的表类型:
DateCreated 字段填充在我的数据库层中DateTime.Now(),
,而所有其他字段都来自导入的表。
当我导入填充了日期字段的文件时,出现 SQL 错误:
从字符串转换日期和/或时间时转换失败。
使用 SQL Profiler 拦截生成的代码显示了这一点:
impSaveImport 是一个存储过程,它只有一个参数:表类型 var 并直接插入表 [Import]。没有逻辑,没有触发器,没有对其他表的引用。
在 SSMS 中执行此代码显示与预期相同的错误。
修剪最后一个 DateTime 字段的最后 4 位数字会导致插入查询成功。
到现在为止还挺好。
当我导入一个 StartDate 和 EndDate 字段为空的文件时,我没有收到任何错误,并且数据已成功插入到 Import 表中。
当我使用探查器拦截成功的插入时,我得到了这个:
请记住,此查询成功地将一行插入到表 Import 中。
当我在 SSMS 中运行这个最新查询时,我得到与以前相同的转换错误,
但它在我的 MVC 应用程序中运行没有错误!
最后一部分让我难住了。
怎么可能?
项目正在使用带有 SQL2016 的 MVC。
sql-server - SQL Server 跟踪未捕获所有审核添加数据库用户事件
在 SQL Server Audit Add DB User Event Class中,定义了四个Event Sub Classes:
- 添加
- 降低
- 授予数据库访问权限
- 撤销数据库访问
(在这里找到 MS 文档)
当我设置 SQL Server Profiler 来跟踪 Audit Add DB User Event Class 时,它似乎只捕获具有 3 或 4 子类的事件,而不是 1 或 2。
为了测试跟踪,我使用了以下 SQL 语句:
当我在 SQL Server Management Studio 中运行这些语句时,SQL Server Profiler 显示两个审核添加数据库用户事件,一个带有 EventSubClass 3(授予数据库访问权限),一个带有 EventSubClass 4(撤销数据库访问权限),但没有显示 EventSubClass 1 的任何内容(添加)或 EventSubClass 2(删除)。
据我所知,上面使用的 SQL 语句应该涵盖所有三个偶数子类。为了捕获这些事件子类,是否需要配置一些额外的东西?
sql-server - SQL Server Profiler 与 COALESCE (SP:STMTCOMPLETED)
我正在运行跟踪并发现了一些我不明白的东西。我有一个带有简单选择语句的过程,该语句从一系列函数调用中返回第一个非空值。
我希望每个函数只被调用一次。因此,在使用 SP:STMTCOMPLETED 事件进行分析时,我希望只看到一组记录,其中包含来自该调用的语句。
但是,我看到的是该组记录多次,这表明该函数被多次调用。
该函数真的被调用了两次吗?为什么?
这是创建函数和存储过程的脚本:
这是过程调用
下面是 Profiler 的输出,其中两行表示函数 FOO,一行表示过程 POO:
如果我用这样的 CASE 语句替换 COALESCE 调用:
我在分析器上只得到一行 FOO :
这是 SQL Profiler 生成的分析脚本(按数据库名称过滤 = dbTest):
sql-server - SQL Server:ServerRestart 或 Start 上的 DefaultJob
我想帮助我们的 IT 部门创建一个 DefaultJob,它会在每次服务器重新启动或启动时自行执行(Windows SQL Server 2012)
在服务器重新启动或启动后(硬关机或更新后),有一个跟踪总是会激活自己。
基本上我想通过 DefaultJob(SQL Server 代理中的作业)自动执行以下查询(停用 ID 为 1 的跟踪):
在执行之前,我想检查 ID 为 1 的跟踪是否处于活动状态,如果是,则执行查询,如果不是,则不执行任何操作。
任何帮助将非常感激。
如果你们有问题,请问... :-)
提前非常感谢。干杯!
db2 - 在 DB2 中以用户身份执行
我们正在尝试调试一个使用 DB2 的非常古老的 Web 应用程序。
我想运行跟踪以查看单击按钮时会发生什么,但是一旦尝试,我就会收到此错误:
对我来说很明显,我们的用户没有足够的权限来运行跟踪。
在 T-SQL 中有一种方法可以模拟另一个用户:
我想知道 DB2 中是否有相同的命令。
目标是尝试运行类似SQL Server Profiler
forDB2
并嗅探查询。
是的,我已经尝试运行GRANT DBADM ON DATABASE TO USER E.....O
了,当然系统回复了:
我们被卡住了,无法移动,因为我们不知道查询是如何工作的。向我们的用户要求更多特权不是一种选择,因为我们正在将客户从竞争对手迁移到我们这边。
我正在尝试做的是一种privilege escalation
不犯罪。
我还教过如何从 SQL Server 连接到 DB2 数据库并使用PolyBase,但据我所知,这样的功能只允许我查询,我无法嗅探参数。
s4hana - SAP - SQL-Trace - ST05 在 S/4HANA 系统中显示 FLAG=N"X"
我们正在比较经典 R/3 和 S/4 系统之间的性能,从标准功能模块中进行的简单选择(例如从 IDoc 表中选择记录)在 S/4 中看起来不同。
最有趣的是那些:
- S/4 带来的性能低于 R/3(在 db 表中存储相同数量的记录)
- 当我们看到(在这种情况下是在
FOR ALL ENTRIES
AKA FAE 中)WHERE STATUS = 69
或FLAG ="X"
在 R/3 内部时,我们会看到它以 N 为前缀,例如FLAG = N"X"
...。
我假设,这代表否定,但代码清楚地说明了 EQUALS。而且由于与 S/4 相比性能非常差,我假设 S/4 有时无法处理 FAE,副作用之一是否定 FAE 相关源字段上的 where 子句-桌子...
这N
代表什么?