① 用VS2003调试项目的时候报 找不到存储过程 'sp_sdidebug'。 但是我用的是sql语句
sp_sdidebug这个扩展存储过程是应用在调试时应用的存储过程,在查询分析器里做SQL调试有个前提就是要确保具有执行
sp_sdidebug扩展过程的权限。所以找不到这个存储过程不是说你是否用的是sql语句还是存储过程,因为这是sql数据库本身就有的,这一般都是数据库里面的问题
解决这个问题的解决方法
1、在SQL
SERVER里找到该扩展存储过程,属性,权限,找到.net应用的数据库用户授予exec权限即可。
② 为什么创建了存储过程,但调用时缺提示找不到
你这里是创建存储过程。 你的存储过程还没被调用呢。 在命令窗口输入: exec ep; 或 call ep;
③ 为什么SQL2005在新建复制找不到存储过程提示错误:2812 的解决方法
一台服务器重装系统后,用附加表再配置同步复制的时候出错:
sql server 无法创建发布 找不到存储过程 错误 2812
在SQL SERVER 2005中,有数据库DB1,在A服务器上。由于要更换服务器,要把数据库DB1迁移到B服务器上。而DB1是用于同步复制的。粗心的你没有把同步复制(发布和订阅)删掉,就直接把DB1.mdf和DB1_log.ldf两个文件到B服务器上附加。附加成功了,原来的程序都能连接上,你以为大功告成。但是,几天过后,当你想把服务器重新同步复制,以作实时备份时,你发现自己的倒霉时刻到了。SQL SERVER 2005 像病了一样,只提示:“找不到存储过程’’…错误:2812”。
如果你的经历与以下的不完全一致,那么这篇文章可能也值得你参考。
但如果你的经历恰好一样,而且你在Google或Bai上苦寻答案而不觅,那么,这篇文章或者能帮你一把。
如果数据库迁移后,数据并没有更新过。那么你的想法是把这个该死的数据库分离,然后再重新把去掉同步复制的干净的数据库迁移过来。但是,如果你的新数据库已经投入生产,那么,请参考我的方法:
打开B服务器上的DB1数据库的系统表,你会发现有12个表在里面。这12个表就是因同步复制而产生的,包括:
表/视图
有记录
复制必需
Mspeer_lsns
Mspeer_request
Mspeer_response
Mspub_identity_range
Sysarticlecolumns
有
是
Sysarticles
有
是
Sysarticlesupdates
是
syspublications
有
是
Sysreplservers
有
Sysschemaarticles
是
Syssubscriptions
有
是
systranschemas
sysextendedarticlesview
是
问题就出现在这里了。这12 个系统表和1个视图是因同步复制而生的,如果没有发生同步复制,他们是不会出现的。我们把mdf和ldf文件直接迁移过来,数据库里面的这些系统表和视图也随之而来了。
不能简单的把这12个系统表和1个视图删掉,这样同样不行。在经过了长时间的摸索后,我发现了问题的真正所在。
我们看一下系统表 sysreplservers的内容,有两列:
Srvname
Srvid
旧服务器名称
0
终于找到了问题所在了。我们把该表的记录删除。
然后随便发布一次。
再把该发布删除。
至此,该数据库中的陈旧同步复制信息已经去除,数据库重新变得洁净可爱
④ 找不到存储过程 'KS_ShowsContent'
找不到有两种情况:
1.数据库中没有建立这个存储过程(检查该过程是否存在以及调用名称是否正确)
2.建立了存储过程,调用也正确,但是在写sql时会提示这个错误,那么不用理会,可以直接运行调试。
⑤ 数据库转移服务器后,提示存储过程找不到,该怎么处理
- 1. 查询有问题的用户
USE 你的数据库
EXEC sp_change_users_login 'Report '
-- 2. 记录上步骤1执行的结果, 然后针对列出的每一条记录(用户)执行下面的操作
EXEC sp_change_users_login 'Auto_Fix ', '用户名, 即步骤1中的列出的用户 ', NULL, '密码 '
------解决方案--------------------
是孤立用户的问题。
先创建登录,然后用
exec sp_change_users_login 'Update_one ',用户名,登录名
将用户和登录关联
仅供参考
⑥ 已经建立存储过程 却报错找不到存储过程
你的存储过程名是killspid,执行就要用exec killspid,
该是在begin
set @temp='kill '+rtrim(@spid)
exec(@temp)
这里是exec killxx,当然找不到咯,执行的存储过程名不能乱改。
我没仔细看,你是不是想用@spid作为存储过程的参数?
那就改成begin
set @temp='killspid '+rtrim(@spid)
exec(@temp)
⑦ 找不到存储过程
1、当前数据库内根本没有此存储过程,或存储过程名称错误
2、当前数据库不对,连接到其他数据库
3、你还未安装数据库,或未附加正确的数据
4、你的用户对当前数据库没有操作权限
⑧ 我在数据库中建了存储过程,为什么说找不到
存储过程是在 你的数据库下,可编辑性,存储过程中
变为alter是系统自动变得。相当于修改。就是你再次运行这个存储过程相当于修改之前的
而如果是create的话,会提示你已存在的。 说白了就是数据库得一个智能修改而已
⑨ sql2005新建数据库,连接成功了,可说找不到存储过程
1.检查是否有此存储过程,是否拼错名字了。
2.检查存储过程的所有者,你连接的账号必需是此DB的DBO才行
⑩ 关于存储过程的问题“找不到存储过程”
"
string
sqlcom
=
"select
username
from
user
where
username=@username";
sqlcommand
cmd
=
new
sqlcommand(sqlcom,
conn);
cmd.commandtype
=
commandtype.storedprocere;
cmd.commandtext
=
"isuser";
"
你确定筛选条件username的值等于的是一个存储过程的返回值?
如果是,请确定数据库中确实有该存储过程,
否则修改commandtype的值