Sql Server 系统存储过程分析 1 - 目录存储过程
1. sp_databases
定 义:返回在 Sql Server 实例中的数据库或可以 通过数据库网关访问的数据库
结果集:DataBase_Name、DataBase_Size、ReMarks(对于数据库引擎,此字段始终返回 NULL)
备注:需要 create database 或 alter any database 或 view any definition 权限,并且必须有该数据库的访问权。 通俗易懂,且适合大多数情况下,需要执行当前存储过程的用户为管理员权限
2. sp_tables
定义:返回可在当前环境中查询的对象列表。也就是说,返回任何能够在 FROM 子句中出现的对象(不包括同义词对象)。
返回当前数据库的 数据表或视图
结果集:table_qualifier、table_owner(dbo or sys or information_schema)、table_name、table_type(table or view)、remarks
备注:执行用户需要有当前数据库的 select 权限,并且,用户只能查询 sp_tables 中的 table_owner 为 dbo 的表
3. sp_statistics
定义:返回针对指定的表或索引视图的所有索引和统计信息的列表,用于观察表的索引情况,很有用
格式:sp_statistics 'table1'
结果集:Type 0 = 数据表、1 = 聚集索引、3 = 非聚集索引
4. sp_server_info
定义:返回 SQL Server、数据库网关或基础数据源的属性名称和匹配值的列表。
备注:查看 Sql Server一些基本信息,不是太有用
5. sp_columns
定义:返回当前环境中可查询的指定表或视图的列信息
备注:可以比较方便的得到表的字段详细信息,如:字段名称、长度、类型、默认值 等信息
6. sp_special_columns
定义:返回一组唯一标识表中某个行的最优列。如果事务更新了行中的某个值,则还将返回自动更新的列
其实就是返回表中的聚集索引所在列
备注:查看表中聚集索引很便捷的方法
7. sp_sproc_columns
定义:为当前环境中的单个存储过程或用户定义函数返回列信息。
备注:查看 存储过程的参数 的一个好方法
8. sp_table_privileges
定义:返回指定的一个或多个表的表权限的列表,即 返回当前用户的 对该表的 INSERT、DELETE、UPDATE、SELECT、REFERENCES 权限,并且必须有该数据库的访问权。
备注:REFERENCES 为给该表创建外键的权限
9. sp_column_privileges
定义:返回当前环境中单个表的列特权信息。
备注:不是太实用,不过多的介绍了
10. sp_stored_procedures
定义:返回当前环境中的存储过程列表
备注:不是太常用,不过多的介绍
11. sp_pkeys
定义:返回当前表中的主键信息
12. sp_fkeys
定义:返回当前表中的外键信息
以上就是 sp_databases 、sp_tables、sp_statistics、sp_server_info、sp_columns、sp_special_columns、sp_sproc_columns、sp_table_privileges、sp_column_privileges、sp_stored_procedures、sp_pkeys、sp_fkeys 的相关信息,希望能对你有所帮助
寻自己 - 2011/04/18 17:35 - .Net,C#,Asp.Net - 首发博客园
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异