创建 SQL Server 实用工具控制点(SQL Server 实用工具)
企业可以有多个 SQL Server 实用工具,每个 SQL Server 实用工具可以管理 SQL Server 和数据层应用程序的多个实例。 每个 SQL Server 实用工具都有一个和一个实用工具控制点(UCP)。 必须为每个 SQL Server 实用工具创建新的 UCP。 SQL Server 的每个托管实例和每个数据层应用程序都是一个成员,只有一个 SQL Server 实用工具,并由单个 UCP 管理。
UCP 每隔 15 分钟从 SQL Server 的托管实例收集配置和性能信息。 此信息存储在 UCP 上的实用工具管理数据仓库 (UMDW) 中;该 UMDW 文件名是 sysutility_mdw。 SQL Server 性能数据与策略进行比较,以帮助识别资源使用瓶颈和整合机会。
开始之前
创建 UCP 之前,请查看以下要求和建议。
在此版本中,SQL Server 的 UCP 和所有托管实例必须满足以下要求:
SQL Server 必须是版本 10.50 或更高版本。
SQL Server 实例类型必须数据库引擎。
SQL Server 实用工具必须在单个 Windows 域中或跨具有双向信任关系的域运行。
UCP 和 SQL Server 的所有托管实例上的 SQL Server 服务帐户必须对 Active Directory 中的用户具有读取权限。
在此版本中,UCP 必须满足以下要求:
SQL Server 实例必须是受支持的版本。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2014 各版本支持的功能。
我们建议 UCP 由 SQL Server 的区分大小写的实例承载。
对于针对 UCP 计算机的容量计划,请考虑以下建议:
在典型的方案中,UCP 上 UMDW 数据库 (sysutility_mdw) 使用的磁盘空间是每年 SQL Server 的每个托管实例大约 2 GB。 此估计值可能会根据托管实例收集的数据库和系统对象的数目而发生变化。 UMDW (sysutility_mdw) 磁盘空间增长率在最初的两天最高。
在典型方案中,UCP 上的 msdb 使用的磁盘空间约为每个 SQL Server 托管实例的 20 MB。 请注意,此估计值可能会根据资源使用策略以及托管实例收集的数据库和系统对象的数目而发生变化。 一般而言,磁盘空间使用率随着违反策略的数目的增加而增加,并且随着易失性资源的可调时间范围的持续时间长度的增加而增加。
请注意,在某一托管实例的数据保持期到期前,从 UCP 中删除该托管实例将不会降低 UCP 数据库所占用的磁盘空间。
在此版本中,SQL Server 的所有托管实例必须满足以下要求:
建议如果 UCP 由 SQL Server 不区分大小写的实例托管,则 SQL Server 的托管实例也应不区分大小写。
SQL Server 实用工具监视不支持 FILESTREAM 数据。
有关详细信息,请参阅 SQL Server 版本支持的 SQL Server 和功能的最大容量规范。
在安装新的实用工具控制点之前删除以前的实用工具控制点
如果您在某一 SQL Server 实例上安装实用工具控制点 (UCP),并且该实例曾配置为 UCP,则必须在执行此操作前删除所有 SQL Server 托管实例并且删除该 UCP。 可以通过运行 sp_sysutility_ucp_remove 存储过程来执行此操作。
在运行该过程之前,请注意以下要求:
该过程必须在作为 UCP 的计算机上运行。
该过程必须由具有 sysadmin 权限的用户运行,创建 UCP 要求同样的权限。
SQL Server 的所有托管实例必须都从该 UCP 中删除。 请注意,该 UCP 是 SQL Server 的托管实例。 有关详细信息,请参阅 如何从 SQL Server 实用工具中删除 SQL Server 的实例。
使用此过程可以从 SQL Server 实用工具中删除 SQL Server UCP。 在完成该操作后,可以再次在 SQL Server 的实例上创建 UCP。
使用 SQL Server Management Studio 连接到该 UCP,然后运行以下脚本:
EXEC msdb.dbo.sp_sysutility_ucp_remove;
注意
如果删除了 UCP 的 SQL Server 实例具有非实用工具数据收集组,则该过程将不删除 sysutility_mdw 数据库。 在此情况下,必须首先手动删除 sysutility_mdw 数据库,然后才能再次创建 UCP。
SQL Server 的每个托管实例和每个数据层应用程序都是一个成员,只有一个 SQL Server 实用工具,并由单个 UCP 管理。 有关 SQL Server 实用工具概念的详细信息,请参阅 SQL Server 实用工具功能和任务。
UCP 是 SQL Server 实用工具的中心推理点。 使用 UCP,可以查看从 SQL Server 和 SQL Server 数据层应用程序的托管实例收集的配置和性能信息,并执行常规容量规划活动。 UCP 是用于从 SQL Server 实用工具注册和删除 SQL Server 实例的启动点。
在 SQL Server 实用工具中注册 SQL Server 实例后,可以监视 SQL Server 和数据层应用程序的托管实例的资源运行状况,以确定整合机会并隔离资源瓶颈。 有关详细信息,请参阅 在 SQL Server 实用工具中监视 SQL Server 的实例。
重要
SQL Server 实用工具收集集与非 SQL Server 实用工具集合集并行受支持。 也就是说,SQL Server 的托管实例可由其他集合集监视,而它是 SQL Server 实用工具的成员。 但是,请注意,托管实例上的所有收集集都将将其数据上传到 SQL Server 实用工具管理数据仓库。 有关详细信息,请参阅有关在同一 SQL Server 实例上运行实用工具和非实用工具收集集的注意事项,以及配置实用工具控制点数据仓库(SQL Server 实用工具)。
向导步骤
以下部分提供有关向导工作流中每个页面的信息,以创建新的 SQL Server UCP。 要启动向导以创建新的 UCP,则从 SSMS 的“视图”菜单中打开“实用工具资源管理器”窗格,然后单击“实用工具资源管理器”窗格顶部的 “创建 UCP”按钮。
单击下面列表中的链接可以导航到向导中某一页的详细信息:
有关此操作的 PowerShell 脚本的详细信息,请参阅 示例。
创建 UCP 向导简介
如果您打开实用工具资源管理器并且没有连接的实用工具控制点,则必须连接到一个控制点或创建一个新的控制点。
连接到现有 UCP - 如果在你的部署中已存在一个实用工具控制点,则可以通过单击“实用工具资源管理器”窗格顶部的 “连接到实用工具”按钮连接到该实用工具控制点。 若要连接到现有 UCP,您必须具有管理员凭据或是实用工具读取者角色的成员。 请注意,每个 SQL Server 实用工具只能有一个 UCP,只能从 SSMS 实例连接到一个 UCP。
创建新的 UCP - 要创建新的实用工具控制点,请单击“实用工具资源管理器”窗格顶部的 “创建 UCP”按钮。 若要创建新的 UCP,必须在连接对话框中指定 SQL Server 实例名称并提供管理员凭据。 请注意,每个 SQL Server 实用工具只能有一个 UCP。
指定实例
指定与您正创建的 UCP 有关的以下信息:
实例名称 - 若要从连接对话框中选择 SQL Server 实例,请单击“ 连接...”。以 ComputerName\InstanceName 格式提供计算机名称和 SQL Server 实例名称。
实用工具名称 - 指定将用于标识网络上的 SQL Server 实用工具的名称。
若要继续,请单击 “下一步” 。
连接对话框
在“连接到服务器”对话框中,验证服务器类型、计算机名称和 SQL Server 实例名称信息。 有关详细信息,请参阅“连接到服务器”(数据库引擎)。
注意
如果连接是加密的,将使用加密连接。 如果未加密连接,SQL Server 实用工具将使用加密的连接重新连接。
若要继续,请单击“连接...”。
实用工具收集组帐户
指定要运行 SQL Server 实用工具收集集的 Windows 域帐户。 此帐户用作 SQL Server 实用工具收集集的SQL Server 代理代理帐户。 或者,可以使用现有的SQL Server 代理服务帐户。 若要满足验证要求,请使用以下准则来指定帐户。
如果指定SQL Server 代理服务帐户选项:
- SQL Server 代理服务帐户必须是不是 LocalSystem、NetworkService 或 LocalService 等内置帐户的 Windows 域帐户。
若要继续,请单击 “下一步” 。
验证规则
在此版本的 SQL Server 中,在将创建 UCP 的 SQL Server 实例上,必须满足以下条件:
验证规则 | 纠正措施 |
---|---|
必须在将在其中创建实用工具控制点的 SQL Server 实例上拥有管理员权限。 | 使用对 SQL Server 实例具有管理员权限的帐户登录。 |
SQL Server 版本必须为 10.50 或更高版本。 | 指定要托管 UCP 的不同 SQL Server 实例。 |
SQL Server 实例必须是受支持的版本。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2014 各版本支持的功能。 | 指定要托管 UCP 的不同 SQL Server 实例。 |
SQL Server 实例不得是向任何其他 SQL Server UCP 注册的 SQL Server 实例。 | 指定要托管 UCP 的不同 SQL Server 实例,或从当前是 SQL Server 托管实例的 UCP 中取消注册 SQL Server 实例。 |
SQL Server 的实例不能已托管到实用工具控制点。 | 指定要托管 UCP 的不同 SQL Server 实例。 |
SQL Server 的指定实例应已启用 TCP/IP。 | 为 SQL Server 的指定实例启用 TCP/IP。 |
SQL Server 的实例不能具有名为“sysutility_mdw”的数据库。 | 创建 UCP 操作将创建名为“sysutility_mdw”的实用工具管理数据仓库(UMDW)。该操作要求运行验证规则时计算机上不存在该名称。 若要继续,必须删除或重命名名为“sysutility_mdw”的任何数据库。有关重命名操作的详细信息,请参阅 ALTER DATABASE (Transact-SQL)。 |
必须停止 SQL Server 的指定实例上的集合集。 | 在 SQL Server 的指定实例上创建 UCP 时停止预先存在的收集集。 如果数据收集器被禁用,则启用它,停止正在运行的所有收集组,然后为创建 UCP 操作重新运行验证规则。 启用数据收集器: 在对象资源管理器中,展开 “管理” 节点。 右键单击 “数据收集”,然后单击 “启用数据收集”。 停止收集组: 在对象资源管理器中,依次展开“管理”节点、 “数据收集”、 “系统数据收集组”。 右键单击要停止的收集组,然后单击 “停止数据收集组”。 出现一个显示此操作结果的消息框,收集组图标上的红色圆圈指示收集组已停止运行。 |
必须启动指定实例上的SQL Server 代理服务。 如果 SQL Server 的指定实例是 SQL Server 故障转移群集实例,则必须将SQL Server 代理服务配置为手动启动。 否则,必须将SQL Server 代理服务配置为自动启动。 | 启动SQL Server 代理服务。 如果 SQL Server 的指定实例是 SQL Server 故障转移群集实例,请将SQL Server 代理服务配置为手动启动。 否则,请将SQL Server 代理服务配置为自动启动。 |
WMI 必须正确配置。 | 若要排查 WMI 配置问题,请参阅 SQL Server 实用工具故障排除。 |
SQL Server 代理代理帐户不能是内置帐户,例如网络服务。 | 如果SQL Server 代理代理帐户是内置帐户(如网络服务),请将该帐户重新分配给 sysadmin 的 Windows 域帐户。 |
如果选择代理帐户选项,SQL Server 代理代理帐户必须是有效的 Windows 域帐户。 | 指定一个有效的 Windows 域帐户。 若要确保帐户有效,请使用 Windows 域帐户登录到 SQL Server 的指定实例。 |
如果选择服务帐户选项,则SQL Server 代理服务帐户不能是内置帐户,例如网络服务。 | 如果SQL Server 代理服务帐户是内置帐户(例如网络服务),请将该帐户重新分配给 Windows 域帐户。 |
如果选择服务帐户选项,SQL Server 代理服务帐户必须是有效的 Windows 域帐户。 | 指定一个有效的 Windows 域帐户。 若要确保帐户有效,请使用 Windows 域帐户登录到 SQL Server 的指定实例。 |
如果在验证结果中存在失败的条件,则纠正妨碍性问题后单击 “重新运行验证” 以便验证计算机配置。
若要保存验证报表,请单击 “保存报表” ,然后指定文件的位置。
若要继续,请单击 “下一步” 。
总结
摘要页显示您提供的与 UCP 有关的信息:
托管 UCP 的 SQL Server 实例名称。
SQL Server 实用工具的名称。
将用于运行 SQL Server 实用工具数据收集作业的帐户的名称。
若要更改 UCP 配置设置,请单击 “上一步”。 若要继续,请单击 “下一步” 。
创建实用工具控制点
在创建 UCP 的操作过程中,该向导将显示相关步骤并提供有关状态:
准备用于创建 UCP 的 SQL Server 实例。
正在创建实用工具管理数据仓库 (UMDW)。
初始化 SQL Server UMDW;UMDW 文件名sysutility_mdw。
正在配置 UCP。
配置 SQL Server 实用工具收集集。
若要保存与创建 UCP 操作有关的报表,请单击 “保存报表” ,然后指定文件的位置。
若要完成向导,请单击 “完成”。
在完成创建 UCP 向导后,对于为“已部署的数据层应用程序”、“托管实例”和“实用工具管理”在其下具有节点的 UCP,SSMS 的实用工具资源管理器导航窗格中将显示一个节点。 该 UCP 将自动成为托管实例。
数据收集过程将立即开始,但可能需要最长 30 分钟的时间,数据才会首次出现在实用工具资源管理器内容窗格的面板和视点中。 数据收集将以每 15 分钟一次的频率继续执行。 初始数据将来自该 UCP 本身。 也就是说,UCP 是 SQL Server 实用工具中 SQL Server 的第一个托管实例。
若要显示面板,请单击 “视图” ,然后从 SSMS 菜单中选择 “实用工具资源管理器内容” 。 若要刷新数据,请在实用工具资源管理器窗格中右键单击实用工具名称,然后选择“刷新”。
有关如何将 SQL Server 的其他实例注册到 SQL Server 实用工具的详细信息,请参阅“注册 SQL Server 实例”(SQL Server 实用工具)。 若要从 SQL Server 实用工具中删除 UCP 作为托管实例,请在“实用工具资源管理器”窗格中选择托管实例以填充托管实例的列表视图,右键单击实用工具资源管理器内容列表视图中的 SQL Server 实例名称,然后选择“使实例非托管”。
使用 PowerShell 创建新的实用工具控制点
使用以下示例创建一个新的实用工具控制点:
$UtilityInstance = new-object -Type Microsoft.SqlServer.Management.Smo.Server "ComputerName\UCP-Name";
$SqlStoreConnection = new-object -Type Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection $UtilityInstance.ConnectionContext.SqlConnectionObject;
$Utility = [Microsoft.SqlServer.Management.Utility.Utility]::CreateUtility("Utility", $SqlStoreConnection, "ProxyAccount", "ProxyAccountPassword");