『壹』 sql資料庫中刪除數據提示錯誤「Could not find stored procere」
意思是 delete_meas_alarm_level 這個存儲過程 的第88行 的 update_alarm_level 這個過程不存在了
『貳』 資料庫刪除用戶出現錯誤2812:未能找到存儲過程msdb.dbo.sp_help_job
許可權不夠?
『叄』 為什麼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
終於找到了問題所在了。我們把該表的記錄刪除。
然後隨便發布一次。
再把該發布刪除。
至此,該資料庫中的陳舊同步復制信息已經去除,資料庫重新變得潔凈可愛
『肆』 修改SQL中SA密碼,提示錯誤2812,未能找到存儲過程"SA-PASSWORD",如何修改
你進入資料庫,然後點資料庫里有個安全,然後找到一個用戶名SA,接著點開,然後有個強制修改密碼,你直接輸兩遍你要輸入的密碼,就可以了,然後斷開資料庫,重新連接,注意伺服器,這個伺服器是你剛剛登陸進去修改的伺服器,然後用用戶名密碼登陸,試試吧。
『伍』 sql2000的sa密碼每天重啟電腦都被篡改!改的時候2812錯誤!2812錯誤我知道怎麼解決!
中病毒sa密碼被篡改然後刪除修改密碼的存儲過程,你查詢下sp_password是不是不存在了,你可以先備份資料庫(為了避免數據丟失),然後新建改存儲過程(見下面代碼)。修改為SA密碼後,查殺下病毒,實在不行重裝系統,重新附加資料庫或者用備份還原
--SQL代碼開始
sp_configure'allowupdates',1
RECONFIGUREWITHOVERRIDE
go
usemaster
go
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[sp_password]')andOBJECTPROPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[sp_password]
go
createproceresp_password
@oldsysname=NULL,--theold(current)password
@newsysname,--thenewpassword
@loginamesysname=NULL--usertochangepasswordon
as
--SETUPRUNTIMEOPTIONS/DECLAREVARIABLES--
setnocounton
declare@selfint
select@self=CASEWHEN@loginameisnullTHEN1ELSE2END
--RESOLVELOGINNAME
if@loginameisnull
select@loginame=suser_sname()
--CHECKPERMISSIONS()--
IF(notis_srvrolemember('securityadmin')=1)
ANDnot@self=1
begin
dbccauditevent(107,@self,0,@loginame,NULL,NULL,NULL)
raiserror(15210,-1,-1)
return(1)
end
ELSE
begin
dbccauditevent(107,@self,1,@loginame,NULL,NULL,NULL)
end
--DISALLOWUSERTRANSACTION--
setimplicit_transactionsoff
IF(@@trancount>0)
begin
raiserror(15002,-1,-1,'sp_password')
return(1)
end
--RESOLVELOGINNAME(disallowsntnames)
ifnotexists(select*frommaster.dbo.sysloginswhere
loginname=@loginameandisntname=0)
begin
raiserror(15007,-1,-1,@loginame)
return(1)
end
--IFnon-,REQUIREPASSWORD(218078)--
if(@self<>1ANDis_srvrolemember('sysadmin')=0ANDexists
(SELECT*FROMmaster.dbo.sysloginsWHEREloginname=@loginameandisntname=0
ANDsysadmin=1))
SELECT@self=1
--CHECKOLDPASSWORDIFNEEDED--
if(@self=1or@oldisnotnull)
ifnotexists(select*frommaster.dbo.sysxlogins
wheresrvidISNULLand
name=@loginameand
((@oldisnullandpasswordisnull)or
(pwdcompare(@old,password,(CASEWHENxstatus&2048=2048THEN1ELSE0END))=1)))
begin
raiserror(15211,-1,-1)
return(1)
end
--CHANGETHEPASSWORD--
updatemaster.dbo.sysxlogins
setpassword=convert(varbinary(256),pwdencrypt(@new)),xdate2=getdate(),xstatus=xstatus&(~2048)
wherename=@loginameandsrvidISNULL
--,TOINDICATESYSLOGINSCHANGE--
exec('usemastergrantalltonull')
--FINALIZATION:RETURNSUCCESS/FAILURE--
if@@error<>0
return(1)
raiserror(15478,-1,-1)
return(0)--sp_password
GO
sp_configure'allowupdates',0
RECONFIGUREWITHOVERRIDE
--SQL代碼結束
『陸』 資料庫 錯誤2812:未能找到存儲過程』sp_password
create procere sp_password
@old sysname = NULL, -- the old (current) password
@new sysname, -- the new password
@loginame sysname = NULL -- user to change password on
as
-- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
set nocount on
declare @self int
select @self = CASE WHEN @loginame is null THEN 1 ELSE 2 END
-- RESOLVE LOGIN NAME
if @loginame is null
select @loginame = suser_sname()
-- CHECK PERMISSIONS (SecurityAdmin per Richard Waymire) --
IF (not is_srvrolemember('securityadmin') = 1)
AND not @self = 1
begin
dbcc auditevent (107, @self, 0, @loginame, NULL, NULL, NULL)
raiserror(15210,-1,-1)
return (1)
end
ELSE
begin
dbcc auditevent (107, @self, 1, @loginame, NULL, NULL, NULL)
end
-- DISALLOW USER TRANSACTION --
set implicit_transactions off
IF (@@trancount > 0)
begin
raiserror(15002,-1,-1,'sp_password')
return (1)
end
-- RESOLVE LOGIN NAME (disallows nt names)
if not exists (select * from master.dbo.syslogins where
loginname = @loginame and isntname = 0)
begin
raiserror(15007,-1,-1,@loginame)
return (1)
end
-- IF non-SYSADMIN ATTEMPTING CHANGE TO SYSADMIN, REQUIRE PASSWORD (218078) --
if (@self <> 1 AND is_srvrolemember('sysadmin') = 0 AND exists
(SELECT * FROM master.dbo.syslogins WHERE loginname = @loginame and isntname = 0
AND sysadmin = 1) )
SELECT @self = 1
-- CHECK OLD PASSWORD IF NEEDED --
if (@self = 1 or @old is not null)
if not exists (select * from master.dbo.sysxlogins
where srvid IS NULL and
name = @loginame and
( (@old is null and password is null) or
(pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END)) = 1) ) )
begin
raiserror(15211,-1,-1)
return (1)
end
-- CHANGE THE PASSWORD --
update master.dbo.sysxlogins
set password = convert(varbinary(256), pwdencrypt(@new)), xdate2 = getdate(), xstatus = xstatus & (~2048)
where name = @loginame and srvid IS NULL
-- UPDATE PROTECTION TIMESTAMP FOR MASTER DB, TO INDICATE SYSLOGINS CHANGE --
exec('use master grant all to null')
-- FINALIZATION: RETURN SUCCESS/FAILURE --
if @@error <> 0
return (1)
raiserror(15478,-1,-1)
return (0) -- sp_password
『柒』 什麼原因造成SQL2000資料庫在企業管理器中修改sa密碼的時提示:錯誤2812 未能找到儲存過程 sp_password'
原因可能是由於黑客木馬侵入,將sa密碼更改,並刪除了此存儲過程,由此阻礙對密碼的修改。解決方案就是重建這個存儲過程。
操作過程如下:打開「企業管理器」在系統資料庫「master」中找到「存儲過程」,然後右擊「新建存儲過程」。將完整代碼如下:
create procere sp_password
@old sysname = NULL, -- the old (current) password
@new sysname, -- the new password
@loginame sysname = NULL -- user to change password on
as
-- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
set nocount on
declare @self int
select @self = CASE WHEN @loginame is null THEN 1 ELSE 2 END
-- RESOLVE LOGIN NAME
if @loginame is null
select @loginame = suser_sname()
-- CHECK PERMISSIONS (SecurityAdmin per Richard Waymire) --
IF (not is_srvrolemember('securityadmin') = 1)
AND not @self = 1
begin
dbcc auditevent (107, @self, 0, @loginame, NULL, NULL, NULL)
raiserror(15210,-1,-1)
return (1)
end
ELSE
begin
dbcc auditevent (107, @self, 1, @loginame, NULL, NULL, NULL)
end
-- DISALLOW USER TRANSACTION --
set implicit_transactions off
IF (@@trancount > 0)
begin
raiserror(15002,-1,-1,'sp_password')
return (1)
end
-- RESOLVE LOGIN NAME (disallows nt names)
if not exists (select * from master.dbo.syslogins where
loginname = @loginame and isntname = 0)
begin
raiserror(15007,-1,-1,@loginame)
return (1)
end
-- IF non-SYSADMIN ATTEMPTING CHANGE TO SYSADMIN, REQUIRE PASSWORD (218078) --
if (@self <> 1 AND is_srvrolemember('sysadmin') = 0 AND exists
(SELECT * FROM master.dbo.syslogins WHERE loginname = @loginame and isntname = 0
AND sysadmin = 1) )
SELECT @self = 1
-- CHECK OLD PASSWORD IF NEEDED --
if (@self = 1 or @old is not null)
if not exists (select * from master.dbo.sysxlogins
where srvid IS NULL and
name = @loginame and
( (@old is null and password is null) or
(pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END)) = 1) ) )
begin
raiserror(15211,-1,-1)
return (1)
end
-- CHANGE THE PASSWORD --
update master.dbo.sysxlogins
set password = convert(varbinary(256), pwdencrypt(@new)), xdate2 = getdate(), xstatus = xstatus & (~2048)
where name = @loginame and srvid IS NULL
-- UPDATE PROTECTION TIMESTAMP FOR MASTER DB, TO INDICATE SYSLOGINS CHANGE --
exec('use master grant all to null')
-- FINALIZATION: RETURN SUCCESS/FAILURE --
if @@error <> 0
return (1)
raiserror(15478,-1,-1)
return (0) -- sp_password
GO
新建好後重新修改下密碼即可。
『捌』 修改SQL中SA密碼,提示錯誤2812,未能找到存儲過程"SA-PASSWORD",請問如何修改 你是怎麼處理的啊
你進入資料庫,然後點資料庫里有個平安,然後找到一個用戶名SA,接著點開,然後有個強迫修正密碼,你直接輸兩遍你要輸入的密碼,就可以了,然後斷開資料庫,重新銜接,留意效勞器,這個效勞器是你剛剛登陸出來修正的效勞器,然後用用戶名密碼登陸,試試吧 。
『玖』 關於sql2000改密碼時提示:錯誤2812:未能找到存儲過程'sp_password' 修復過程能弄成一個可執行文件嗎
你可以寫一個 易語言的小程序 裡面填寫好你的 資料庫 連接語句 和需要執行的sql 命令 。打包發布也方便 。
『拾』 SQL資料庫中刪除數據提示錯誤「Could not find stored procere」
實現級聯刪除的sqlserver自帶存儲過程被破壞了,重新安裝sqlserver吧