标签: sql-server-profiler

SQL Server Profiler - 如何过滤跟踪以仅显示包含DELETE语句的TSQL?

我有一个SQL跟踪设置来监视发布到单个数据库的所有TSQL.但是我只关心发布的'DELETE'TSQL语句.有什么方法可以过滤到仅向分析器报告这些类型的语句?谢谢!

sql-server sql-server-profiler

11
推荐指数
1
解决办法
1万
查看次数

SQL Server:事件不引用任何表(Tuning Advisor警告)

我有一个用C#编写的应用程序,它使用Linq2SQL与SQL Server进行通信.有些查询运行有点(非常)慢,我认为它可能需要一些索引来加快速度.

但我真的不知道该怎么做,或者我应该或不应该做什么,哪里或什么.所以我想我可以在这里问一下,但后来我发现了一个名为Database Engine Tuning Advisor的程序,我认为我可以先尝试一下.问题是我无法让它发挥作用.可能是我只是不知道怎么做,但我真的无法弄清楚这一点.据我所知,我根据帮助文件做了我应该做的事情.

  1. 打开SQL Server Profiler.
  2. 使用Tuning模板启动新Trace.
  3. 启动我的应用程序并执行一些生成SQL查询的操作.
  4. 关闭我的申请.
  5. 停止追踪.
  6. 将跟踪保存为跟踪文件.
  7. 打开数据库引擎优化顾问
  8. 选择File as Workload并选择我之前保存的Trace文件.
  9. 选择我的应用程序在选择要调整的数据库和表下使用的数据库.
  10. 单击开始分析.

到目前为止我觉得事情还不错.但是当它在一段时间后结束时,我得到了这个:

进展http://i39.tinypic.com/1235avd.jpg

还有一个完全有用的推荐页面.事件没有引用任何表格?这意味着什么(除了明显的当然:p)?我在这里误解了这个过程吗?到底是怎么回事?

c# sql-server performance sql-server-profiler linq-to-sql

10
推荐指数
2
解决办法
5162
查看次数

SQL Server Profiler中的存储过程输出参数

我有一个带int输出参数的存储过程.如果我运行SQL Server Profiler,通过一些.Net代码执行存储过程,并捕获RPC:Completed事件,TextData如下所示:

declare @p1 int
set @p1=13
exec spStoredProcedure @OutParam=@p1 output
select @p1
Run Code Online (Sandbox Code Playgroud)

为什么在执行存储过程之前它看起来像是获取输出参数的值?

sql-server stored-procedures sql-server-profiler

10
推荐指数
2
解决办法
3885
查看次数

SQL Server探查器不通过TextData列筛选器进行筛选

我有一个存储过程,我们称之为'MyStoredProc',每隔几秒就调用一次.

我想过滤它,因为它使视图混乱.

proc被称为 exec sp_executesql N'Exec @Return = [dbo].[MyStoredProc]....

我已经Not Like在TextData列上有两个过滤器,适用于其他文本.然而,第三个不起作用.电话仍在显示.

我输入了不同的变体:%[MyStoredProc]%或%MyStoredProc%或MyStoredProc.

它们不起作用.
这个的正确语法是什么?TextData过滤器也可以处理变量名吗?

我正在使用Profiler 2014定位2012引擎.

sql-server sql-server-profiler

10
推荐指数
2
解决办法
8562
查看次数

SignInManager.PasswordSignInAsync生成许多数据库访问

在我的应用程序中,我使用ASP.NET身份.每件事都很好但通过测试,我发现以下命令产生了许多数据库访问:SignInManager.PasswordSignInAsync:

var result = await SignInManager.PasswordSignInAsync(user.UserName, model.Password, model.RememberMe, shouldLockout: true);
Run Code Online (Sandbox Code Playgroud)

我在使用性能测试测试应用程序时发现了这个问题.测试表明登录请求需要很长时间才能获得响应.下图显示了登录请求的性能测试结果: 在此输入图像描述.

然后我使用SQL Server Profiler来检查执行命令SignInManager.PasswordSignInAsync时会发生什么.它表明生成了大量的数据库访问.以下内容取自SQL Server Profiler:

exec sp_executesql N'SELECT TOP (1) 
    [Extent1].[Id] AS [Id], 
    [Extent1].[UserFullName] AS [UserFullName], 
    [Extent1].[UserId] AS [UserId], 
    [Extent1].[Online] AS [Online], 
    [Extent1].[LastOnlineDate] AS [LastOnlineDate], 
    [Extent1].[BrithDate] AS [BrithDate], 
    [Extent1].[Job] AS [Job], 
    [Extent1].[Gender] AS [Gender], 
    [Extent1].[CountryId] AS [CountryId], 
    [Extent1].[LivesIn] AS [LivesIn], 
    [Extent1].[RelationId] AS [RelationId], 
    [Extent1].[Religion] AS [Religion], 
    [Extent1].[FirstSchool] AS [FirstSchool], 
    [Extent1].[SecondSchool] AS [SecondSchool], 
    [Extent1].[University] AS [University], 
    [Extent1].[ContactInfo] AS [ContactInfo], 
    [Extent1].[Email] AS [Email], 
    [Extent1].[EmailConfirmed] AS [EmailConfirmed], 
    [Extent1].[PasswordHash] AS [PasswordHash], 
    [Extent1].[SecurityStamp] …
Run Code Online (Sandbox Code Playgroud)

sql-server asp.net asp.net-mvc sql-server-profiler asp.net-identity

10
推荐指数
1
解决办法
450
查看次数

SQL事件探查器未显示插入/删除/更新

当我在运行我的应用程序时运行探查器时,它似乎只显示SELECT,而不是INSERT或任何更改数据库的东西.然而我的数据库正在更新,因此必须执行这些命令.我需要做些什么才能让它显示更新?(我正在使用实体框架,顺便说一句,如果这可能有所作为.)

sql entity-framework sql-server-2005 sql-server-profiler

9
推荐指数
1
解决办法
6593
查看次数

可以将分析器模板迁移到较新版本的SQL事件探查器吗?

是否可以将Profiler模板迁移到较新版本的SQL Server?

在我的情况下,我想把我的SQL 2008模板带到2012年.我尝试过(1)直接文件副本和(2)导出/导入.在这两种情况下,旧模板都会运行,但无法修改.修改会导致以下错误:

编辑升级模板时出现错误消息

我有一堆自定义模板,我试图避免手工重新创建它们.虽然,我猜这是后备的立场.思考?

sql-server sql-server-profiler

9
推荐指数
2
解决办法
4162
查看次数

如何使用Sql Profiler捕获在SqlBulkCopy中传递的数据?

我一直在使用Sql Profiler捕获SQL语句并重新运行有问题的语句.很有用.

但是,有些代码使用SqlBulkCopy API,我不知道如何捕获它们.我看到临时表的创建,但没有任何填充它们.看起来像SqlBulkCopy绕过Sql Profiler或者我没有捕获正确的事件.

sql-server bulkinsert sqlbulkcopy sql-server-profiler sql-server-2012

9
推荐指数
2
解决办法
4023
查看次数

SQL:如何获得每个数据库或小时或......的执行查询数?

是否有任何方法可以查看每小时,每个数据库/小时执行的查询数量,或一天中的平均查询数,或者......有趣的是什么?

仅供统计......我喜欢数字.我不能只使用Sql Server Profiler启动跟踪,因为当查询过多时,UI将崩溃.

SQL是否在某处跟踪某些基本的"已执行查询统计信息",或者我是否可以使用任何工具来获取此信息?

(我使用的是SQL Server 2008 R2)

sql statistics performancecounter sql-server-profiler sql-server-2008

8
推荐指数
1
解决办法
7568
查看次数

SQL Begin Try/Catch可以骗我(在探查器中)吗?

我从BizTalk服务器调用存储过程并尝试调试它.

1)当外部进程调用存储过程时使用SQL调试器 2)使sp_tracegenerateevent在存储过程中工作

我一直在使用SQL Profiler作为我唯一的工具来了解发生了什么.但现在,我怀疑我的尝试/捕获是否正常工作.代码在SSMS中运行时工作正常,但是从BizTalk运行时有时看起来像try/catch一直在捕获.

ALTER PROCEDURE WhatItsName 
    @CatchErrors varchar(max) OUTPUT 
AS
BEGIN
    SET NOCOUNT ON;
    SET XACT_ABORT OFF; 

DECLARE @debugMessage varchar(max) = '' 
DECLARE @RowCreateBy VARCHAR (100) 


SET @RowCreateBy = '108004'
BEGIN TRY 
    SET @RowCreateBy = '108005'
END TRY 
BEGIN CATCH 
    SET @debugMessage = 'set @RowCreatedBy Failed - how can this be ??? ' 
END CATCH 
etc... 
Run Code Online (Sandbox Code Playgroud)

Profiler中的结果: 在此输入图像描述

基于我们在上面的探查器中看到的,我的try/catch是否按预期工作?

现在,当我从SSMS运行相同的存储过程时,就像"正常"一样.

在此输入图像描述

BizTalk在DTC交易下运行所有​​内容.请注意,"BEGIN TRY"和"END TRY"语句显示在SSMS下的第二个配置文件中(并且"BEGIN CATCH"未按预期触发),并且它们不会显示在上面的第一个配置文件中(其中包含sproc)从BizTalk执行).

然后我在SSMS中的测试脚本中添加了"BEGIN DISTRIBUTED TRANSACTION",与上面的其他SSMS测试结果相同.

注意:我注意到这个模式有一个更复杂的问题,并希望简化它以便发布在这里.

sql-server sql-server-profiler

8
推荐指数
1
解决办法
229
查看次数