Yes, I did it as dbo.owner and had no errors on upgrade.
I executed your new script and now the error is this:
System.Data.SqlClient.SqlException: Violation of UNIQUE KEY constraint 'IX_Permission'. Cannot insert duplicate key in object 'Permission'. Violation of UNIQUE KEY constraint 'IX_Permission'. Cannot insert duplicate key in object 'Permission'. The statement has been terminated. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) DECLARE @ModuleDefID int SELECT @ModuleDefID = ModuleDefID FROM ModuleDefinitions WHERE FriendlyName = 'Forum' INSERT INTO Permission(PermissionCode, ModuleDefID, PermissionKey, PermissionName) VALUES('FORUM_MODULE',@ModuleDefID,'FORUMADMIN','Forum Administrator') INSERT INTO Permission(PermissionCode, ModuleDefID, PermissionKey, PermissionName) VALUES('FORUM_MODULE',@ModuleDefID,'FORUMGLBMOD','Global Moderator')