import os
import datetime
import pyodbc
import subprocess

# 数据库连接信息
server = 'your_server'
database = 'your_database'
username = 'your_username'
password = 'your_password'

# 备份文件保存路径
backup_folder = 'your_backup_folder'

# 获取最新的备份文件
backup_files = [f for f in os.listdir(backup_folder) if f.endswith('.bak')]
latest_backup_file = max(backup_files, key=lambda x: os.path.getctime(os.path.join(backup_folder, x)))

# 连接数据库
conn_str = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};UID={username};PWD={password}'
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()

# 执行恢复命令
restore_cmd = f"sqlcmd -S {server} -U {username} -P {password} -Q \"RESTORE DATABASE {database} FROM DISK='{os.path.join(backup_folder, latest_backup_file)}'\""
subprocess.call(restore_cmd, shell=True)

# 关闭数据库连接
cursor.close()
cnxn.close()
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐