# kill_backup_verify.ps1 — 杀卡在 integrity_check 的 backup python, 快速验证 .bak 可读 $bakProc = Get-CimInstance Win32_Process -Filter "Name='python.exe'" | Where-Object { $_.CommandLine -like '*backup_db*' } if ($bakProc) { Write-Output ("kill backup python pid={0}" -f $bakProc.ProcessId) Stop-Process -Id $bakProc.ProcessId -Force -ErrorAction SilentlyContinue Start-Sleep 3 } else { Write-Output "backup python 已不在" } $code = @" import sqlite3, os BAK = r'C:\sanguo_vnpy_v2\data\quant_trading.db.bak_20260722' print('bak size=%.2f GB' % (os.path.getsize(BAK)/1024**3)) c = sqlite3.connect(BAK, timeout=30) tabs = [r[0] for r in c.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")] print('tables:', tabs) print('backtest_stats:', c.execute('SELECT COUNT(*) FROM backtest_stats').fetchone()[0]) print('bs_adjust_factor:', c.execute('SELECT COUNT(*) FROM bs_adjust_factor').fetchone()[0]) print('bs_index_constituent:', c.execute('SELECT COUNT(*) FROM bs_index_constituent').fetchone()[0]) c.close() print('BAK READABLE OK') "@ $code | & 'C:\Python310\python.exe' -X utf8 -