我想检查哪个用户在MS SQL Server
2008的特定表中执行了插入操作。我知道一些日志记录信息已存储,但是我不知道如何访问它。如果能提供有关我的问题的具体信息,以及如果我也需要其他信息的话,我将不胜感激。
谢谢!
您是在谈论从事务日志中检索此消息吗?
这是不理想的,因为您不能保证相关行仍将在活动日志中可用,并且查询效率较低,但是可以通过以下操作(返回USER_NAME()
而不是可能有用的方式SUSER_NAME()
)进行。
更改dbo.X
为您的实际表名。
DECLARE @allocation_unit_ids TABLE (
allocation_unit_id BIGINT PRIMARY KEY )
INSERT INTO @allocation_unit_ids
SELECT allocation_unit_id
FROM sys.allocation_units au
JOIN sys.partitions p
ON au.container_id = CASE
WHEN au.type IN ( 1, 3 ) THEN p.hobt_id
WHEN au.type = 2 THEN p.partition_id
END
WHERE p.object_id = OBJECT_ID('dbo.X');
WITH L1
AS (SELECT [Transaction ID],
[Begin Time],
[End Time],
[Transaction SID],
CASE
WHEN Operation = 'LOP_INSERT_ROWS'
AND AllocUnitId IN (SELECT allocation_unit_id
FROM @allocation_unit_ids) THEN 1
END AS I
FROM sys.fn_dblog(NULL, NULL) l),
L2([Transaction ID], TransactionBegin, TransactionEnd, sid)
AS (SELECT [Transaction ID],
MAX([Begin Time]),
MAX([End Time]),
MAX([Transaction SID])
FROM L1
GROUP BY [Transaction ID]
HAVING 1 = MAX(I))
SELECT TransactionBegin,
TransactionEnd,
p.name AS PrincipalName
FROM L2
JOIN sys.database_principals p
ON p.sid = L2.sid
问题内容: 我有一个动态查询,执行时会给出带有很多列的结果。我想将来自此动态查询的结果插入到临时表中。我这样做是因为我想对临时表执行一些过滤并获得所需的结果。 在该线程中先创建一个临时表,然后使用插入数据。 由于列的列表太长,我想避免此步骤,而且我不知道字段的数据类型。 错误信息 关键字“ exec”附近的语法不正确。 这该怎么做 ?是否可以通过这种方式完成?如果不是,请指定其他替代方法以将执行动
我在eclipse工作区中有一个java项目,它将用数据创建excel表。我将整个项目导出为一个可执行的jar文件,通过双击jar文件,可以在JVM的帮助下运行。双击JAR后,我可以看到在windows任务管理器的Processes选项卡下创建了一个带有javaw.exe的新进程。问题是,如何知道我的java代码是否运行并创建了带有数据的excel表。 我知道,我可以提取jar内容并检查excel
我为每个日期创建了多个表来存储每个日期的一些信息。例如历史3108、历史0109..所有这些表共享相同的模式。有时候,我需要查询多个表,获取记录的行数和计数。在oracle和SQL Server中,最快的方法是什么? 目前我正在这样做。。。 当我需要多个表的计数时:为每个表选择计数(*),然后添加 当我需要多个表的记录时:从表1中选择*,从表2中选择*(基本上为每个表选择*) 如果我们在一个事务中
问题内容: 我有一个有4000万行且没有主键的表。在添加主键之前,我想检查表中是否有重复的条目。当我说重复条目时,我不仅意味着在特定列上重复。我的意思是整行重复。 在上一个问题中,我被告知可以执行查询以确定重复项。我该怎么做? 我正在运行PostgreSQL 8.1.22。(通过运行获得此信息)。 问题答案: 要了解是否 任何 完整存在重复(在所有列相同),这可能是最快的方法: 这是一种非常方便的
我正在尝试Go语言和gorm,以便在我当前的项目中创建一个新功能。 我在MySQL中有以下数据库结构。 UserMaster表位于层次结构的顶部,它的主键列被许多其他表引用,它们自己将其用作主列。UserLogin表就是这样的表之一。这不是完美的数据库设计,但这是我将要处理的数据库结构,并且不可能更改该结构。 以下是我为go中的UserMaster和UserLogin创建的模型类。 我希望通过go