2010-09-27 30 views
4

我在部署的asp.net Web應用程序中隨機獲取此錯誤。我沒有在數據庫中使用任何觸發器,所以我不知道該怎麼做。這個週末,當沒有人申請時,這只是隨機發生的。請幫助這個是關鍵任務由於觸發器執行導致登錄用戶登錄失敗

這是從哪裏獲得錯誤的第一個實例:

public static Guid LoginUser 
    { 
     get 
     { 
      Guid g = new Guid(); 
      MembershipUser m = Membership.GetUser(); 
      if (m != null) 
       g = (Guid)m.ProviderUserKey; 

      return g; 
     } 
    } 
+0

「用戶」登錄,是用於登錄到應用程序的人,或代表用戶登錄到數據庫的用戶?我期望後者,但我不確定。 – 2010-09-27 12:01:42

+0

似乎有人添加了登錄觸發器。 – 2010-09-27 12:01:51

+0

@James'用戶'登錄是應用程序用來訪問數據的數據庫用戶。 @Martin我檢查了對sys.triggers,並沒有在我的數據庫... – EvanGWatkins 2010-09-27 12:04:44

回答

3

你可以仔細檢查觸發器的存在有:

use YourDb 
select * from sys.objects where type = 'TR' 

編輯:這看起來像ASP.NET成員資格,最終在用戶數據庫中(它不是SQL Server登錄名)。您能看到ASP.NET成員資格提供程序使用的連接字符串嗎?它通常位於Web.config中,例如:

<providers> 
    <add name="AspNetSqlMembershipProvider" 
     ... 
     connectionStringName="<<connection string>>" 
+0

或select * from sys.triggers – GalacticCowboy 2010-09-27 12:01:14

+0

我檢查了sys,typer ='TR'的對象,並收到了一個空結果。我的數據庫似乎沒有觸發器。什麼是你的意思是由asp.net剪掉,拋出異常?我甚至無法在錯誤發生之前訪問網站 – EvanGWatkins 2010-09-27 12:02:50

+0

@Evan - 查看'master.sys.server_triggers' – 2010-09-27 12:06:37