主頁 > 知識(shí)庫 > 在登錄觸發(fā)器錯(cuò)誤情況下連接SQL Server的方法

在登錄觸發(fā)器錯(cuò)誤情況下連接SQL Server的方法

熱門標(biāo)簽:舞鋼市地圖標(biāo)注app 創(chuàng)業(yè)電銷機(jī)器人 松原導(dǎo)航地圖標(biāo)注 海南自動(dòng)外呼系統(tǒng)價(jià)格 浙江地圖標(biāo)注 沈陽智能外呼系統(tǒng)代理 電銷機(jī)器人虛擬號(hào)碼 滄州營(yíng)銷外呼系統(tǒng)軟件 九鹿林外呼系統(tǒng)怎么收費(fèi)

錯(cuò)誤如圖所示:


圖一

如果不能很好地執(zhí)行登錄觸發(fā)器,那么將會(huì)導(dǎo)致登錄失敗。

例如,如果創(chuàng)建了這個(gè)觸發(fā)器,那么就可以設(shè)計(jì)下面的代碼來達(dá)到失敗的目的。

復(fù)制代碼 代碼如下:

CREATE TRIGGER BadLogonTrigger ON ALL SERVER FOR LOGON
AS
BEGIN
INSERT INTO BadDB.dbo.SomeTable VALUES ('Test');
END;
GO

沒有一個(gè)數(shù)據(jù)庫稱為BadDB,這意味著在BadDB內(nèi)也沒有一張表叫SomeTable。因此,任何登錄到該服務(wù)器的正常嘗試都會(huì)失敗,因?yàn)檫@個(gè)觸發(fā)器涉及到一個(gè)不存在的對(duì)象。為了糾正這一問題,你也需要:
使用一個(gè)現(xiàn)有的建立連接,該連接擁有合適的權(quán)限。
使用專用管理員連接(DAC)連接SQL Server。
如果你現(xiàn)有的一個(gè)連接可以刪除觸發(fā)器或者使觸發(fā)器不可用,那么請(qǐng)使用現(xiàn)有的連接來糾正這個(gè)問題。但是可能在一些情況下,你的連接沒有這種功能,那么你需要依賴專用管理員連接。
默認(rèn)情況下,這個(gè)專用管理員連接只能在本地服務(wù)器中使用。這就意味著,你需要通過登錄到本地計(jì)算機(jī)或者使用另一種方式如遠(yuǎn)程桌面來連接。一旦你登錄了,你就可以使用SQLCMD或者SSMS。
如果你使用SQLCMD,你要通過該專用管理員連接指定一個(gè)-A開關(guān)來連接。如果你通過SSMS連接,那么要確定通過在服務(wù)器名前面指定ADMIN:來連接,如圖二。

圖二
產(chǎn)生這種現(xiàn)象的原因是SQL Server通過專用管理員連接把對(duì)連接的檢查和資源減到最少。當(dāng)一個(gè)或多個(gè)進(jìn)程消耗一個(gè)SQL Server而造成登錄不能正常進(jìn)行時(shí),這種方法就給數(shù)據(jù)庫管理員一個(gè)“后門”。當(dāng)通過DAC連接時(shí),SQL Server不做的一件事是執(zhí)行任何登錄觸發(fā)器。因此,你可以使用DAC,你不會(huì)被這個(gè)不好的觸發(fā)器所阻礙。然后如果需要,你可以使這個(gè)觸發(fā)器不可用或者刪除這個(gè)觸發(fā)器。
例如,一旦通過DAC連接,我就可以執(zhí)行下面的命令來完全擺脫這個(gè)觸發(fā)器:
復(fù)制代碼 代碼如下:

DROP TRIGGER BadLogonTrigger ON ALL SERVER;
GO

您可能感興趣的文章:
  • 用戶"sa"登陸失敗 SQLServer 錯(cuò)誤18456的解決方法
  • SQL錯(cuò)誤:相關(guān)的信息為:用戶 sa 登錄失敗。原因: 未與信任 SQL Server 連接相關(guān)聯(lián)。
  • SQL Server成功與服務(wù)器建立連接但是在登錄過程中發(fā)生錯(cuò)誤的快速解決方案
  • SQLServer無法打開用戶默認(rèn)數(shù)據(jù)庫 登錄失敗錯(cuò)誤4064的解決方法
  • SQLServer2005混合模式登錄配置(用戶登錄錯(cuò)誤18452,233,4064)
  • SQL Server 2008登錄錯(cuò)誤:無法連接到(local)解決方法
  • SQL Server 2012 sa用戶登錄錯(cuò)誤18456的解決方法

標(biāo)簽:臺(tái)灣 寶雞 公主嶺 日喀則 西藏 商洛 咸寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在登錄觸發(fā)器錯(cuò)誤情況下連接SQL Server的方法》,本文關(guān)鍵詞  在,登錄,觸發(fā)器,錯(cuò)誤,情況下,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在登錄觸發(fā)器錯(cuò)誤情況下連接SQL Server的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于在登錄觸發(fā)器錯(cuò)誤情況下連接SQL Server的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章