Index Server Timeout Is Not Reported When You Execute a Query over Multiple Catalogs

Article translations Article translations
Article ID: 272763 - View products that this article applies to.
This article was previously published under Q272763
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all


If a query over multiple catalogs exceeds the time limit for execution (the MaxQueryExecution Time registry parameter), Indexing Service does not report that the query timed out before it finished. Because of this, the client program cannot detect that the results returned by the query are incomplete.


To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
The English version of this fix should have the following file attributes or later:
   Date        Time    Version        Size        File name
   09/13/2000  01:52a  5.0.2195.2195  1,416,464   Query.dll


Microsoft has confirmed that this is a problem in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 2.

More information

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes
After you install this hotfix, the "Rowset Query Status" property now returns the STAT_TIME_LIMIT_EXCEEDED (256) flag when the query has timed out.

The following Microsoft Visual Basic sample illustrates how to handle the time limit condition by using ADO with the OLE DB Provider for Index Server (MSIDXS):
    Dim RS As New ADODB.Recordset
    Const adOpenForwardOnly = 0
    Connect = "provider=msidxs"
    CommandText = "select filename,path,Size,Write  from (table server.Catalog1..scope() union all table server.Catalog2..scope())  where  contains('microsoft') or contains('copyright')"
    RS.Open CommandText, Connect, adOpenForwardOnly
    Do Until RS.EOF
        ... RS("Filename")
    Status = RS.Properties("Rowset Query Status")
    If (Status And 256) Then
      MsgBox ("Error: Time Limit Exceeded")
    End If


Article ID: 272763 - Last Review: October 26, 2013 - Revision: 4.0
Applies to
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix kbwin2000presp2fix KB272763

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from