SharePoint Upgrade failed with following error. "Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding"
I have come across this scenario several times while troubleshooting the cases where Upgrade process fails with the below error logged in the upgrade.log file:
[AddSearchToLinks] [126.96.36.199] [DEBUG] [6/12/2009 10:11:48 PM]: Executing SQL DDL Script.
[SPContentDatabaseSequence] [ERROR] [6/12/2009 10:41:53 PM]: Action 188.8.131.52 of Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence failed.
[SPContentDatabaseSequence] [ERROR] [6/12/2009 10:41:53 PM]: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
[SPContentDatabaseSequence] [ERROR] [6/12/2009 10:41:53 PM]: at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
In the above error, we see that the "Executing SQL DDL Script" has been initiated. If you look at the timestamp, it is 6/12/2009 10:11:48 PM. In the next frame, we see the Timeout error at 6/12/2009 10:41:53 PM. The timeout has happened exactly after 30 minutes (That's the timeout period for the thread in the upgrade process to wait)
When I looked into the SQL server, I could see that there was a blocking SPID.
You can use the Activity Monitor in the SQL management studio or simply query the sys.sysprocesses table in the master database as shown below to see if there is any blocking SPIDs.
select * from sys.sysprocesses
In this particular case, the blocking SPID was coming from a 3rd party Antivirus scanner. After we killed it explicitly, the upgrade continued and completed successfully.
Important Note: The solution above of killing the blocking SPID was allowed in the above specific scenario. This may not be always viable as it depends on what that SPID is doing and whom does it belong. So, in case you see similar issue, it totally depends on your situation and environment how to proceed on it.