我从生产中恢复了我的开发数据库,并且我的开发环境中需要的存储过程在我的生产数据库中不存在。 Ii可以使用命令将SQL Server存储过程导入到SQL Server中。大约有88个文件,因为每个程序都在不同的文本文件中。在SQL Server中导入现有的存储过程
TIA! 克里斯
我从生产中恢复了我的开发数据库,并且我的开发环境中需要的存储过程在我的生产数据库中不存在。 Ii可以使用命令将SQL Server存储过程导入到SQL Server中。大约有88个文件,因为每个程序都在不同的文本文件中。在SQL Server中导入现有的存储过程
TIA! 克里斯
哎呀,你没生成脚本的痛苦的方式。您应该通过右键单击SSMS中的数据库,然后选择“任务” - >“生成脚本”,为所有过程创建单个脚本。
但是,如果你不想再经历这个过程中,文件夹中打开一个命令外壳,并记住那些老批处理文件天:
for %f in (*.sql) do sqlcmd -i %f
这应该做的伎俩! 如果需要,您可以将其他参数添加到sqlcmd(即登录,密码,服务器名称等)。要查看交换机列表,只需执行sqlcmd -h
。
右击开发数据库命中生成SQL脚本,然后只能选择存储precedures。如果你需要额外的过滤,你甚至可以选择你不想要的存储过程。
然后在开发上运行该查询。
我不知道是否有一个命令行的方式来做到这一点,但如果你让他们都在文本文件中,它不应该是很难在所有写急速下降和肮脏的应用程序,只需通过所有循环文件,并使用您选择的任何语言在生产服务器上运行创建语句。
如果像我一样,你必须应对的文件夹层次结构中的一堆SQL文件,这一个邮轮将它们组合成所谓的单个文件out.sql您可以在SQL Management Studio中容易执行。它只包含以.sql结尾的文件,并忽略诸如* .sqlsettings之类的文件。
从.sql文件层次结构的根文件夹运行它。确保你在out.sql中没有任何价值,因为它将被替换。
del out.sql && for /f %f in ('dir /b /s ^| findstr /E \.sql') do type %f >> out.sql
伟大的工具...不是真的我在找什么。谢谢您的帮助 – Chris 2008-12-18 18:22:58