在Management Studio中使用Python自动执行“生成脚本”选项,以从本地SQL Server获取数据并将其保存在.sql文件中

时间:2018-11-09 14:44:00

标签: sql-server scripting ssms

我想使用Python在Management Studio中自动执行“生成脚本”选项,以便可以从存储在本地SQL Server上的表中获取数据并将其保存到.sql文件中。

我想将其保存在SQL文件中,以便以后另一个用户可以访问和验证SSMS上的数据,即使他没有访问本地SQL Server的权限。

谢谢!任何帮助将不胜感激,因为我已经尝试了一段时间。

我尝试使用数据帧从SQL Server提取数据,然后将其写入csv文件。然后,我无法将其存储在csv的.sql文件中。

1 个答案:

答案 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