Форум сайта python.su
код отрабатывает без ошибок, база поднимается, но после завершения скрипта база висит в состоянии “восстановление из копии”, как сделать что-б база приходила в нормальное состояние босле рестора?
py 2.6, win, MSSQL 2000
import pyodbc
try:
connection = pyodbc.connect(driver='SQL Server Native Client 10.0',host=nHost,database='',trusted_connection='yes',autocommit=True)
cursor = connection.cursor()
qry = r"""RESTORE DATABASE %s
FROM DISK = '%s'
WITH RECOVERY,
MOVE 'w7_Data' TO 'C:\MSSQL\v7t_tss.mdf',
MOVE 'w7_Log' TO 'C:\MSSQL\v7t_tss_log.ldf',
REPLACE
""" % (nBase,nFileName)
print qry
cursor.execute(qry)
connection.close()
print 'restore ok'
return ''
except Exception as e:
print e
return str(e)
Офлайн
Приветствую, нашли решение по данному вопросу?
Офлайн
Решил проблему добавлением в запрос параметра RECOVERY, “RESTORE DATABASE test FROM DISK = ‘C:\\backup\\test.bak’ WITH REPLACE, RECOVERY;”. Это конечно странно, так как в запросе автора параметр RECOVERY есть, но у меня mssql2005, может в этом дело.
Офлайн
Сегодня прогнал скрипт еще раз - такая же проблема. Вспомнил, что вчера добавлял после запроса time.sleep(5) - добавил снова, после чего все заработало.
Офлайн