Sort Warnings 事件类Sort Warnings Event Class

适用于:Applies to: 是SQL ServerSQL Server(所有支持的版本)yesSQL ServerSQL Server (all supported versions) 是Azure SQL 数据库Azure SQL DatabaseYesAzure SQL 数据库Azure SQL Database适用于:Applies to: 是SQL ServerSQL Server(所有支持的版本)yesSQL ServerSQL Server (all supported versions) 是Azure SQL 数据库Azure SQL DatabaseYesAzure SQL 数据库Azure SQL Database

Sort Warnings 事件类指示排序操作的内存不足。The Sort Warnings event class indicates that sort operations do not fit into memory. 这不包括与创建索引有关的排序操作,只包括某查询内的排序操作(如 SELECT 语句中使用的 ORDER BY 子句)。This does not include sort operations involving the creation of indexes, only sort operations within a query (such as an ORDER BY clause used in a SELECT statement).

如果涉及排序操作的查询生成 EventSubClass 数据列值为 2 的 Sort Warnings 事件类,则需要多次传递数据才能排序数据,因此可能会影响查询性能。If a query involving a sort operation generates a Sort Warnings event class with an EventSubClass data column value of 2, the performance of the query can be affected because multiple passes over the data are required to sort the data. 进一步调查查询以确定是否可以消除排序操作。Investigate the query further to determine if the sort operation can be eliminated.

Sort Warnings 事件类的数据列Sort Warnings Event Class Data Columns

数据列名称Data column name 数据类型Data type 说明Description 列 IDColumn ID 可筛选Filterable
ApplicationNameApplicationName nvarcharnvarchar 客户端应用程序的名称,该客户端应用程序创建了指向 SQL ServerSQL Server实例的连接。Name of the client application that created the connection to an instance of SQL ServerSQL Server. 此列由应用程序传递的值填充,而不是由所显示的程序名填充。This column is populated with the values passed by the application rather than the displayed name of the program. 1010 Yes
ClientProcessIDClientProcessID intint 主机为运行该客户端应用程序的进程分配的 ID。ID assigned by the host computer to the process where the client application is running. 如果客户端提供了客户端进程 ID,则填充此数据列。This data column is populated if the client provides the client process ID. 99 Yes
DatabaseIDDatabaseID intint 由 USE database 语句指定的数据库的 ID;如果未对给定实例发出 USE database 语句,则为默认数据库的 ID。ID of the database specified by the USE database statement or the default database if no USE database statement has been issued for a given instance. SQL Server ProfilerSQL Server Profiler 如果在跟踪中捕获 ServerName 数据列而且服务器可用,则将显示数据库名。displays the name of the database if the ServerName data column is captured in the trace and the server is available. 可使用 DB_ID 函数来确定数据库的值。Determine the value for a database by using the DB_ID function. 33 Yes
DatabaseNameDatabaseName nvarcharnvarchar 正在其中运行用户语句的数据库的名称。Name of the database in which the user statement is running. 3535 Yes
EventClassEventClass intint 事件类型 = 69。Type of event = 69. 2727 No
EventSequenceEventSequence intint 特定事件在请求中的顺序。The sequence of a given event within the request. 5151 No
EventSubClassEventSubClass intint 事件子类的类型。Type of event subclass.

1 = 单次传递。1 = Single pass. 将排序表写入磁盘时,只需再传递一次数据即可获得排序输出。When the sort table was written to disk, only a single additional pass over the data was required to obtain sorted output.

2 = 多次传递。2 = Multiple pass. 将排序表写入磁盘时,必须多次传递要排序的数据才能获得排序输出。When the sort table was written to disk, multiple passes over the data were required to obtain sorted output.
2121 Yes
GroupIDGroupID intint 在其中激发 SQL 跟踪事件的工作负荷组的 ID。ID of the workload group where the SQL Trace event fires. 6666 Yes
HostNameHostName nvarcharnvarchar 正在运行客户端的计算机的名称。Name of the computer on which the client is running. 如果客户端提供了主机名,则填充此数据列。This data column is populated if the client provides the host name. 若要确定主机名,请使用 HOST_NAME 函数。To determine the host name, use the HOST_NAME function. 88 Yes
IsSystemIsSystem intint 指示事件是发生在系统进程中还是发生在用户进程中。Indicates whether the event occurred on a system process or a user process. 1 = 系统,NULL = 用户。1 = system, NULL = user. 6060 Yes
LoginNameLoginName nvarcharnvarchar 用户的登录名( SQL ServerSQL Server 安全登录名或 MicrosoftMicrosoft Windows 登录凭据,格式为“DOMAIN\username”)。Name of the login of the user (either SQL ServerSQL Server security login or the MicrosoftMicrosoft Windows login credentials in the form of DOMAIN\username). 1111 Yes
LoginSidLoginSid 图像image 登录用户的安全标识号 (SID)。Security identification number (SID) of the logged-in user. 您可以在 sys.server_principals 目录视图中找到此信息。You can find this information in the sys.server_principals catalog view. 服务器中的每个登录名都具有唯一的 SID。Each SID is unique for each login in the server. 4141 Yes
NTDomainNameNTDomainName nvarcharnvarchar 用户所属的 Windows 域。Windows domain to which the user belongs. 77 Yes
NTUserNameNTUserName nvarcharnvarchar Windows 用户名。Windows user name. 66 Yes
RequestIDRequestID intint 包含该语句的请求的 ID。ID of the request containing the statement. 4949 Yes
ServerNameServerName nvarcharnvarchar 所跟踪的 SQL ServerSQL Server 实例的名称。Name of the instance of SQL ServerSQL Server being traced. 2626 No
SessionLoginNameSessionLoginName nvarcharnvarchar 发起会话的用户的登录名。Login name of the user who originated the session. 例如,如果您使用 Login1 连接到 SQL ServerSQL Server ,再以 Login2 的身份执行语句,则 SessionLoginName 将显示 Login1,而 LoginName 将显示 Login2。For example, if you connect to SQL ServerSQL Server using Login1 and execute a statement as Login2, SessionLoginName shows Login1 and LoginName shows Login2. 此列将同时显示 SQL ServerSQL Server 登录名和 Windows 登录名。This column displays both SQL ServerSQL Server and Windows logins. 6464 Yes
SPIDSPID intint 发生该事件的会话的 ID。ID of the session on which the event occurred. 1212 Yes
StartTimeStartTime datetimedatetime 事件开始的时间(如果可用)。Time at which the event started, when available. 1414 Yes
TransactionIDTransactionID bigintbigint 系统分配的事务 ID。System-assigned ID of the transaction. 44 Yes
XactSequenceXactSequence bigintbigint 用于说明当前事务的标记。Token that describes the current transaction. 5050 Yes

另请参阅See Also

sp_trace_setevent (Transact-SQL)sp_trace_setevent (Transact-SQL)