Seen this before?
On a page, you set up a html/text module = everything ok.
In the module settings you choose a container = error!
The page wil not show anything. Bad luck - no way to go back, unless you begin tampering with backups and this takes millions of hours....
But here is a possible solution:
Log on as Host, go to Sql tab.
First we have to find the TabID of the bad page:
SELECT * FROM [YourDbName].[YourDbOwner].[Tabs] WHERE TabName='NameOfTheBadPage'
If you get more than one result, you have to choose the right PortalID. Write down the TabID (Lets say it is 999).
Then we can find the TabModuleId with this statement:
SELECT * FROM [YourDbName].[YourDbOwner].[TabModules] WHERE TabID=999
This gives you a list of all modules created on you page, the columns with creation - or modifiedby - dates can help you finding the module which produce an error. Write down the TabModuleID, this is a unique number (Lets say it is 888). If you look at the column ContainerSrc it will contain the containername with a L for Local og G for Global containers.
The trick is to set this to NULL, so that the Html/text module get the portal standard container instead.
UPDATE [YourDbName].[YourDbOwner].[TabModules] SET ContainerSrc=CAST(NULL AS nvarchar(200)) WHERE TabModuleID=888
If you wants to see the result, execute this:
SELECT * FROM [YourDbName].[YourDbOwner].[TabModules] WHERE TabModuleID=888
and look under ContainerSrc.
Last, but not least, go to Host Settings and restart the application (or else it wil not work).
This was done on DotNetNuke version 5.4 and 5.6 systems.