Использование Python для автоматизации «Создать сценарии» в Management Studio для получения данных с локального SQL Server и сохранения их в файле .sql - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу использовать Python для автоматизации опции «Генерировать сценарии» в Management Studio, чтобы я мог получать данные из таблиц, которые хранятся на локальном SQL Server, и сохранять их в файле .sql.

Я хочу сохранить его в файле SQL, чтобы впоследствии другой пользователь мог получить доступ и проверить данные в SSMS, даже если у него нет доступа к локальному SQL Server.

Спасибо! Буду признателен за любую помощь, так как я пытался это в течение некоторого времени сейчас.

Я попытался использовать фреймы данных для извлечения данных из SQL Server, а затем записать их в CSV-файл. Тогда я не могу сохранить его в .sql файле из CSV.

1 Ответ

0 голосов
/ 28 февраля 2019

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
...