一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - 在登錄觸發器錯誤情況下連接SQL Server的方法

在登錄觸發器錯誤情況下連接SQL Server的方法

2020-07-04 14:50MSSQL教程網 Sql Server

如果你創建了一個登錄觸發器,并且在這個觸發器中有一些不好的代碼,那么當你嘗試著登錄時,你將會得到一個類似于圖一顯示的錯誤

錯誤如圖所示:


在登錄觸發器錯誤情況下連接SQL Server的方法

圖一

如果不能很好地執行登錄觸發器,那么將會導致登錄失敗。

例如,如果創建了這個觸發器,那么就可以設計下面的代碼來達到失敗的目的。

復制代碼 代碼如下:

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


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


在登錄觸發器錯誤情況下連接SQL Server的方法


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

復制代碼 代碼如下:

DROP TRIGGER BadLogonTrigger ON ALL SERVER;
GO

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精麻豆亚洲AV国产品 | 亚洲冬月枫中文字幕在线看 | h动态图男女啪啪27报 | 鬼吹灯之天星术免费观看 | 亚洲激情综合 | 精品精品久久宅男的天堂 | 国产亚洲自愉自愉 | 久久精品观看影院2828 | 亚1洲二区三区四区免费 | 亚洲尿尿 | 日本大片免a费观看在线 | 好男人社区www影院在线观看 | 国产免费看视频 | 午夜福利理论片高清在线 | 亚洲国产精品线在线观看 | 日韩毛片在线视频 | 青青青手机在线视频 | 色综合久久丁香婷婷 | 国产激情久久久久影院小草 | 成人中文字幕在线观看 | 日本在线观看免费观看完整版 | 法国女佣系列在线播放 | 国产精彩对白综合视频 | 欧美性高清另类videosex死尸 | 2020韩国三级理论在线观看 | 久草在线福利视频在线播放 | 亚洲国产精品线在线观看 | a∨在线观看 | 2019中文字幕在线视频 | 美女艹b| 国产成人一区二区三区视频免费蜜 | 青草色视频 | 性色xxx| 亚洲欧美日韩天堂 | 国产成人a∨麻豆精品 | 久久九九精品国产自在现线拍 | 星空无限传媒视频在线观看视频 | 爱色综合v | 日韩一卡2卡3卡新区网站 | 国产视频久久 | 窝窝色资源站 |