将多个存储过程导出到文本文件



在SQLServerManagementStudio中,我有一个包含200个存储过程的数据库。我正在将每个存储过程导出为脚本,方法是右键单击->脚本存储过程->CREATE To->文件

是否可以使用powershell脚本或其他任何东西同时导出所有过程?

在SSMS:中使用生成脚本工具

  1. 在对象资源管理器中右键单击数据库
  2. 任务->生成脚本
  3. 如果给定";教程";单击"下一步">
  4. 选择";选择特定的数据库对象";并勾选";存储过程";。单击"下一步">
  5. 选择导出方法。很可能在这里你想要";另存为脚本文件";用";每个对象一个脚本文件";选定。请确保选择导出位置
  6. 根据需要单击"下一步"one_answers"完成"按钮

如果您使用的是SQL Server Management Studio(SSMS(,请执行以下步骤。

  1. 打开SSMS并连接并打开数据库列表
  2. 右键单击存储proc所在的数据库,这将打开con菜单
  3. 转到";任务
  4. 选择";生成脚本">
  5. 选择特定对象,在您的情况下,选择";"存储过程";(您可以选择全部或根据需要选择(
  6. 然后按";下一个">
  7. 在";设置脚本选项";表单,选择选项;如果您希望所有选定的proc都在一个文件中,请选择要生成文件的目录
  8. 按下";下一个">
  9. 在";摘要";成形压力机";下一个">
  10. 在";保存或发布脚本"冲压完成

完成。

在步骤7中有预先选择。用drop-and-create选项或只创建选项创建每个proc。如果你需要的话,请仔细检查一下。

我开发了一个C#应用程序,可以实现这一点,将所有表、视图、存储过程、函数等脚本化为文本文件(每个对象一个(。这对于定期编写对象脚本,然后在Git存储库中跟踪它们非常有用。从下载DB架构导出工具https://github.com/PNNL-Comp-Mass-Spec/DB-Schema-Export-Tool/releases

自动化命令行示例:

DB_Schema_Export_Tool.exe 
C:Cached_DBSchema 
/Server:Proteinseqs 
/DBList:Manager_Control,Protein_Sequences 
/Sync:"F:ProjectsDatabase_SchemaDMS" 
/Git /Commit 
/L /LogDir:Logs 
/Data:ProteinSeqs_Data_Tables.txt

在Linux上,使用mono DB_Schema_Export_Tool.exe

  • 单声道信息

还有其他可用的命令行开关;请参阅Readme。除了SQL Server之外,该软件还支持Postgres。示例输出文件可在https://github.com/PNNL-Comp-Mass-Spec/DBSchema_DMS/tree/master/DMS_Pipeline

最新更新