无法在事务内执行备份或还原操作

我正在使用PyODBC通过以下代码备份数据库:

SQL_command = """

BACKUP DATABASE [MyDatabase]

TO DISK = N'D:\MSSQL\BACKUP\MyDatabase_20141212.bak' WITH

NOFORMAT

, NOINIT

, NAME = N'MyDatabase_20141212'

, SKIP

, REWIND

, NOUNLOAD

, STATS = 10

"""

conn.cursor.execute(SQL_command)

conn.cursor.commit()

上面的代码给我一个错误消息:

pyodbc.ProgrammingError:

(“ 42000”,“ [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL

Server]无法在事务内执行备份或还原操作。(3021)(SQLExecDirectW);

[42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server] BACKUP

DATABASE异常终止。(3013)’)

我试图在SQL Server中运行SQL代码,并且工作正常。

我可以知道我的代码有什么问题吗?

非常感谢。

回答:

您的错误说

无法在事务内执行备份或还原操作。

默认情况下,事务在pyodbc中启动,那么如何在不创建事务的情况下执行查询?只需打开自动提交:

conn.autocommit = true

// do stuff

conn.autocommit = false

在pyodbc

FAQ中有关于此的条目。

以上是 无法在事务内执行备份或还原操作 的全部内容, 来源链接: utcz.com/qa/414541.html

回到顶部