當前位置:首頁 » 服務存儲 » 存儲過程提示找不到
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲過程提示找不到

發布時間: 2022-05-15 10:14:09

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