sql-server - 在 Management Studio 中使用 Python 自动化 "Generate Scripts"选项从本地 SQL Server 获取数据并将其保存在 .sql 文件中

标签 sql-server scripting ssms

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

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

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

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

最佳答案

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

关于sql-server - 在 Management Studio 中使用 Python 自动化 "Generate Scripts"选项从本地 SQL Server 获取数据并将其保存在 .sql 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53227920/

相关文章:

SQL 服务器 : Sum over a field changed after adding a LEFT JOIN

shell - sudo whoami vs sudo echo `whoami`

javascript - jscript - 获取目录中的文件列表

sql-server - SSMS 18.1 在启动时抛出错误,缺少 UI 元素

sql - SSIS 中的条件拆分

VM中的SQL脚本需要很长时间才能执行

SQL服务器日志: "An invalid floating point operation occurred" - even though input is within range

bash - shell脚本: running cmd that was passed into a function

sql-server - 如何将下拉列表中的 SSMS 连接复制到新计算机?

sql-server-2008 - 获取 SQL Server 2008 Management Studio 图标