批量编辑SQL Server存储过程

日期: 2009-08-13 作者:Serdar Yegulalp翻译:张峰 来源:TechTarget中国 英文

我维护的数据库系统广泛使用存储过程。在数据库中执行的大多数的普通任务是专门由SQL Server 2000和SQL Server 2005通过存储过程来处理的。经常可以通过简单编辑SQL Server中的存储过程来使得数据库系统发生全局性更改。然而,有时你需要一次性修改全部的存储过程,这就像做外科手术一样,需要尽可能地完美。

当然,这里假定你不使用Visual Studio或其它的一些IDE来完成这种工作,这些IDE自然会节省很大量的苦差。   这是我修改SQL Server中一组存储过程的最基本的方法:   1.生成一个SQL脚本,在数据库中创建所有相关的存储过程。确保此脚本也执行了任何所需的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

我维护的数据库系统广泛使用存储过程。在数据库中执行的大多数的普通任务是专门由SQL Server 2000和SQL Server 2005通过存储过程来处理的。经常可以通过简单编辑SQL Server中的存储过程来使得数据库系统发生全局性更改。然而,有时你需要一次性修改全部的存储过程,这就像做外科手术一样,需要尽可能地完美。当然,这里假定你不使用Visual Studio或其它的一些IDE来完成这种工作,这些IDE自然会节省很大量的苦差。

  这是我修改SQL Server中一组存储过程的最基本的方法:

  1.生成一个SQL脚本,在数据库中创建所有相关的存储过程。确保此脚本也执行了任何所需的DROP FUNCTION命令,以使得现存的全部存储过程复本都被删除。实现这个的最简便的方法是仅需使用SQL Server 2000 数据库企业管理器中的“Generate SQL Script”上下文菜单选项。在SQL Server 2005数据库中,则是“Tasks”上下文菜单选项中的“Generate Scripts”选项。

  注意,SQL Server 2005脚本向导看起来与老版本有很大差别,且如果你正运行着SQL Server 2005 SP1的话,会使得你在这种问题上限入一个可能引发重复操作的麻烦。在“Script Behavior”菜单下,仅有“Generate DROP statements only”与“Generate CREATE statements only”。换言之,没有选项可在同一脚本中同时产生DROP和CREATE语句,因此现有的同名存储过程可以被优先删除。许多人抱怨这个,就我所知,它已集

  成在SQL Server 2005 SP2中。如果SQL Server 2005 SP2的脚本向导的复杂性让你头疼,你并不是一个人。Bill Graziano已经制作了一个叫作Scriptio的第三方小工具来解决一些这样的问题。它在SQL Server 2000中也运行良好。

  2. 备份一下这个新脚本。这很重要,不要在原文件上来操作。

  3.用你最喜欢的文本编辑器打开此脚本。查找与替换的工作越复杂,你越希望用一个有正则表达式的编辑器。在大多情况下,甚至像Notepad2这样简单的编辑器都可以胜任这个工作。我强烈推荐使用编辑器来编辑存储过程,它可以高亮显示T-SQL语法。这样,如果你犯了语法错误,这些错误会在你偿试重新导入此脚本之前被标注出来。

  4.在这个新的,编辑过的脚本中向后合并,需注意存储过程函数中的任何错误。如果有错误发生,你通常可以使用你创建的备份脚本将存储过程恢复到它们的原始状态。结束的时候,我要说明一下关于像数据库版本之类的东西,因为它们在不同地方可能有很大区别。

作者

Serdar Yegulalp
Serdar Yegulalp

Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。

翻译

张峰
张峰

相关推荐