在登錄觸發(fā)器錯誤情況下連接SQL Server的方法
錯誤如圖所示:
圖一
如果不能很好地執(zhí)行登錄觸發(fā)器,那么將會導(dǎo)致登錄失敗。
例如,如果創(chuàng)建了這個觸發(fā)器,那么就可以設(shè)計下面的代碼來達(dá)到失敗的目的。
CREATE TRIGGER BadLogonTrigger ON ALL SERVER FOR LOGON
AS
BEGIN
INSERT INTO BadDB.dbo.SomeTable VALUES ('Test');
END;
GO
沒有一個數(shù)據(jù)庫稱為BadDB,這意味著在BadDB內(nèi)也沒有一張表叫SomeTable。因此,任何登錄到該服務(wù)器的正常嘗試都會失敗,因為這個觸發(fā)器涉及到一個不存在的對象。為了糾正這一問題,你也需要:
使用一個現(xiàn)有的建立連接,該連接擁有合適的權(quán)限。
使用專用管理員連接(DAC)連接SQL Server。
如果你現(xiàn)有的一個連接可以刪除觸發(fā)器或者使觸發(fā)器不可用,那么請使用現(xiàn)有的連接來糾正這個問題。但是可能在一些情況下,你的連接沒有這種功能,那么你需要依賴專用管理員連接。
默認(rèn)情況下,這個專用管理員連接只能在本地服務(wù)器中使用。這就意味著,你需要通過登錄到本地計算機(jī)或者使用另一種方式如遠(yuǎn)程桌面來連接。一旦你登錄了,你就可以使用SQLCMD或者SSMS。
如果你使用SQLCMD,你要通過該專用管理員連接指定一個-A開關(guān)來連接。如果你通過SSMS連接,那么要確定通過在服務(wù)器名前面指定ADMIN:來連接,如圖二。

圖二
產(chǎn)生這種現(xiàn)象的原因是SQL Server通過專用管理員連接把對連接的檢查和資源減到最少。當(dāng)一個或多個進(jìn)程消耗一個SQL Server而造成登錄不能正常進(jìn)行時,這種方法就給數(shù)據(jù)庫管理員一個“后門”。當(dāng)通過DAC連接時,SQL Server不做的一件事是執(zhí)行任何登錄觸發(fā)器。因此,你可以使用DAC,你不會被這個不好的觸發(fā)器所阻礙。然后如果需要,你可以使這個觸發(fā)器不可用或者刪除這個觸發(fā)器。
例如,一旦通過DAC連接,我就可以執(zhí)行下面的命令來完全擺脫這個觸發(fā)器:
DROP TRIGGER BadLogonTrigger ON ALL SERVER;
GO
- 用戶"sa"登陸失敗 SQLServer 錯誤18456的解決方法
- SQL錯誤:相關(guān)的信息為:用戶 sa 登錄失敗。原因: 未與信任 SQL Server 連接相關(guān)聯(lián)。
- SQL Server成功與服務(wù)器建立連接但是在登錄過程中發(fā)生錯誤的快速解決方案
- SQLServer無法打開用戶默認(rèn)數(shù)據(jù)庫 登錄失敗錯誤4064的解決方法
- SQLServer2005混合模式登錄配置(用戶登錄錯誤18452,233,4064)
- SQL Server 2008登錄錯誤:無法連接到(local)解決方法
- SQL Server 2012 sa用戶登錄錯誤18456的解決方法
相關(guān)文章
SQL Server 2005 Express 安裝失敗解決辦法
本人重裝vs2005后,sql sever 2005 express卻一直安裝不上,造成寫好的網(wǎng)頁無法運行。多次卸載重裝無果2009-03-03
sqlserver中獲取當(dāng)前日期的午夜的時間值的實現(xiàn)方法
MS SQLServer,如何獲取當(dāng)前系統(tǒng)日期的午夜的時間值的方法,需要的朋友可以參考下。2011-09-09
SQL2005 性能監(jiān)視器計數(shù)器錯誤解決方法
vps主機(jī)客戶和服務(wù)器托管用戶在不正當(dāng)刪除SQL2005后會造成SQL2005 性能監(jiān)視器計數(shù)器錯誤,現(xiàn)在我們提供SQL2005 性能監(jiān)視器計數(shù)器錯誤如何解決的辦法如下,請大家參考指正2012-01-01
SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(2)
SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(2)2010-02-02
SQL2005學(xué)習(xí)筆記 APPLY 運算符
APPLY 運算符簡介: APPLY 運算符是Sql Server2005新增加的運算符。2009-07-07
SQL Server 2005 鏡像構(gòu)建手冊(sql2005數(shù)據(jù)庫同步鏡像方案)
為了網(wǎng)站數(shù)據(jù)庫安全,我們需要備份數(shù)據(jù),這里為大家分享下sql2005數(shù)據(jù)庫同步鏡像方案,需要的朋友可以參考下2014-08-08
sql2005 附加數(shù)據(jù)庫出錯(錯誤號:5123)解決方法
無法為此請求檢索數(shù)據(jù)。(Microsoft.SqlServer.SmoEnum)其他信息執(zhí)行Transact-Sql語句或批處理時發(fā)生了異常,Microsoft.SqlServer.ConnectionInfo)嘗試打開或創(chuàng)建物理文件d:\Data\***.mdf時,Create file遇到操作系統(tǒng)錯誤5(拒絕訪問。2012-07-07

