SQLServer2005列出所有存储过程语句

SQLServer2005列出所有存储过程语句
为了找到这些存储过程,你可以花时间在网上搜索,查看一些你不知道的存储过程,也许一两个小时你就会发现你想要的…也许你很幸运地发现其他人在他们的论文中列出了所有的存储过程,并介绍函数和视图。如何使用这些存储过程。
但实际上,您可以在一分钟内列出这些存储过程、函数和视图。这个列表甚至包含了SQL Server中的所有非文档存储过程。
SQL Server 2005实际上保存所有存储过程列表,包括文档、文档,甚至用户定义的列表。所有这些信息都包含在系统表。最简单的方法是用系统的观点,尤其是sys.all_objects观。
你也可以使用sys.procedures目录视图,但我的测试结果表明,这一观点过滤掉一些存储过程。
你也可以使用系统存储过程sp_stored_procedures在当前环境返回存储过程的列表,但此存储过程也限制了存储过程的返回值。
我认为:相比之下,如果你想获得一个存储程序在所有的SQL Server 2005,sys.all_objects推荐系统的使用程序或sp_stored_procedures系统来看,两视图由于一些未知的原因,过滤掉一些内容,造成信息不完全。
存储过程信息存储在各自的用户数据库中的系统表中。SQL Server 2005保存存储过程的唯一标识信息,如存储过程的名称、创建时间、修改时间、是否来自微软等。
如何确保所有用户数据库都可以自动创建这些存储过程
当SQL服务器部署完成后,微软提供的存储过程存储在主数据库中。当您创建一个新数据库时,主数据库将作为模板数据库,因此主数据库中的所有存储过程将自动创建到您构建的数据库中。
如果你想创建一个存储过程,并希望能够自动分发到所有的数据库,你可以在数据库中建立存储过程,然后新创建的数据库中,将自动包含存储过程创建;但对于之前已经存在的数据库,您将需要手动创建每个数据库中的存储过程。
1。列出所有存储过程
下面的代码列出了SQL Server 2005中存在的所有存储过程。
复制代码代码如下所示:
your_database_name_here使用{ };

SELECT * FROM sys.all_objects
在({ } = {类型}型'p'or = 'x'或{类型} = 'pc)
按名称}顺序


如果您已经安装了SQL Server 2005并使用了所有默认设置,您将看到类似的界面
上面的命令是通过类型对象过滤的。从下表中,您可以确定所需对象的类型,然后根据实际情况调整WHERE子句中的类型。
此列表只列出视图、函数和过程。
两。用户定义存储过程
在日常使用中,另一个领域,is_ms_shipped,常被用来过滤记录。此字段用于确定存储过程是由微软发布的。如果微软首次发布,该字段的值是0。如果微软不释放,则该字段的值为1。
在以上T-SQL语句的基础上,你只需要添加一个约束和{ is_ms_shipped } = 0,你可以找到存储过程不是由微软创建,可以创建当您或第三方软件供应商访问数据库。如果你只是想看微软提供的存储过程,把值从0到1。
下面的示例演示如何定义存储过程通过T-SQL代码。
复制代码代码如下所示:
your_database_name_here使用{ };

SELECT * FROM sys.all_objects
在({ } = {类型}型'p'or = 'x'或{类型} = 'pc)
is_ms_shipped }和{ = 0
按名称}顺序;


需要注意的是,该语句的执行结果取决于每个人数据库的情况,得到不同的记录列表。情况不同。执行后,您将看到输出结果类似于下图。
三、总结
从上面的例子中,我们可以看到,用少量的代码,我们可以存储的SQL Server程序列表,方便快捷,你不需要在每个网站搜索这些存储过程,你可以学习一个复杂的脚本,你已经花了很多力气写过,现在你可以用一个单一的存储过程一样。
记住,当使用不能确定源或结果的存储过程时,应该首先在测试系统中进行验证,并且在生产环境中从未使用过任何彻底的测试。
本文只是告诉你所有的方法来获得所有的存储过程在SQL Server 2005中,但它不鼓励你使用任何类型的存储过程,特别是那些没有文档类型。微软曾多次表示,微软不提供任何相关支持所有文档免费存储过程、扩展存储过程、函数、和观点。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部