① 用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的值