sql-server - 用于过滤作为审计表的数据库的 SQL 命令
问题描述
运行它以获取所有表的所有数据库的结果
DECLARE @src NVARCHAR(MAX), @sql NVARCHAR(MAX);
SELECT @sql = N'', @src = N' UNION ALL
SELECT ''$d'' as ''database'',
s.name COLLATE SQL_Latin1_General_CP1_CI_AI as ''schema'',
t.name COLLATE SQL_Latin1_General_CP1_CI_AI as ''table'' ,
ind.rows as record_count
FROM [$d].sys.schemas AS s
INNER JOIN [$d].sys.tables AS t ON s.[schema_id] = t.[schema_id]
INNER JOIN [$d].sys.sysindexes AS ind ON t.[object_id] = ind.[id]
where ind.indid < 2';
SELECT @sql = @sql + REPLACE(@src, '$d', name)
FROM sys.databases
WHERE database_id > 4
AND [state] = 0
AND HAS_DBACCESS(name) = 1;
SET @sql = STUFF(@sql, 1, 10, CHAR(13) + CHAR(10));
PRINT @sql;
--EXEC sys.sp_executesql @sql;
但想要像每个审计数据库都_audit
附加到它一样过滤数据库。
我也想得到它的所有视图和存储过程和函数
解决方案
推荐阅读
- html - Angular HTML 类型推断没有按我的意愿工作
- java - 如何在jpql中的where条件下使用if else
- excel - Excel For 循环和一般 vba 指南
- google-cloud-platform - 一个 IP 的 GCP API 阈值
- java - 为什么全局对象数组进入方法时突然为空?
- c# - ASP.NET Core MVC 在回发时检查授权
- c++ - 我试图像输出一样显示全名,但是每当我点击进入程序时,只打印出 1 个单词而不是 2 个单词
- algorithm - 将x数量的人分成n个不同大小的房间的算法
- laravel - Laravel Echo/Pusher/Vue - /broadcasting/auth 返回空的 HTML 响应
- javascript - 如何在不使用脚本标签的情况下包含外部 javascript 文件