假设您要阻止用户执行全表扫描,以保护系统免受不良查询的影响。例如,您公司的客户服务中心会将有关客户通话的详细信息记录在通话历史记录表中,而此表现在已经非常庞大。您想防止用户对此特定表执行全表扫描。
- 选择要编辑的规则集。
- 打开工作负载设计器组件和工作负载设计器视图。
- 在For System (对于系统)列表中,选择PROD1。
- 在本地工作中页面区域中,单击规则集名称 BadQueries。
- 创建筛选器。
- 从规则集工具栏上,单击Filters (筛选器)。
- 在筛选器旁边,单击 。
- 输入筛选器的名称,在本例中为 Full Table Scan。
- 单击Save (保存)。
- 添加分类标准,以便将筛选器应用于尝试对表 CallHistoryTable 运行全表扫描的查询。
- 单击Classification (分类)选项卡。
- 在添加分类标准列表中,选择目标。
- 单击Add (添加)。将显示编辑目标标准对话框。
- 在目标类型列表中,选择表。
- 在数据库列表中,选择包含通话历史记录表的数据库:历史记录。
- 在表下,键入要防止全表扫描的表的名称:CallHistoryTable。
- 单击包括。该表将显示在包括下的选定列表中,名称为 History.CallHistoryTable。
- 在选定列表中,单击 History.CallHistoryTable 旁边的 。将显示编辑标准对话框。
- 选择全表扫描标准,单击包括,然后单击 OK。
- 单击OK (确定)。
- 单击Save (保存)。
- 激活规则集。
- 返回工作负载设计器视图。
- 对于 BadQueries 规则集,单击 并选择Make Active (激活)。
- [可选] 检查按照您指定的标准被拒绝的查询。
- 打开工作负载监控器组件。
- 单击组件框中的,然后选择Settings (设置)。
- 单击Systems (系统)选项卡。
- 在Systems (系统)列表中,选择PROD1。
- 单击OK (确定)。
- 在动态管道视图中,单击系统筛选器的请求状态图标下方的数字。
- 检查摘要表以确定被此筛选器拒绝的查询。“原因”列包含 For Rule Name 'Full Table Scan'。