Ich verwende eine ODBC-Verbindung, um eine Datenbank zu sichern. dies ist mein Code:So sichern Sie die Datenbank im Autocommit-Modus aus
UPDATE [ATIDGEN] SET [LASTID] = '25' WHERE [TABLEID] = 'ATLOGIN';
//success
::SQLEndTran(SQL_HANDLE_DBC, m_hdbc, SQL_COMMIT);
//success
BACKUP DATABASE [ArazDB2] TO DISK = 'D:\Amin88\Total\BKUP-13950621.BAK' WITH INIT,NOSKIP
//state 42000, Cannot perform a backup or restore operation within a transaction.
Wenn ich den Befehl UPDATE oben entfernen, Backup SQL_SUCCESS_WITH_INFO und SQL-Server-Logs melden Sie dies: // BACKUP konnte den Befehl BACKUP DATABASE ArazDB2 abzuschließen. Überprüfen Sie das Backup-Anwendungsprotokoll auf eine detaillierte Nachricht, aber die Backup-Datei wird erstellt !. 1- Nach dem Update, warum Sql-Server in einer Transaktion ist? Ich habe explizit SQLEndTran aufgerufen. 2- ohne Update, Warum meldet SQL-Server-Protokoll Sicherungsfehler, aber die Sicherungsdatei erstellt? Kann mir jemand helfen?
Überprüfen Sie das SQL-Protokoll und den Sicherungsverlauf, um die Details des Fehlers zu erfahren. Können Sie die Details des Fehlers posten? –
@ M.Hassan. sql server managt studio/management/sql server logs/Aktuelle zeigen genau diese nachricht. Das einzige Detail, von dem ich weiß, ist das zurückgegebene SQLGetDiagRec: state 42000, kann eine Sicherung oder Wiederherstellung innerhalb einer Transaktion nicht ausführen –
Was ist das Client-Tool/Anwendung, die Sie mit ODBC-Verbindung verwenden –