SQL Server创建存储过程提示成功但实际不存在问题排查
存储过程创建成功但未显示的可能原因
以下是几种常见的排查方向:
数据库上下文错误
尽管代码中指定了USE [SA_PSP_OFEK],但可能执行时实际连接的数据库并非该库。可以执行SELECT DB_NAME()确认当前数据库,或者直接在对象资源管理器中检查是否打开了正确的数据库节点。架构匹配问题
代码中明确指定了dbo架构,但如果当前登录用户的默认架构不是dbo,可能存在意外创建到其他架构的情况。可以执行以下查询确认存储过程的位置:SELECT name, SCHEMA_NAME(schema_id) AS schema_name FROM sys.procedures WHERE name = 'test'SSMS过滤规则干扰
对象资源管理器的存储过程列表可能开启了过滤。右键点击"存储过程"节点,选择"筛选器"->"清除筛选器",再刷新列表。权限限制
当前登录账号可能没有查看该存储过程的权限。即使你能创建存储过程,若缺少VIEW DEFINITION权限,也无法在对象资源管理器中看到它。可以执行以下语句赋予权限(需管理员权限):GRANT VIEW DEFINITION ON dbo.test TO [你的登录账号];SSMS缓存未更新
有时单纯刷新无法清除SSMS的缓存,尝试重启SSMS,或者用T-SQL直接查询系统视图确认存储过程是否存在:SELECT * FROM sys.procedures WHERE name = 'test' AND schema_id = SCHEMA_ID('dbo');
内容的提问来源于stack exchange,提问作者Ranel
相关产品推荐
相关产品推荐

