zoukankan      html  css  js  c++  java
  • 程序防止SqlServer使用SqlServer Profiler跟踪

    思路:

    1、使用默认函数(fn_trace_getinfo)查询跟踪列表;

    2、调用系统存储过程(sp_trace_setstatus)修改跟踪状态。

    相关Sql :

    declare @default_trace_id sql_variant

    --查询数据库默认跟踪id
    select @default_trace_id = value from sys.configurations where configuration_id = 1568

    --查询数据库跟踪列表
    --官方说明:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-functions/sys-fn-trace-getinfo-transact-sql
    SELECT distinct traceid FROM sys.fn_trace_getinfo(0)
    where traceid <> @default_trace_id;
    GO

    --修改跟踪的状态
    --官方说明:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-trace-setstatus-transact-sql
    --参数说明:trace_id(要修改跟踪的ID),status(状态)
    --第二个参数值的枚举及说明
    ----0 停止指定的跟踪。
    ----1 启动指定的跟踪。
    ----2 关闭指定的跟踪并从服务器中删除其定义。
    EXEC sp_trace_setstatus 2, 0
    GO

  • 相关阅读:
    sqlserver中的锁与事务
    策略模式
    异步编程
    并行聚合操作
    EF中的自动追踪与代理
    C#6.0语法糖
    EF中使用SqlQuery进行参数化查询时抛出异常
    乐观并发
    为什么那么多公司不用 .NET
    sqlserver 更改跟踪相关知识
  • 原文地址:https://www.cnblogs.com/lrl45/p/10005797.html
Copyright © 2011-2022 走看看