Applications that call this function must first ensure that the user has either synchronized the database or created a reliable
backup copy of the database. It is important to have a reliable backup of the database because ULChangeEncryptionKey is an
operation that must run to completion. When the database encryption key is changed, every row in the database is first decrypted
with the old key and then encrypted with the new key and rewritten. This operation is not recoverable. If the encryption change
operation does not complete, the database is left in an invalid state and you cannot access it again.