我从生产环境中恢复了我的开发数据库,但我需要在开发环境中使用的存储过程在生产数据库中不存在。请问是否有命令可以将开发环境的存储过程导入到SQL Server中?这大约涉及88个文件,因为每个存储过程都在不同的文本文件中。
TIA! Chris
我从生产环境中恢复了我的开发数据库,但我需要在开发环境中使用的存储过程在生产数据库中不存在。请问是否有命令可以将开发环境的存储过程导入到SQL Server中?这大约涉及88个文件,因为每个存储过程都在不同的文本文件中。
TIA! Chris
哎呀,你使用了一种麻烦的方式生成脚本。你应该通过在 SSMS 中右键单击数据库,选择“任务”->“生成脚本”,创建一个包含所有存储过程的单个脚本。
但是,如果你不想再次执行那个过程,可以在文件夹中打开 cmd shell 并回忆那些旧的批处理文件的日子:
for %f in (*.sql) do sqlcmd -i %f
这应该就可以了!如果需要,您还可以添加其他参数到sqlcmd中(例如登录、密码、服务器名称等)。要查看开关列表,只需执行 sqlcmd -h
命令即可。
del out.sql && for /f %f in ('dir /b /s ^| findstr /E \.sql') do type %f >> out.sql
在开发数据库上右键单击,点击生成SQL脚本,然后仅选择存储过程。如果您需要额外的筛选,甚至可以选择您不想要的存储过程。
然后只需在开发环境中运行该查询即可。
我不知道是否有命令行的方式来做到这一点,但如果你把它们都放在文本文件中,编写一个快速而简单的应用程序只需要循环遍历所有文件,并使用你选择的任何语言在生产服务器上运行创建语句,这应该不难。