mssql-scripter
делает именно то, что вы хотите. Это бесплатный и лицензированный инструмент командной строки MIT от Microsoft для экспорта данных и / или схемы базы данных. Он может генерировать обратно совместимые сценарии для более старых версий SQL Server.
Выходной скрипт можно запустить в SSMS.
Следующая командная строка выводит данные из базы данных в dump_file.sql
в формате, совместимом с SQL Server 2008.
python -m mssqlscripter -S <hostname> -d <databasename> -U <user> -P <password> -f .\dump_file.sql --data-only --target-server-version 2008
Если вы хотите использовать mssqlscripter
из скрипта Python, следующий фрагмент делает то же самое, что и приведенная выше командная строка.
import mssqlscripter.main as scripter
scripter.main(['-S', 'hostname',
'-d', 'databasename',
'-U', 'user',
'-P', 'password',
'-f', r'.\dump_file.sql',
'--data-only',
'--target-server-version', '2008'])
Доступны другие полезные опции, см. Встроенную справку по
python -m mssqlscripter -h