【问题标题】:Integration Services Catalog folder permissions changedIntegration Services 目录文件夹权限已更改
【发布时间】:2019-01-21 20:59:39
【问题描述】:

问题:SSISDB 或 MSDB 中的任何 SQL Server 系统表是否包含可以让我发现哪些用户正在更改 Integration Services 目录中的文件夹权限的信息?

背景:我看到 SQL 代理作业失败并出现以下错误描述:

无法访问包或包不存在。验证 包存在并且用户有权限。

在研究该问题后,我发现服务帐户对包含相关包的文件夹的权限已被删除。我想执行诊断以查看谁删除了权限以及何时删除。

此外,我们的 IT 运营团队的配置管理一直是一个挑战,因为 SQL Server 至少在以下方面没有跨环境(即开发、测试、阶段和生产)保持内联:

  1. 补丁管理
  2. 内存管理
  3. 权限管理

研究:我检查了 MSDB 中的 Sysssispackages 表,但这似乎没有帮助,并且 SSISDB 中的表似乎都是基于整数的。我的背景是数据库开发,而不是数据库管理。任何帮助表示赞赏。

【问题讨论】:

    标签: sql-server ssis etl database-administration configuration-management


    【解决方案1】:

    不会为 SSISDB 审核对权限的更改。

    当您使用 UI 授予/拒绝文件夹/项目的权限时,这将转换为对 catalog.grant_permission/catalog.deny_permissions 的调用,这些检查您是否处于管理员角色(服务器或数据库)如果是这样,则调用 internal.update_permission 值 0/1 进行授权与拒绝。

    我与 2014 年进行了对比测试,但如果 2016/2017/2019 年有任何不同,我会感到惊讶

    SQL Server 本身通过系统跟踪跟踪权限更改。假设更改是最近的,您可以尝试这样的查询

    SELECT
        f.ObjectName
    ,   f.NTUserName
    ,   f.StartTime AS ChangeStartTime
    ,   f.EventClass
    ,   t.start_time AS TraceStartTime
    ,   t.last_event_time AS TraceLastEventTime
    ,   t.event_count
    ,   f.DatabaseID
    ,   f.TransactionID
    --,   f.NTDomainName
    ,   f.HostName
    ,   f.ClientProcessID
    --,   f.ApplicationName
    ,   f.LoginName
    ,   f.SPID
    ,   f.EventSubClass
    ,   f.ObjectID
    ,   f.ObjectType
    ,   f.DatabaseName
    FROM
        sys.traces t
        CROSS APPLY sys.fn_trace_gettable(REVERSE(SUBSTRING(REVERSE(t.path), CHARINDEX('\', REVERSE(t.path)), 260)) + N'log.trc', DEFAULT) f
    WHERE
        t.is_default = 1
        AND f.EventClass IN
        (102, 103, 104, 105, 106, 108, 109, 110, 111)
        AND f.DatabaseName = 'SSISDB';
    

    事件类突破是在 https://www.databasejournal.com/features/mssql/a-few-cool-things-you-can-identify-using-the-default-trace.html

    【讨论】:

    • 感谢您的帮助和解释。
    【解决方案2】:

    我不认为 SSISDB 或 MSDB 包含有关权限更改审核的信息。如果认为这应该在 SQL Server 数据库引擎上完成。您应该有一个审计过程来监控 SQL Server 实例上的所有更改。

    您可以参考以下链接,详细了解如何跟踪或审核权限更改:

    要查看存储在 MSDB 和 SSISDB 中的表和信息是什么,请查看以下链接:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-16
      • 2021-08-22
      • 1970-01-01
      • 2012-04-27
      • 2018-09-06
      • 2015-02-11
      • 2020-10-04
      • 2013-09-19
      相关资源
      最近更新 更多