Re: Difference between IIS 5 and IIS6

From: John Lopez (Lopez_at_discussions.microsoft.com)
Date: 03/17/05


Date: Thu, 17 Mar 2005 08:19:16 -0800

I found this article:

http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/deployguide/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/all/deployguide/en-us/iisdg_dep_WJRS.asp

regarding recycling application pools. I'm going to see if I can isolate all
pages that relate to SQLXML into one app pool and set a fairly agressive
recycle schedule.

If I could produce such a query that hangs the environment, what is the best
method of collecting the state to find out why it is hanging? I currently
don't have a Windows 2003 Server with debug symbols running...

"David Wang [Msft]" wrote:

> Well, IIS5 and IIS6 are completely different web servers on completely
> different codebase -- night and day difference in design and implementation.
>
> If I remember correctly, SQLXML is an ISAPI that runs on top of IIS to
> handle such functionality, so IIS does not interact with SQLXML at all.
> From an ISAPI perspective, the interface has not changed, though without
> debugging the server when you see this problem, we're probably not going to
> get to the bottom of the issue. It looks like the ISAPI has problems with
> certain requests, and ideally, if you can formulate the request such that
> you can send it at any time and the ISAPI will just hang -- that would be
> enough detail for us to diagnose.
>
> You should not need to restart IIS6 to work around -- just need to recycle
> the application pool containing the affected page, and it should be good to
> go.
>
> --
> //David
> IIS
> http://blogs.msdn.com/David.Wang
> This posting is provided "AS IS" with no warranties, and confers no rights.
> //
> "John Lopez" <John Lopez@discussions.microsoft.com> wrote in message
> news:F0E34EA3-DC80-4792-8A33-AD4A6333CDB5@microsoft.com...
> I have recently transfered our production site from a machine running
> Windows
> 2000 Server to one running Windows 2003 Server. I have a function wrapper
> for
> making calls to return an XML stream in VBScript:
>
> sub openSQLXML(oXMLDoc, sql)
> 'Given an XMLDomDocument (or a stream) and a sql statement,
> 'this function returns the query as XML to the document.
>
> dim oCommand
> set oCommand = Server.CreateObject("ADODB.Command")
> oCommand.ActiveConnection = oConn
> oCommand.CommandType = adCmdText
> oCommand.CommandText = wrapSQLXML(sql)
> oCommand.Dialect = XML_DIALECT
> oCommand.Properties("Output Stream").Value = oXMLDoc
> oCommand.Execute , , adExecuteStream
> end sub
>
> wrapSQLXML is:
>
> Const XML_SP_QUERY_START = "<Root
> xmlns:sql='urn:schemas-microsoft-com:xml-sql'><sql:query>"
> Const XML_SP_QUERY_END = "</sql:query></Root>"
> Const XML_DIALECT = "{5D531CB2-E6ED-11D2-B252-00C04F681B71}"
> function wrapSQLXML(sql)
> wrapSQLXML = XML_SP_QUERY_START & server.HTMLEncode(sql) & XML_SP_QUERY_END
> end function
>
>
> In the instance that I am having problems with, the call is to a stored
> procedure that looks like this:
>
> CREATE PROCEDURE [dbo].[ap_getSecurityEntitiesByOrgXML]
> @retrieveOrg INTEGER,
> @adminLevel INTEGER,
> @adminLocation INTEGER
> as
> SET NOCOUNT ON
> SELECT 1 as Tag, NULL as Parent,
> lkEntityID as [Entity!1!EntityID],
> vcUserNameLast + ', ' + vcUserNameFirst as [Entity!1!EntityName],
> fkEntityStatus as [Entity!1!EntityStatusID],
> CASE WHEN (@adminLevel = 9 and fkEntityStatus<> 10) or @adminLevel=10 or
> @adminLevel=7 THEN 1
> WHEN @adminLevel = 6
> AND @adminLocation = tblSecEntity.SecOrgLocationID
> AND tblSecEntity.fkEntityStatus <> 9 THEN 1
> ELSE 0
> END as [Entity!1!CanEdit]
> FROM tblSecEntity
> WHERE SecOrgID = @retrieveOrg AND vcUserNameLast IS NOT NULL AND
> vcUserNameFirst IS NOT NULL
> ORDER BY [Entity!1!EntityName]
> FOR XML EXPLICIT
>
> GO
>
> The problem is that all of this worked (and continues to work) fine under
> Windows 2000 Server. Under Windows 2003 Server it works, most of the time.
> However, about once a day (sometimes more, sometimes less) the page that
> uses
> all of this fails to load. Once it fails, any further calls to this page (or
> any other pages that use SQLXML) will fail. When this happens I can go in
> and
> attempt to debug the code and I will get back a failure on the line
> "oCommand.Execute , , adExecuteSTream" with a timeout error. Thinking that
> perhaps something deadlocked on the SQL side, I restarted SQL Server which
> had no effect.
>
> The only way I can get the pages to work again is to restart IIS 6.0. The
> workload on the new server is no more than what ran on the old server and
> there are no other errors occuring within the system that I am aware of. Is
> there something different about IIS 6.0 and its interactions with SQLXML
> that
> I should know about?
>
>
>



Relevant Pages

  • Re: IIS 6 features
    ... of your web *server*. ... In the case where a web application pool is failing ... You can configure how and when Rapid Fail Protection kicks in. ... interested in getting to know IIS 6, then I suggest reading the IIS Res Kit: ...
    (Focus-Microsoft)
  • RE: OWA HTTP 500 Error for some users
    ... Known issues that cause the "HTTP 500 internal server error" error message ... Right-click Application Pools, point to New and select Application Pool. ... Outlook Web Access to Connect to Your Microsoft Exchange Server 2003 Mailbox ... Open "Internet Information Service (IIS) Manager" console, ...
    (microsoft.public.windows.server.sbs)
  • Re: IIS 6.0 and Permissions?
    ... Read the F1-help in IIS Manager UI on how to configure Application Pool ... I do not think you've configured the server properly yet. ... I suspect it has to do with permissions. ...
    (microsoft.public.inetserver.iis.security)
  • Re: Automatic Password Reset
    ... Create a new application pool on the IIS Server ... Assign the newly create application pool to the virtual website. ... Smart Cards Company confidential and proprietary information ...
    (Security-Basics)
  • Re: IIS 6.0 issue
    ... How about making the applications that run on the server more stable? ... you should not need to re-install IIS6 to fix the issue you ... cause the Application Pool to be disabled? ... All IIS is doing is trying to run your application. ...
    (microsoft.public.inetserver.iis)