WEB开发网
开发学院数据库MSSQL Server 内部 SQL Server 诊断工具,第 1 部分:PSSDiag 阅读

内部 SQL Server 诊断工具,第 1 部分:PSSDiag

 2007-11-11 04:46:46 来源:WEB开发网   
核心提示: 模式Mode(模式)设置使您可以指定是从已安装 sql server(WINDOWS平台上强大的数据库平台)(并且您可以与其连接)的计算机上进行收集,还是从未安装 sql server(WINDOWS平台上强大的数据库平台) 的计算机上进行收集,内部 SQL Server 诊断工具,第 1 部分:PSSDiag(3)

模式

Mode(模式)设置使您可以指定是从已安装 sql server(WINDOWS平台上强大的数据库平台)(并且您可以与其连接)的计算机上进行收集,还是从未安装 sql server(WINDOWS平台上强大的数据库平台) 的计算机上进行收集。如果选择了 sql server(WINDOWS平台上强大的数据库平台) 模式,只要确定收集程序可以与目标 sql server(WINDOWS平台上强大的数据库平台) 实例连接并且是该实例内的 sysadmin 组成员,收集程序就会启动。如果这些检查中的任一项失败,则将忽略此实例,而不对其进行诊断信息收集。这意味着如果您接受默认目标实例名称 *(如上所述,它会使收集程序清点安装在目标计算机上的 sql server(WINDOWS平台上强大的数据库平台) 实例),将不会从收集时没有运行的或存在其他连接问题的任何实例中收集诊断信息。

如果设置为 Generic(普通)模式,将不会进行 sql server(WINDOWS平台上强大的数据库平台) 连接检查。如果您选择了特定于 sql server(WINDOWS平台上强大的数据库平台) 的诊断信息(例如事件探查器跟踪),收集服务程序仍然会尝试连接这些信息,但是如果在试图到达服务器时发生了连接问题,或者您缺乏对服务器的足够权限,那么就可能无法连接。如果从非 sql server(WINDOWS平台上强大的数据库平台) 计算机中收集诊断信息,此模式显然非常有用。它还可以用于从存在安装问题或连接问题的 sql server(WINDOWS平台上强大的数据库平台) 计算机(例如,您可能需要从某台计算机上收集 Perfmon 日志,而该计算机由于某种原因使您无法连接到 sql server(WINDOWS平台上强大的数据库平台))中收集有限的诊断信息。

输出文件夹

我想您一定猜到了,Output Folder(输出文件夹)用于指定收集程序将其所有诊断信息输出到其中的文件夹。此文件夹必须已存在于目标计算机上,或者可以创建(这意味着如果它是一个子文件夹,那么其父文件夹必须已经存在)。如果未指定此文件夹,它就默认为收集程序启动目录下名为 OUTPUT 的子文件夹。此文件夹所在的驱动器应当有足够的空间,最好不由 sql server(WINDOWS平台上强大的数据库平台) 使用,无论以何种方式(例如用于数据或日志文件)。由于具体需要多少空间取决于您所收集的诊断信息和目标计算机上正在发生的活动数量,因此此工具无法预先了解您是否有足够的空间。

您还可以控制收集服务程序在启动时如何管理现有的输出文件夹。您可以指示程序完全覆盖该文件夹的内容(默认设置),也可以在开始新的收集之前清除或重命名该文件夹。重命名的输出文件夹的格式为 Output_00001、Output_00002 等,数字最大的文件夹就是最近重命名的文件夹。

压缩

Compression(压缩)设置控制着收集服务程序是否压缩收集到的诊断信息文件,或者在收集时压缩 (NTFS),或者在关闭时压缩 (ZIP)。如果您选择 NTFS 压缩,那么收集服务程序就会启动一个低优先级后台线程,此线程将使用 NTFS 压缩(假设输出驱动器为 NTFS 分区)来压缩收集到的诊断信息文件。此线程每隔 30 秒唤醒一次,并检查是否存在尚未压缩的新文件。如果您选择 ZIP 压缩,那么收集程序就会在关闭时将输出文件夹中的文件压缩到单个 Zip 文件中(默认设置为 PSSDiag.Zip)。程序会先将所有内部诊断信息文件(这些文件是特定于 PSSDiag 的,而非您所要求的那些文件,它们具有 ## 前缀)添加到一个名为 PSSDiagInternal.Zip 的 Zip 文件中,然后将此 Zip 文件连同您所要求的诊断信息的所有输出文件,一起添加到一个名为 PSSDiag.Zip 的文件中(此文件的名称取决于收集服务程序的名称,如上所述,此文件名可以被更改)。

日程安排

Scheduling(日程安排)部分使您可以安排收集服务程序如何以及何时运行和关闭。您可以配置 Start Date/Time(开始日期/时间)和 End Date/Time(结束日期/时间),以及收集服务程序是否应当自动重新启动和/或仅收集数据的快照并自动关闭。您所指定的时间可以是相对时间也可以是绝对时间,还可以将两者结合使用(例如,您可以将启动时间设置为绝对时间,而将关闭时间设置为相对时间)。相对结束时间总是相对于开始时间而非当前时间,而相对开始时间总是相对于当前时间。如果您指定一个已过去的绝对日期/时间,收集程序会自动调整其日期,以使该程序在将来发生。根据指定的时间和当前时间,程序将会在今天或明天的指定时间发生。

在开始收集数据之前,收集程序在给定的时间或时段内等待传递数据时绝对不会占用主机上的 CPU 资源。它会通知 Windows 需要唤醒它的时间,然后开始休眠,直到 Windows 唤醒它。到达开始时间时,Windows 会发信号通知收集程序开始收集数据的时间到了,收集程序就会照常开始收集诊断信息。

选择 Run Continuously(不间断运行)选项将在收集程序由于到达结束时间而关闭时通知其自动重新启动。这可以用于每日运行特定的诊断信息收集程序。由于您可以指定相对时间和没有指定日期的时间,因此这一功能就使您可以在每天的一段时间内(如早上 9 点到下午 5 点之间)收集相同的诊断数据。下午 5 点关闭后,收集服务程序将会自动重新启动,并等到第二天的早上 9 点再次开始收集数据。

其他

尽管在默认情况下 PSSDiag 会运行一个存储过程来收集 SQLDIAG 报告,但是用户仍然可以根据需要改为使用 SQLDIAG.exe。需要注意的一个特殊情况是,PSSDiag 默认使用的存储过程收集的数据与 SQLDIAG.exe(实际上是一个数据父集)收集的数据完全相同,并且数据的格式也相同。两者之间唯一显著的区别是 SQLDIAG.exe 还会收集 MSInfo32/WinMsd 报告,而 PSSDiag 使用的存储过程则不会。这是由于 PSSDiag 可以被配置为通过其自定义的诊断功能来单独收集 MSInfo32/WinMsd,我们将会在下面对此进行论述。通过单独收集 MSInfo32/WinMsd 的功能,可以将该报告与 SQLDIAG 报告的存储过程一同收集。这样将会提高整体性能并缩短收集报告所需的时间。考虑到收集 MSInfo32/WinMsd 需要大量时间,因此保留默认设置要比使用 SQLDIAG.exe 收集该报告具有明显的优势。

一旦您单击了 OK(确定),您所指定的配置信息和启动参数就会被写入目标计算机的注册表(xml(标准化越来越近了) 格式),收集服务程序也将被启动。如果从正在运行配置应用程序的计算机上进行收集,DiagConfig 还会在尝试启动收集服务之前自动为您注册此服务。

当收集服务程序启动后,DiagConfig 将会在 GUI 说明/输出部分的 Output(输出)页显示出其输出结果。如图 4 所示:

内部 sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 诊断工具,第 1 部分:PSSDiag(图五)" />

4DiagConfig 显示 PSSDiag 收集服务程序的输出结果。

 

此输出结果显示会每隔 5 秒更新一次,并且所显示的目标计算机的应用程序事件日志,只限于收集服务程序在该次运行过程中收集的部分。您也可以使用 Windows 事件查看器工具来查看相同的信息,但是您将会发现使用 DiagConfig 来查看会容易得多。

当收集服务程序正在运行时,您将无法更改任何配置或启动参数。如果您希望变更要收集的诊断信息,请停止并重新启动收集服务程序。

请记住,在收集服务程序运行时您可以将 DiagConfig 最小化甚至完全退出它。DiagConfig 会创建一个任务栏图标,这样您就可以根据需要通过任务栏来控制收集服务程序。

请注意,您并不一定要使用 DiagConfig 来启动和停止收集服务程序。您还可以使用 Windows 的服务控制管理器应用程序或收集程序附带的 DiagControl 命令文件。如果您通过 DiagConfig 启动收集服务程序,然后通过其他某种机制来停止该程序,DiagConfig 将会检测到这一情况,并在其显示出的用户界面中反映出相应的状态和输出结果。由于某些原因(在此不深入探究),您不应当使用服务控制管理器应用程序来停止收集服务程序。而应当使用 DiagConfig 或 DiagControl 命令文件。

上一页  1 2 3 4 5 6 7  下一页

Tags:内部 SQL Server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接