I would suggest to check your Database manually:
First shut down Zimbra via "zmcontrol stop" and now start the MySQL Server
by "mysql.server start" (as the zimbra user) Now you can check th DB for errors:
The MySQL Root password can be found by
/opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --password=XXXXXXXXXXX
If the check is reporting errors you can repair the reported tables by
zmlocalconfig -s | grep mysql_root_password
check table <for each table reported above and if any fail>
repair table <table name>
The problem might be that your datastore is out of sync with the information stored in the database. So running zmblobchk might also be an option to narrow down the problems.
If you can send /opt/zimbra/log/mysql_error.log via PM I can have a look.