Hello,
We were performing a test DNN upgrade to 7.4.2 on a cloned copy of a DNN installation (7.0.5) and during the upgrade I received two error messages in the upgrade wizard progress window.
First Error Message:
25% ERROR occured - System.Data.SqlClient.SqlException (0x80131904): Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. The statement has been terminated. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:c8527108-2c27-4029-809e-9d08273ec61d Error Number:512,State:1,Class:16 UPDATE dbo.Folders SET MappedPath = FolderPath
After receiving the error message I refreshed the page and it immediately re-started the upgrade wizard again. This time it showed the upgrade was starting from 7.1.0 to 7.4.2. I entered my credentials and it began the upgrade again.
Second Error Message:
26% ERROR occured - System.Data.SqlClient.SqlException (0x80131904): Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:55c519ff-1782-4cf0-b17d-89e43a62d1e3 Error Number:512,State:1,Class:16 UPDATE dbo.[FolderPermission] SET RoleID = Null WHERE UserID IS Not Null AND RoleID Is Not Null; System.Data.SqlClient.SqlException (0x80131904): The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.FolderPermission' and the index name 'IX_FolderPermission_Roles'. The duplicate key value is (-1, 30, 5). The statement has been terminated. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script) ClientConnectionId:55c519ff-1782-4cf0-b17d-89e43a62d1e3 Error Number:1505,State:1,Class:16 CREATE UNIQUE NONCLUSTERED INDEX IX_FolderPermission_Roles ON dbo.[FolderPermission] (RoleID, FolderID, PermissionID) INCLUDE (AllowAccess) WHERE RoleID IS NOT Null
After receiving the second error message I, again, refreshed the page and it
immediately re-started the upgrade wizard. This time it showed the
upgrade was starting from 7.2.2 to 7.4.2. I entered my credentials and it began the upgrade again.
This time the upgrade successfully completed and I was able to view the website.
Now, I know the errors above are significant, but I'm unsure how to prevent them from occurring if I where to perform the upgrade again from 7.0.5 to 7.4.4. Any suggestions?
Thanks