我想使用Python在Management Studio中自动执行“生成脚本”选项,以便可以从存储在本地SQL Server上的表中获取数据并将其保存到.sql
文件中。
我想将其保存在SQL文件中,以便以后另一个用户可以访问和验证SSMS上的数据,即使他没有访问本地SQL Server的权限。
谢谢!任何帮助将不胜感激,因为我已经尝试了一段时间。
我尝试使用数据帧从SQL Server提取数据,然后将其写入csv文件。然后,我无法将其存储在csv的.sql
文件中。
答案 0 :(得分:0)
mssql-scripter
完全可以满足您的需求。这是Microsoft提供的免费的MIT许可命令行工具,用于导出数据库的数据和/或架构。它可以生成与旧版SQL Server的向后兼容脚本。
输出脚本可以在SSMS中运行。
以下命令行以SQL Server 2008兼容格式将数据从数据库转储到dump_file.sql
。
python -m mssqlscripter -S <hostname> -d <databasename> -U <user> -P <password> -f .\dump_file.sql --data-only --target-server-version 2008
如果您想在python脚本中使用mssqlscripter
,则以下代码段与上述命令行具有相同的作用。
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