如何记录长时间运行的查询 (ODBC)
提供完整的示例,说明如何创建长时间运行的查询日志文件。完整的示例代码位于 LogLongRunningQuery.cpp 文件中,可以从 MSDN 上的 SQL Server Downloads(SQL Server 下载)页下载此文件。此示例是使用 Microsoft Visual C++ 2005 开发的,并且是针对 ODBC 版本 3.0 或更高版本开发的。
安全说明 |
---|
请尽可能使用 Windows 身份验证。如果 Windows 身份验证不可用,请在运行时提示用户输入其凭据。不要将凭据存储在一个文件中。如果必须保存凭据,应当用 Win32 crypto API(Win32 加密 API)加密它们。 |
使用 ODBC 管理器记录长时间运行的查询
在**“控制面板”中,双击“管理工具”,再双击“数据源 (ODBC)”**。(或者,也可以从命令提示符处运行 odbcad32.exe。)
单击**“用户 DSN”、“系统 DSN”或“文件 DSN”**选项卡。
单击要记录其长时间运行的查询的数据源。
单击**“配置”**。
在 Microsoft SQL Server 配置 DSN 向导中,导航到具有**“将长时间运行的查询保存到日志文件”**的页面。
选择**“将长时间运行的查询保存到日志文件”。在该框中,放置应记录长时间运行的查询的文件的名称。或者,单击“浏览”**以便浏览文件系统以找到查询日志。
在**“长查询时间(毫秒)”**框中设置以毫秒为单位的查询超时间隔。
以编程方式记录长时间运行的查询数据
使用 SQL_COPT_SS_PERF_QUERY_LOG 以及长时间运行的查询日志文件的完整路径和文件名调用 SQLSetConnectAttr。例如:
C:\\Odbcqry.log
使用 SQL_COPT_SS_PERF_QUERY_INTERVAL 调用 SQLSetConnectAttr,并且设置为以毫秒为单位的超时间隔。
使用 SQL_COPT_SS_PERF_QUERY 和 SQL_PERF_START 调用 SQLSetConnectAttr,以便开始记录长时间运行的查询。
使用 SQL_COPT_SS_PERF_QUERY 和 SQL_PERF_STOP 调用 SQLSetConnectAttr,以便停止记录长时间运行的查询。