开发者社区 问答 正文

python怎样实现sqlserver备份?报错

有一个应用,需要实现sqlserver 2000备份和恢复,使用pymssql,和pyodbc均无法备份,请求帮助
pymssql代码及报错如下

>>> import pymssql >>> con=pymssql.connect(host='.',user='netcafe',password='123456',database='mast er') >>> cur=con.cursor() >>> cur.execute(r"backup database local to disk='d:\a.bak'") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pymssql.pyx", line 465, in pymssql.Cursor.execute (pymssql.c:7190) pymssql.OperationalError: (3021, 'Cannot perform a backup or restore operation w ithin a transaction.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n') >>>



使用pyodbc 会出现 backup无法在事务中执行的提示如下

>>> import pyodbc
>>> con=pyodbc.connect('DRIVER={SQL Server};SERVER=.;DATABASE=master;UID=netcafe
;PWD=123456')
>>> cur=con.cursor()
>>> cur.execute('r"backup database local to disk='d:\a.bak'")
  File "<stdin>", line 1
    cur.execute('r"backup database local to disk='d:\a.bak'")
                                                  ^
SyntaxError: invalid syntax
>>> cur.execute(r"backup database local to disk='d:\a.bak'")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][
SQL Server]\xb2\xbb\xc4\xdc\xd4\xda\xca\xc2\xce\xf1\xc4\xda\xb2\xbf\xd6\xb4\xd0\
xd0\xb1\xb8\xb7\xdd\xbb\xf2\xbb\xb9\xd4\xad\xb2\xd9\xd7\xf7\xa1\xa3 (3021) (SQLE
xecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]BACKUP DATAB
ASE \xb2\xd9\xd7\xf7\xd2\xec\xb3\xa3\xd6\xd5\xd6\xb9\xa1\xa3 (3013)')

使用 _mssql依旧出现和使用pymssql一样的提示

求助

展开
收起
爱吃鱼的程序员 2020-06-14 17:43:24 1138 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    con.autocommit(True)
    cur=con.cursor()

    cur.execute(sql)

    con.autocommit(False)


    我也遇到了这个问题。解决办法就是这个,运行没问题。

    参考来源:https://stackoverflow.com/questions/9918129/how-can-i-create-a-database-using-pymssql

    2020-06-14 17:43:42
    赞同 展开评论