Saturday, 24 October 2015

Error 503 Service Unavailable

Error 503 Service Unavailable

A lot of our applications were hosted on IIS6 Server and as a part of upgrading all our applications we decided to migrate all the existing applications which are running on IIS6 should be migrated to IIS7 or later versions. We started doing the stuff from the scratch and things started going ahead pretty nicely. But then later on post migrating our applications from IIS6 to IIS7 we started getting the error "Error 503 Service Unavailable" upon opening the website. Post some research we found that this happens due to a setting related to the application pool identity It happens due to Start Automatically property set to false.

Error 503 Service Unavailable

Sometimes, this just happens when rapid fail back is enabled in the application pool. This feature of IIS 6.0 is available only when IIS is running in worker process isolation mode.When an application pool detects that too many worker processes assigned to it have become unhealthy in a given period of time, rapid-fail protection is initiated. The communication channel with the World Wide Web Publishing Service (WWW service) is dropped. The WWW service detects the loss of communication and initiates the appropriate actions, typically sending an error or warning to the event log and then restarting the worker process. The error can be suppressed by disabling the same.

Error 503 Service Unavailable

HTTP 503 errors are returned more often in IIS 6.0 than in earlier versions of IIS. Typically, the HTTP 503-Service Unavailable error is returned directly from HTTP.sys when there is a problem with getting the request up to the worker process. However, this error can occur for a variety of reasons, as listed in Table 11.11   HTTP 503 Errors from HTTP.sys.
HTTP 503 Errors from HTTP.sys
Reason StringText in HTTP.sys Error LogCause(s) of Error
Service unavailable.
IIS cannot start any new worker processes because of limited system resources or because starting a new worker process would exceed the DemandStartThresholdproperty.
Bandwidth throttling is enabled, but the filter addition fails.
The control channel or internal configuration group for the URL is inactive.
The send for a request that was serviced from the cache failed (typically under low memory conditions).
Too many users.
The connection limit for the site or server as a whole has been reached.
Application taken offline.
The application pool has been put into Rapid Fail Protection and has been disabled automatically.
Application request queue full.
The application pools request queue has been exceeded and the request cannot be queued.
Administrator has taken application offline.
The administrator has stopped the application pool.
Application automatically shut down due to administrator policy.
The application pool has been shut down because it exceeded its CPU usage limit.
Request timed out in app pool queue.
The application pool is too busy to handle the request. The request has, therefore, timed out in the queue and has been returned with a 503 error.

So We have seen, by following these simple steps we can get rid of Error 503 Service Unavailable error.

Fixing Orphaned Users Post SQL Database Migration

Fixing Orphaned Users

Its very common that few of your SQL Users become orphaned (Orphaned users are the users that are not able to connect to the database after you migrate your SQL Server Database from one SQL Server to another SQL Server). Today we will discuss how to fix orphaned users after we have migrated the sql database

The quickiest way to fix this is delete the user from the restored database and then recreate the user and corresponding permission to the database.

If the user owns a schema in the database, you won’t be able to delete the user. Then you can use the special stored procedure sp_change_users_login 'report'. This will give you a list of all the orphaned users in the database.

If you already have a login id and password for this sqlid, fix it by doing:
EXEC sp_change_users_login 'Auto_Fix', 'sqlid'
If you want to create a new login id and password for this sqlid, fix it by doing:
EXEC sp_change_users_login 'Auto_Fix', 'sqlid', 'login', 'password'

This is the quickest way of fixing orphaned users.