사용자 'IIS APPPOOL \ ASP.NET v4.0'에 대한 로그인 실패


432

웹 프로젝트 (C # Asp.Net, EF 4, MS SQL 2008 및 IIS 7)가 있으며 IIS 7로 로컬로 마이그레이션해야합니다 (현재 CASSINI에서 잘 작동 함).

IIS에서는 로컬로 Default Web Site배포가 있습니다. 내 배포 및 Default Web Site풀 ASP.NET v4.0 (설정 이미지 참조)에서 풀 대상 Framework 4를 웹 프로젝트로 사용합니다. 풀 설정 사이트를 방문하면 브라우저에 페이지가 표시되지 않고 브라우저가 페이지를 대신 다운로드 할 수 있습니다.

IIS에서 로컬로 실행되는 다른 프로젝트가 있으며 아무런 문제없이 작동하지만 Entity Framework는 사용하지 않습니다.

이벤트 로거를 사용하면 아래와 같은 오류가 나타납니다.

Exception information: 
    Exception type: EntityException 
    Exception message: The underlying provider failed on Open.
   at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)


    Login failed for user 'IIS APPPOOL\ASP.NET v4.0'.
       at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
       at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       at System.Data.SqlClient.SqlConnection.Open()
       at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)

관련 질문

업데이트 :이 질문에 대한 자료에서 MS SQL 2008에 대한 권한을 수동으로 부여해야한다는 것을 읽을 수 있습니다. IIS 7.5 및 MS SQL 2008 R2를 사용하면 수동 권한을 설정할 필요가 없습니다.


2
웹 사이트 폴더에서 앱 풀 ID 권한을 허용 했습니까?
Christian

잘 모르겠습니다. 어떻게해야하는지 알려주시겠습니까?
GibboK


실제로 adrift가 말했듯이 이것은 SQL 보안 문제 일 수 있습니다. AppPool에 대한 NT 사용자 계정을 설정 한 다음 웹 사이트 폴더 및 SQL의 적절한 테이블에 해당 권한을 부여하는 것이 가장 좋습니다.
Christian

1
@GibboK : 여기에서 허용 된 답변을 검토하고보다 적절한 답변을 선택하도록 권장합니다. 받아 들여지는 대답은 많은 사람들을 보안 블랙홀로 이끌고 있습니다. 예, 작동합니다. 아니요, 정말 좋은 생각이 아닙니다. 아래 내 의견을 참조하십시오.
쓰셨

답변:


596

SQL Server에 대한 연결을 열려고하지 않는 것 같습니다.

IIS APPPOOL\ASP.NET v4.0데이터베이스에 대한 권한을 부여 하려면 SQL Server에 로그인을 추가해야 합니다.

SSMS의 서버에서 보안을 펼친 다음 로그인을 마우스 오른쪽 단추로 클릭하고 "새 로그인 ..."을 선택하십시오.

새 로그인 대화 상자에서 로그인 이름으로 앱 풀을 입력하고 "확인"을 클릭하십시오.

여기에 이미지 설명을 입력하십시오

그런 다음 앱 풀의 로그인을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 "사용자 매핑"을 선택하십시오. 적절한 데이터베이스 및 적절한 역할을 확인하십시오. 나는 당신이 단지 선택 수 있다고 생각 db_datareader하고 db_datawriter,하지만 난 당신이 EF를 통해 그렇게 할 경우 당신은 여전히 저장 프로 시저를 실행하는 권한을 부여해야합니다 생각합니다. 여기 에서 역할에 대한 세부 사항을 확인할 수 있습니다 .


8
고마워요, 당신이 슬프게했는데, 이제이 오류가 나타납니다 : 로그인이 요청한 데이터베이스 "SiteNameExtension"을 열 수 없습니다. 로그인이 실패했습니다. 'IIS APPPOOL \ DefaultAppPool'사용자의 로그인에 실패했습니다.
GibboK

76
매우 중요 : 로그인을 확인하기 위해 검색을 클릭하지 마십시오! 인식하지 못하지만 작동합니다. IIS APPPOOL \ SimonsAppPoolName으로 입력하십시오. 이 stackoverflow.com/questions/1933134
Simon_Weaver

6
다음 답변에서 설명하는 것처럼 IIS에서 'Identity'를 'LocalSystem'으로 변경하는 것이 좋습니다.
Altaf Patel

SQL Server 인스턴스가 다른 호스트 시스템이 아닌 IIS 호스트 시스템에있을 때이 기능을 사용할 수 있습니까? 같은 문제를 해결해야하지만 SQL과 IIS가 같은 컴퓨터에 있지 않기 때문입니다. 새 사용자에 대해 Windows 인증을 사용하면 작동하지 않습니다.
Segers-Ian

5
나를 위해 사용자는 'IIS APPPOOL \ DefaultAppPool'이었습니다. 그런 다음 효과가있었습니다.
Marcel

343

IIS7-> 응용 프로그램 풀-> 고급 설정에서 ApplicationPoolIdentity를 변경할 수 있습니다. 고급 설정

ApplicationPoolIdentity 아래에 로컬 시스템이 있습니다. 그러면 응용 프로그램 NT AUTHORITY\SYSTEM이 기본적으로 데이터베이스에 대한 기존 로그인 인에서 실행됩니다 .

편집 :이 제안을 적용하기 전에 보안 관련 사항에 유의하고 이해해야합니다.


51
@GibboK, 보안이 염려되는 경우이 작업을 수행하지 마십시오. 참조 technet.microsoft.com/en-us/library/dd378907(v=WS.10).aspx
제프 오가타

4
LocalSystem ID로 앱 풀을 실행하는 것 외에도 "NT AUTHORITY \ SYSTEM"사용자를 데이터베이스 역할에 매핑해야했습니다
Phil

31
이 냄새가나요. 웹 앱에 SYSTEM 권한을 부여하는 것은 재난을 피하기위한 방법이며 악의적 인 사용자는 웹 앱뿐만 아니라 전체 호스팅 서버에 악의를 가할 수있는 모든 종류의 기회를 허용합니다. DB가 SYSTEM의 로그인을 수락한다고해서 웹 앱을 SYSTEM으로 실행해야한다는 의미는 아닙니다. Windows 바탕 화면에서는 후프를 뛰어 넘지 않고 SYSTEM으로 실행할 수 없습니다. 이 권한으로 웹 애플리케이션을 실행하는 것은 정말 어리석은 생각입니다. DB가 현재 apppool ID를 수락하도록해야합니다. 내가 할 수 있다면 -100이 될 것입니다. -1.
쓰셨

8
SYSTEM은 관리자보다 높은 권한을 갖습니다. 당신이해야 결코 그 수준에 접근 아무것도 웹 서버를 실행하지 않습니다.
slugster

1
방금 Guest 계정을 관리자 그룹의 구성원으로 만듭니다. 간단하고 깨끗하며 보안 헛소리에 전혀 문제가 없습니다.

29

당신이 가지고 있는지 확인하십시오 ...

Trusted_Connection=false;

연결 문자열에


7
연결 문자열에 Trusted_Connection = true를 설정하면 IIS Identity 사용자 프로필로 SQL 인증 값이 무시됩니다.
Jeff the Bear

2
내 경우에는 제거 : 연결 문자열에서 Integrated Security = True로 수정했습니다.
Carlos R Balebona

나를 위해 일했다. @JefftheBear
D_Edet

26

다음 이미지와 같이 SQL을 사용 하여이 문제를 해결했습니다.

db-> 특성-> 권한-> 서버 권한보기->를 마우스 오른쪽 단추로 클릭 한 후 IIS APPPOOL\ASP.NET v4.0권한 을 선택 하고 부여 하십시오 .

db


위의 프로세스 (및 이미지)가 해당 응용 프로그램 풀 ID에 대한 GRANTing 서버 수준 권한을 설명하고 있습니까? 좋은 생각처럼 들리지 않습니다.
Chris Walsh

2
이 사용자에게는 메달이 필요합니다! 아무것도 도움이되지 않았습니다!
Khateeb321

2
@ Khateeb321 절대적으로 답변 해 주셔서 감사합니다.
Azxdreuwa

22

이 SQL 스크립트를 실행

IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
    CREATE LOGIN [IIS APPPOOL\DefaultAppPool] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [WebDatabaseUser] 
  FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember 'db_owner', 'WebDatabaseUser'
GO

감사합니다, 가장 쉬운 방법) +1
Zolfaghari

11

의 경우 연결 문자열을 지정한 :

User ID=xxx;Password=yyy

그러나 연결 문자열 에는 다음이 있습니다.

Trusted_Connection=true;

SQL Server는 Windows 인증을 사용하므로 연결 값이 무시되고 무시됩니다 (IIS는 Identity 사용자 프로필에 지정된 Windows 계정을 사용합니다). 더 많은 정보는 여기에

연결 문자열에 다음이 있는 경우에도 동일하게 적용됩니다 .

 Integrated Security = true;

또는

 Integrated Security = SSPI;

Windows 인증은 데이터베이스 서버에 연결하는 데 사용되기 때문입니다. 더 많은 정보는 여기에


10

iis로 이동-> 응용 프로그램 풀-> 응용 프로그램에 사용 된 응용 프로그램 풀 찾기

여기에 이미지 설명을 입력하십시오

응용 프로그램에 사용되는 응용 프로그램 풀을 선택하고 마우스 오른쪽 단추를 클릭하여 고급 설정을 선택하십시오.

여기에 이미지 설명을 입력하십시오

응용 프로그램 풀 ID 선택 여기에 이미지 설명을 입력하십시오

로컬 시스템으로 내장을 선택하고 확인을 클릭하십시오.


7

ApplicationPoolIdentity가 싫습니다. 저는 항상 Windows 사용자 계정을 AppPools의 계정으로 설정했습니다.

adrift가 말했듯이 데이터베이스 보안 문제처럼 들립니다. 따라서 NT 사용자 계정을 만들어 ASP.NET v4.0 AppPool에 할당 한 다음 웹 사이트 폴더 및 SQL의 관련 테이블에 대한 권한을 부여하십시오.


죄송합니다. 어떻게해야할지 모르겠습니다. 튜토리얼을 말씀해 주시겠습니까? 도움을 주셔서 감사합니다
GibboK

2
이렇게하지 마십시오. IIS가 앱 풀 ID를 변경 한 이유가 있습니다. learn.iis.net/page.aspx/624/application-pool-identities
Julien Lebot

@ LeSnip3R 끊어진 링크
Adaptabi

6

통합 보안을 사용하지 마십시오. 사용하다User Id=yourUser; pwd=yourPwd;

이것은 문제를 해결합니다.


4

이 문제가 있었고 실제로 다른 문제가 발생했습니다. 데이터베이스에 'IIS APPPOOL \ ASP.NET v4.0'사용자가 있지만 여전히 작동하지 않습니다.

최근에 SQL Server 설치를 업그레이드했으며 프로세스에서 사용자가 로그인에서 연결이 끊어졌습니다. 따라서 데이터베이스-> 보안-> 사용자 아래에 'IIS APPPOOL \ ASP.NET v4.0'이 있었지만 보안이 아닌 사용자는 없습니다 -> 로그인.

보안-> 로그인에 로그인 'IIS APPPOOL \ ASP.NET v4.0'을 추가하면 SQL Server는 자동으로 데이터베이스의 사용자에게이를 매핑하고 (수동으로 수행해야 했음) 문제를 해결했습니다.


1
왼쪽의 권한 ​​아래에 ...를 추가하기 만하면됩니다 ... tick db_writer and db_reader; 해당 권한을 활용할 데이터베이스를 선택하십시오.
benjieb

4

Windows 인증을 사용 중이고 연결 문자열에 사용자 이름 비밀번호를 언급하지 않은 경우 우선 확인해야합니다.

localhost를 통해 코드를 실행할 때 발생하는 상황 : localhost에서 wcf 테스트 클라이언트를 실행하면 로컬 디버그 모드 애플리케이션이 계정 서비스에서 데이터베이스를 호출하므로 데이터베이스와 통신 할 수 있습니다. 따라서 devenv.exe가 사용자 계정으로 실행 중이므로 데이터베이스에 액세스 할 수 있습니다.

그러나 IIS에 웹 서비스를 배포 할 때 이제이 서비스는 계정이 아닌 IIS에서 실행됩니다. 따라서 Windows 인증을 위해 SQL Server에 액세스하려면 IIS 서비스에 대한 액세스 권한을 지정해야합니다. 여기에서 사용자 권한에 대한 액세스 권한 문제 및 로그인 실패로 인해 웹 서비스가 SQL Server와 통신 할 수 없습니다 (여기서는 사용자가 올 것입니다).

따라서 Windows 인증을 사용하여 데이터베이스를 연결하는 경우 IIS 응용 프로그램 풀 설정 만 변경하면됩니다. IIS 응용 프로그램 풀의 ID를 로컬 시스템으로 변경해야합니다.

Windows 인증 WCF 단계는 다음과 같습니다.

1) IIS (windows + R (실행)를 열고 inetmgr을 입력 한 다음 확인을 클릭하십시오)

2) 연결에서 PC 이름을 두 번 클릭하십시오.

3) 응용 프로그램 풀을 클릭하십시오

4) 앱 풀 (DefaultAppPool)을 선택하십시오.

5) 그런 다음 오른쪽의 작업에서 고급 설정을 클릭하십시오.

6) 프로세스 모델 섹션으로 이동하여

7) ID를 클릭하십시오.

8) 이제 LocalSystem을 선택하십시오.

이제 SQL Server Management Studio를 엽니 다. run->을 열고 ssms를 입력 한 다음 확인을 누릅니다. ssms에서 Windows 인증 계정을 사용하여 로그인하십시오. 보안 탭을 열고 로그인 탭을 확장하면 계정을 볼 수 있습니다.

이제 계정의 열린 속성이 userMapping으로 이동 한 다음 연결할 데이터베이스를 선택한 다음 선택한 데이터베이스에 사용할 역할 멤버쉽 서비스를 확인하십시오. 확인을 클릭하십시오.

(네트워크 서비스, 즉 인트라넷 사용자의 경우 NT AUTHORITY \ SYSTEM 사용자에 대해서도 위의 설정을 구성해야합니다)

Trusted_Connection = True를 추가하십시오; 연결 문자열의 속성. 저장하고 웹 서비스를 배포하십시오. 앱 풀을 다시 시작하십시오.

이제 데이터베이스를 연결할 수 있습니다.


완전한! LocalSystem에서이 문제를 해결했습니다 :)
totalitarian

3

이 메시지가 나타 났으며 웹 서버에서 Windows 인증을 사용합니다.

앱 풀에 지정된 IIS APPPOOL \ ASP.NET v4 사용자를 사용하지 않고 현재 인증 된 웹 사용자가 데이터베이스에 대해 인증되기를 원했습니다.

web.config에 다음을 입력 하여이 문제를 해결했습니다.

<system.web>
  <identity impersonate="true" />
</system.web>

https://msdn.microsoft.com/en-us/library/bsz5788z.aspx

SQL DB에서 AppPool 사용자 이름을 만들거나 SQL Auth를 사용하는 것과 관련된 다른 답변을 볼 수 있습니다. SQL 내에서 개별 Windows 사용자를 캡처하거나 보호하지 않으려면 둘 다 정확합니다.


이것은 우리를 위해 그것을 해결했고 우리는 이유를 모르겠습니다. IIS / AppPool은 "Integrated Security = true"라고 명시 적으로 나타내는 연결 문자열을 가로 챌 뿐입니 까? 왜??
Guy

3

1_in SqlServer Security => 로그인 => NT AUTHORITY \ SYSTEM => RightClick => Property => UserMaping => YourDatabse => Public && Owner Select => OK 2_In IIs 응용 프로그램 풀 DefaultAppPool => 진행 설정 => ID => 로컬 시스템 => 확인을 선택하십시오.


2

ID를 설정하면 내 페이지에서만 작동합니다.


2

Cassini는 Visual Studio 응용 프로그램을 시작할 때 웹 사이트를 고유 한 사용자 ID로 실행합니다. IIS는 웹 사이트를 앱 풀 ID로 실행합니다. 앱 풀 ID에 데이터베이스에 대한 액세스 권한이 부여되지 않으면 오류가 발생합니다.

IIS는 보안을 향상시키기 위해 App Pool Identity를 도입했습니다. 기본 앱 풀 ID로 웹 사이트를 실행하거나 고유 한 이름으로 새 앱 풀을 만들거나 사용자 계정 (일반적으로 도메인 계정)에서 실행되는 고유 한 이름으로 새 앱 풀을 만들 수 있습니다.

네트워크 환경 (Azure에 있지 않은 상황)에서는 Active Directory 도메인 사용자 계정으로 새 앱 풀을 실행할 수 있습니다. 나는 기계 계정보다 이것을 선호합니다. 그렇게하면 데이터베이스를 포함한 네트워크 리소스에 대한 세분화 된 보안 및 세분화 된 액세스가 제공됩니다. 각 웹 사이트는 다른 앱 풀에서 실행되며 각 웹 사이트는 자체 도메인 사용자 계정으로 실행됩니다.

모든 연결 문자열에서 Windows 통합 보안을 계속 사용하십시오. SQL Server에서 도메인 사용자를 로그인으로 추가하고 웹 사이트별로 데이터베이스, 테이블, SP 등에 권한을 부여하십시오. 예를 들어 Website1은 App Pool에서 User1로 실행되므로 Website1에서 사용하는 DB1에 User1에 대한 로그인이 있습니다.

Visual Studio 내장 DB (예 : LocalDB) 및 내장 웹 서버를 프로덕션 환경으로 배포 할 때의 한 가지 문제는 개발자의 사용자 SID 및 ACL을 안전한 프로덕션 환경에서 사용하지 않아야한다는 사실에서 비롯됩니다. Microsoft는 배포 도구를 제공합니다. 그러나 localDB 및 localWebServer와 함께 새로운 쉬운 VS IDE의 새로운 기능에 익숙한 빈약 한 개발자는 유감스럽게 생각합니다.이 도구는 해당 개발자, 특히 SysAdmin 및 DBAdmin 지원이 부족한 개발자에게는 적합하지 않기 때문입니다. 그들의 전문 지식. 그럼에도 불구하고 Azure에 배포하는 것은 위에서 언급 한 엔터프라이즈 네트워크 상황보다 쉽습니다.


2

web.config에 연결 문자열이 추가 된 경우 "Integrated Security = false;" 따라서 web.config에 지정된 ID와 비밀번호를 사용합니다.

<connectionStrings>
    <add providerName="System.Data.SqlClient" name="MyDbContext" connectionString="Data Source=localhost,1433;Initial Catalog=MyDatabase;user id=MyUserName;Password=MyPassword;Trusted_Connection=true;Integrated Security=false;" />
</connectionStrings>

2

지적했듯이 Windows 인증 사용 안 함, SQL Server 인증 사용

"서버 연결"대화창을 사용하여 연결을 생성 한 경우 web.config에서 연결을 확인하십시오. 연결을 생성 / 수정했을 수 있으며 web.config에 신뢰할 수있는 연결로 저장되었을 수 있습니다. 이 인증을 사용하십시오

<add name="MyDBConnectionString" connectionString="Data Source=localhost;Initial Catalog=Finantial;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient"/>

오류를 수정해야합니다.


2

사용자에게 데이터베이스에 권한을 부여하는 다른 방법은 IIS APPPOOL\ASP.NET v4.0다음과 같습니다.
여기에 이미지 설명을 입력하십시오


  1. IIS APPPOOL\ASP.NET v4.0기본 스키마와 같이 사용자 이름 및 로그인 이름으로 새 사용자를 추가하십시오 .
  2. 소유자 스키마 및 멤버십으로 이동하고 db_datareader, db_datawriter를 확인하십시오.

1

나는 이것이 질문과 관련이 있고 답변을 할 수 있기 때문에 이것을 답변으로 게시 할 것이라고 생각했습니다.

데이터베이스가없는 경우 에도 동일한 메시지가 나타납니다 !

연결 문자열에 철자가 틀리거나 올바른 서버 인스턴스를 가리키는 지 확인하십시오.


1

나는 지금 작동 Integrated Security=True하는 false 로 변경 하여 해결 한 것과 같은 문제 가 있습니다.


1

웹 사이트의 web.config에서 Integrated Security = True를 Integrated Security = false로 변경하는 것이 비슷한 일이 저에게 효과적이었습니다.


이 작동합니다! 방금 통합 보안을 제거했습니다
Charles Xavier

0

@Teddy권장 사항 을 수행 했지만 여전히 같은 오류가 발생합니까?

상위 서버가 아닌 가상 디렉터리에 해당하는 앱 풀의 설정을 변경해야합니다. 각 가상 디렉터리에는 고유 한 AppPool이 있으며 상속되지 않습니다.


0

DefaultAppPool에서 Identity 속성 및 Sql Server에서 NetworkService를 추가하고 사용자 네트워크 서비스를 추가하고 데이터베이스에 대한 적절한 권한을 부여하십시오. 저는 잘 작동합니다. 로컬 테스트를 거쳤지만 이것이 가장 적합한 구성이라고 생각합니다. 네트워크의 다른 컴퓨터. IIS의 Identity에서 LocalSystem을 설정하면 제대로 작동하고 Sql Server에서 다른 사용자를 만들 필요는 없지만 네트워크 환경에서는 작동하지 않습니다.


0

ASP.NET 웹 API를 테스트하는 것과 동일한 문제가 발생했습니다.

SQL Server 2012 Express에서 만든 Visual Studio 2013 Express 데이터베이스의 Web.Host 개발 기본 제공 IIS Express를 사용하여 테스트 실행 (작업) IIS 로컬을 사용하도록 수정 됨 (속성 페이지-웹 옵션) Fiddler로 테스트 실행 오류를 수신했습니다-데이터베이스를 열 수 없음 'APPPOOL \ DefaultAppPool'을 인용하여 제공 업체 ...

효과가있는 솔루션.

IIS에서

응용 프로그램 풀 'DefaultAppPool'을 클릭하십시오. Set Identification = 'ApplicationPoolIdentity'.NET 프레임 워크 = v4.0을 설정하십시오 (내 응용 프로그램은 4.5이지만)

SQL Server Management Studio에서

SQL Server 엔진 아래의 보안 폴더를 마우스 오른쪽 단추로 클릭하여 모든 테이블에 적용하십시오. 사용자를 마우스 오른쪽 단추로 클릭하고 'IIS APPPOOL \ DefaultAppPool'을 추가하십시오. 위와 관련하여 DBA 인 경우 해당 옵션이 무엇인지 알고 제어하려고합니다. 저와 같은 개발자라면 MVC 스타일의 EF 6을 통해 SQL Server에 액세스하는 WEB API 서비스를 테스트하고 싶었습니다. :) 예, 알고 있지만 작동했습니다.


0

새 로그인을 추가하는 경우 서버 속성 (오른쪽 클릭-> 속성) / 보안에서 인증 모드가 Windows뿐 아니라 sqlserver 및 Windows로 설정되어 있는지 확인하십시오.


0

보안 아래 "모두"를 추가하십시오. 서버와 데이터베이스에 로그인하는 사용자를 추가 한 경우 이는 누락 된 것입니다. 도움이 되었기를 바랍니다.


우리는 필요에 따라 권한을 설정합니다. 인증 부분이 처리되고 코드를 통해 권한 부여를 확인하여 액세스를 허용합니다. 모호함이 있다고 생각되면 언제든지 정정하십시오. 감사.
avinava basu

0

에서 LocalDB로 전환 한 SQLEXPRESS후이 오류가 발생 하면 데이터베이스가 이미SQLEXPRESS . Management Studio에서이를 확인할 수 있습니다.

Entity Framework전환 한 후 사용할 때도 같은 문제가있었습니다 SQLEXPRESS from LocalDB. 나는 Update-Database명령 을 실행해야했다 . 그 후 성공적으로 연결할 수있었습니다.


0

@JeffOgata가 말한대로 정확하게했지만 오류가 발생했습니다.

Windows NT user or group 'IIS APPPOOL\ASP.NET v4.0' not found. Check the name again. (Microsoft SQL Server, Error: 15401)

내 오류 메시지를 다시보고 말 했어요 Login failed for user 'IIS APPPOOL\DefaultAppPool'.

IIS APPPOOL\DefaultAppPool모든 이름의 사용자를 추가 한 후 작동했습니다.


0

SQL Server 프로파일 러 (SSMS => 도구 메뉴에서 사용 가능)를 사용하고 IIS 사용자가 어떤 이유로 NT AUTHORITY \ IUSR 이었는지 (IIS 데이터베이스 = 데이터베이스 도구에 연결을 시도했을 때)이 질문에 대한 답변에서 권장되는 모든 단계에 관계없이 . 그래서 그 사용자를 SQL Server에 추가했는데 효과가있었습니다 ...


0

Asp.net 웹 양식에서

이 오류는 다음에서 asp.net을 설치할 때 수정되었습니다.

서버 관리자> 관리> 역할 및 기능 추가> 서버 역할> 웹 서버 (IIS)> 웹 서버> 응용 프로그램 개발> ASP.NET 3.5 / 4.6이 설치되었습니다.

내 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.