在SQLServerManagementStudio中,我有一个包含200个存储过程的数据库。我正在将每个存储过程导出为脚本,方法是右键单击->脚本存储过程->CREATE To->文件
是否可以使用powershell脚本或其他任何东西同时导出所有过程?
在SSMS:中使用生成脚本工具
- 在对象资源管理器中右键单击数据库
- 任务->生成脚本
- 如果给定";教程";单击"下一步">
- 选择";选择特定的数据库对象";并勾选";存储过程";。单击"下一步">
- 选择导出方法。很可能在这里你想要";另存为脚本文件";用";每个对象一个脚本文件";选定。请确保选择导出位置
- 根据需要单击"下一步"one_answers"完成"按钮
如果您使用的是SQL Server Management Studio(SSMS(,请执行以下步骤。
- 打开SSMS并连接并打开数据库列表
- 右键单击存储proc所在的数据库,这将打开con菜单
- 转到";任务
- 选择";生成脚本">
- 选择特定对象,在您的情况下,选择";"存储过程";(您可以选择全部或根据需要选择(
- 然后按";下一个">
- 在";设置脚本选项";表单,选择选项;如果您希望所有选定的proc都在一个文件中,请选择要生成文件的目录
- 按下";下一个">
- 在";摘要";成形压力机";下一个">
- 在";保存或发布脚本"冲压完成
完成。
在步骤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