我维护的数据库系统广泛使用存储过程。在数据库中执行的大多数的普通任务是专门由SQL Server 2000和SQL Server 2005通过存储过程来处理的。经常可以通过简单编辑SQL Server中的存储过程来使得数据库系统发生全局性更改。然而,有时你需要一次性修改全部的存储过程,这就像做外科手术一样,需要尽可能地完美。
当然,这里假定你不使用Visual Studio或其它的一些IDE来完成这种工作,这些IDE自然会节省很大量的苦差。 这是我修改SQL Server中一组存储过程的最基本的方法: 1.生成一个SQL脚本,在数据库中创建所有相关的存储过程。确保此脚本也执行了任何所需的……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。
翻译
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。