2011-12-16 2 views
1

나는 SQLSERVER (2008 R2 EXPRESS) 관리자 목록에 있습니다. 내 컴퓨터에서 관리자 역할을 맡았습니다. 그리고 수동으로 연결할 수 있습니다 SQLSERVER (Management Tools 통해) ServerName을 사용하여 (내 경우에는 그것은 S-PROG-T\SQLEXPRESS). 설치하는 동안 나는 Windows Authentication 모드 만 사용하기로 결정했습니다. SS에 연결할 수 없습니다.SQLSERVER 2008 R2 EXPRESS에 연결할 수 없습니다.

오류 메시지는 다음과 같습니다

<session-factory> 
    <property name="connection.provider"> 
     NHibernate.Connection.DriverConnectionProvider 
    </property> 
    <property name="dialect"> 
     NHibernate.Dialect.MsSql2008Dialect 
    </property> 
    <property name="connection.driver_class"> 
     NHibernate.Driver.Sql2008ClientDriver 
    </property> 
    <property name="connection.connection_string"> 
     Data Source=S-PROG-T\SQLEXPRESS;Initial Catalog=ProjectDB;Integrated Security=SSPI 
    </property> 
    <property name="show_sql"> 
     true 
    </property> 
    <mapping resource="Project.Domain.Model.Entities.Mappings.Vehicle.hbm.xml" assembly="Project.Domain" /> 
</session-factory> 

을 내가 .\SQLEXPRESS 데이터 소스를 사용하여 연결을 시도했다 : 나는 NHibernate을 위해 다음과 같은 구성을 사용하고Login failed for user S-PROG-T\admin. Cannot open database 'ProjectDB' requested by the login.

. 인바운드 규칙은 SSMS를 제한하지 않습니다.

무엇이 잘못 되었나요? 감사합니다.

편집 : 단위 테스트

모든 (nhibernate 구성 및 스키마 내보내기 재판) 내 단위 테스트 안에 시작 (나는이 문제를 알고하지 않습니다).

[TestFixture] 
public class VehicleFixture 
{ 
    [Test] 
    public void TestSchemaExport() 
    { 
     new SchemaExport(new Configuration().Configure()).Execute(false, true, false); 
    } 
} 

편집 : 로그인 정보가

내가 로그 내부에 다음 정보를 발견 (경로 : %ProgramFiles%\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Log\) :

Error: 18456; State: 38.

Login failed for user ‘S-PROG-T\Admin’.

Reason: Failed to open the explicitly specified database.

문서에 따르면 : http://sql-articles.com/articles/troubleshooting/troubleshooting-login-failed-error-18456/ 데이터베이스가 없거나 로그인에 데이터베이스에 대한 액세스 권한이 없습니다.

나는 완전히 혼란 스럽다. 스키마를 내보내려고하기 전에 수동으로 데이터베이스를 만들어야합니까 (질문이 어리석은 경우 죄송합니다)?

편집 : 혼합 인증 모드를 사용

내가 혼합 모드 인증을 설정하고 serveradmin & sysadmin 역할과 새 로그인을 만들었습니다. 그러나 여전히 사용자 이름을 제외하고 오류 메시지는 동일합니다. 다시 수동으로 로그인과 암호로 동일한 작업 (db 연결 및 생성)을 수행 할 수 있습니다.

+0

어떤 프로그래밍 언어를 사용하고 있습니까? – ChrisBint

+0

"통합 보안"에 왜 공백이 있습니까? –

+0

@WernerHenze 그건 범인이 아니에요. 오타는 여기에만 있습니다. – lexeme

답변

1

확인. 나는 모든 과정을 오해했다. 인증은 물론 연결 문자열을 사용하면 모든 것이 정상입니다. 방금 스키마 내보내기가 데이터베이스 자동 생성과 스키마 내보내기를 의미한다고 생각했습니다. 그래서 DB를 만들고 스키마를 성공적으로 내 보냈습니다.

-1

웹 사이트에서 동일한 ID를 사용하지 않으므로 관리자가 아닙니다. 특정 ID를 정의하고이 ID를 사용하도록 ApplicationPool (또는 관리자 계정)을 설정할 수 있습니다. 또는 통합 보안보다는 로그인/암호를 사용하십시오.

+1

그는 자신의 고유 한 정체성으로 들어갈 수없는 것처럼 보입니다. –

0

데이터베이스를 '마스터'로 변경하면 NHibernate에 연결할 수 있습니까?

관리 도구를 사용하여 연결하는 데 사용하는 서버 로그인에 ProjectDB 데이터베이스 사용자 S-PROG-T \ admin이 매핑됩니까?

속성 이름 = "연결에서 사용자/암호 조합을 사용하여 데이터베이스에 연결할 수 있습니까?.?. 대신 통합 보안 당신은 여전히 ​​새 로그인 그러나 만든 쓰기 = SSPI

편집의 "connection_string - 당신은 ProjectDB에서 데이터베이스 사용자이 있어야합니다 뭔가 서버 인증에 사용되는 로그인에 매핑 서버 로그인 데이터베이스에 액세스 할 수

이 스레드에서

봐 :. TSQL to Map User to Database

또는 여기에 읽기 : http://www.nerdymusings.com/LPMArticle.asp?ID=41

관련 문제