Awesome! I LOVE THIS QUESTION
Finally we have excuse to dig to the internals
I'm assuming this means that those 2 databases have at one point applied indexing or changes with ONLINE=ON?
This make sense...
But remember that "Online index operations" can include multiple tasks like CREATE/ALTER/DROP INDEX; ALTER TABLE (add or drop UNIQUE or PRIMARY KEY constraints with CLUSTERED index option and alter columns).
am curious if anyone out there knows the solution
For first step, we need to find who/how/which task was executed and used ONLINE which lead to this issue. Meaning we need to find the task which was used ONLINE and block you from using none-Enterprise edition.
Note! For the sake of the discussion I will speak about CREATE INDEX but the same procedure can be applied to other ONLINE tasks, which are logged in the transaction log.
This might be a bit complex and advance, since the information about how we created the index, is not stored in the database tables (metadata) as much as remember since once it was created it has no value/uses (usually, since as we found now it might have a value in this question).
Therefore, we need to pull the information from the transaction log exactly from the same place that the transaction replication takes it from.
For this task we will use the undocumented function fn_dblog
Lets demonstrate it from start to end
----------
I AM GETTING ERROR FROM THE FORUM WHEN POSTING THE ANSWER!
Give me some time and I will find a workaround. Maybe this is too long answer... I will try to post the rest in separate message