NO_BROWSETABLE setting

  • I have found a statement being executed many times per day one one of my SQL 2000 databases and I am trying to determine how and where this is getting initiated.  The statement is "Set NO_BROWSETABLE ON".  So far I have found that it is an undocumented feature from Microsoft but I cannot find what is initiating this statement or why.  We are running VB 6 applications against this SQL 2000 database.

    Any help would add years to my life.

  • Run a Profiler trace on the server filtering for the specific database.  Be sure to capture ApplicationName,NTUserName, LoginName.

    Greg

    Greg

  • A quick google shows:

    Looks like this has been around since SQL Server 6.5:

    SET NO_BROWSETABLE ON is an undocumented option performed for Remote Data Service (RDS) ActiveX Data Connector (ADC) connections to SQL Server. Enabling this option makes every SELECT statement act as though FOR BROWSE had been appended to the statement, but bypasses the temporary table that FOR BROWSE normally pipes the results through. The net effect is to add keys and timestamps to the query as hidden output columns so the client can update specific rows (updateable cursors) without separate trips to the server to pick up the meta-data and munging the query to get the appropriate columns.

    http://support.microsoft.com/kb/178366/

    SQL Server 2000 sp4 fixes a bug:

    http://support.microsoft.com/kb/899430/

    For SQL 2005:

    http://support.microsoft.com/kb/885146/

    So I would say that this is not quite "undocumented".

    Andy

     

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply