Sql server 在将大数据块插入二进制列时,如何捕获SQL Server跟踪事件?

Sql server 在将大数据块插入二进制列时,如何捕获SQL Server跟踪事件?,sql-server,sql-server-profiler,Sql Server,Sql Server Profiler,我想记录所有命中服务器的SQL语句,以便以后重播。但SQL Server跟踪和事件似乎都无法捕获大数据块插入二进制列的情况 我有这样一个insert语句: INSERT [dbo].[my_table] ([Id], [File]) VALUES (1, x0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxEFAxFDS5GFDSxx0x0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxF

我想记录所有命中服务器的SQL语句,以便以后重播。但SQL Server跟踪和事件似乎都无法捕获大数据块插入二进制列的情况

我有这样一个insert语句:

INSERT [dbo].[my_table] ([Id], [File]) VALUES (1, x0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxEFAxFDS5GFDSxx0x0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxEFAxFDS5GFDSxx0x0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxEFAxFDS5GFDSxx0x0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxx0FEWREWD4EFAxFDS5GFDSxEFAxFDS5GFDSxx0....

有没有一种方法可以通过SQL server跟踪/事件捕获二进制数据的插入?

似乎在事件会话的高级设置中设置保留模式以永不丢失事件就可以做到这一点


sql\u statement\u start
sp\u statement\u start
应该捕获整个语句,但这取决于跟踪目标和读取方式,以及是否能够获取全部。例如,环形缓冲区目标(如果在SSMS中设置了特别会话,则在后台使用)对其输出的XML有一个众所周知的限制,即4MB。事件文件目标没有该限制。@Jeroen您关于内存限制的提示使我查看了事件会话的扩展设置。在那里,我找到了一个选项,可以将事件保留模式设置为不丢失任何事件。我想这就是诀窍。现在我得到了二进制插入,其中包含我已经捕获的事件-
rpc\u completed
sql\u batch\u completed
。谢谢!