2011-01-31 2 views
1


최근에 내 동료 중 한 명으로부터 로컬 개발 컴퓨터로 데이터베이스가 복원되었습니다. 관리자로 로그인했습니다. 내가 연결하려고하는 기본 데이터베이스를 설정했습니다. SQL에서 Sql의 User Mappings 화면에 대한 관리자 사용자 db_owner 권한을 부여했습니다.
SQL01270 : 열려있는 데이터베이스가 "[ADMIN-PC.VirginActive]"로그인에서 요청한 할 수 없습니다 나는 SQL 비교 도구를 실행할 때Visual Studio DB 비교 도구가 넘어졌습니다 - SQL01270 : 데이터베이스를 열 수 없습니다.

그러나 나는 다음과 같은 오류가 발생합니다. 로그인에 실패했습니다.
2011-01-31 10 : 49 : 20.28 로그온 오류 : 18456, 심각도 : 로그인은 SQL 로그 파일은 다음 보여 사용자 관리 - PC의 \ 관리 '

실패 14, 상태 : 38 2011-01-31 10 : 49 : 20.28 'admin-PC \ admin'사용자가 로그온에 실패했습니다. 이유 : 명시 적으로 지정된 데이터베이스를 열지 못했습니다. [클라이언트 :]

"오류 : 18456, 심각도 : 14, 상태 : 38"을 둘러 보았습니다. googlemachine과 내가 얻는 의견은 사용자가 상자에 로그인 할 수 없다는 것입니다. 그러나 사용자는 db를 만든 동일한 사용자 인 admin 사용자입니다.

이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?

답변

0

이 문제는 여전히 파일 읽기/쓰기 권한 문제 일 수 있습니다. 모든 프로그램을 관리자 권한으로 실행하고 (vista/win7을 실행하는 경우) mdf 파일의 보안 설정을 변경하십시오.

그렇지 않으면이 목적으로 만 만든 sql-user로 연결을 시도하십시오.

1

오늘 같은 문제가있었습니다. 내가 찾은 해결책은 데이터베이스의 데이터베이스 소유자를 다른 사용자 (예를 들어 "sa"를 사용)로 변경하면 Visual Studio 2010 데이터베이스 스키마 비교에서 변경 사항을 성공적으로 연결/변경할 수 있다는 것입니다.

데이터베이스 소유자를 변경하려면 데이터베이스 이름을 마우스 오른쪽 버튼으로 클릭하고 파일로 이동하십시오 ... NT 계정이 그 목록에있을 가능성이 큽니다. 이를 "sa"또는 적절한 것으로 변경하고 변경 사항을 적용한 다음 다시 시도하십시오. 이것은 나를 위해 일했다.

3

방금 ​​같은 종류의 문제가 해결되었지만 데이터베이스가 아니며 스키마 비교 파일 자체 (.SCMP)였습니다.

어떻게 든 내 SCMP는 몇 가지 주요 장소에서 데이터베이스 이름의 정규화 된 [machine.domain \ instance.database] 표현을 얻었습니다. 메모장에서 파일을 열어서 간단한 이름으로 바꿨는데 (문제는 'DW'). 문제는 즉시 해결되었습니다.

('일부 주요 장소'는 DatabaseBasicModelProvider의 DatabaseName과 TargetDatabaseName 속성의 값임)

관련 문제