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()
03-25
8616
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
12-09
614
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)