문제

기존 SQL Server 2008R2 프로덕션 데이터베이스를 VS 2013 데이터베이스 프로젝트로 가져 왔습니다.

이제는

라인을 따라 여러 가지 오류를 가져옵니다.
Error       SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
.

사용자를 관리하기 위해 VS DB 프로젝트가 필요하지는 않지만, 거기가 아니면 배포시 삭제하려고 시도하는 것이 좋습니다.

파일 자체가

로 생성됩니다.
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
.

또는

CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
.

오류 마커는 로그인 에 대해 특히 그렇습니다. 시스템 수준의 개체는 DB 프로젝트의 범위를 벗어나는 것을 이해할 수 있습니다.

모두를 모두 변경하는 것이 좋습니다

CREATE USER [mydbuser] WITHOUT LOGIN;
.

또는 각 파일의 시작 부분에 CREATE LOGIN 절을 추가합니까?

로그인 참조를 제거하는 것 같습니다. 사용자가 완전히 사용자가 간단합니다.

공구가 의도 한 방식을 사용하고 있는지 확인하고 싶습니다. 생산으로 되돌아가는 사람들을 다시 게시하는 데 문제가있을 것입니까? 프로젝트를 통해 사용자 / 로그인을 추가하는 올바른 절차는 무엇입니까?

도움이 되었습니까?

해결책

SSDT를 통해 사용자를 관리하지 않는 가장 쉬운 방법입니다 (대부분의 사람들은 그렇지 않습니다).그래서 당신은 그들을 밖으로 제거하고 로그인이나 사용자를 배치하지 못할 수 있습니다.

세 가지 방법이 있습니다 :

ed

다른 팁

나는 같은 문제가 있고이 링크를 발견했습니다

사용자는 로그인 할 예정인 참조

응용 프로그램 특정 로그인 (사용자가 해야하는 경우)을 만드는 경우 당신을 건설하려고 할 때이 오류가 발생할 것입니다. 해결책. 이 오류를 해결하려면 포함을 선택하십시오 옵션의 '비 응용 프로그램 범위'객체 유형 (기어 아이콘 맨 위) 스키마 비교 (데이터베이스 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오. 스키마 비교를 찾으십시오). 그런 다음 로그인을만으로 가져올 수 있습니다 일반 프로젝트 및 참조가 정렬됩니다. 참고 : 클릭하는 경우 오브젝트 유형 탭이며 대화 상자 (나를 위해했던 것)를 닫습니다. Application-Scoped가 강조 표시 될 때까지 Tab 키를 사용하십시오. 아래쪽 화살표를 눌러 응용 프로그램 범위가 아닌 스코프를 강조하고 스페이스 바. 이제 확인을 클릭하고 로그인을 볼 수 있어야합니다.

명백하게이 문제는 여전히 VS2017 데이터베이스 프로젝트도 여전히 발생하고 있습니다.

나는 먼저 로그인을 작성한 다음 사용자를 만드는 것으로 해결할 수있었습니다.

    -- Windows Account
    CREATE LOGIN [Domain\Username]
    FROM WINDOWS WITH DEFAULT_LANGUAGE = [us_english];

    GO

    CREATE USER [Domain\Username] FOR LOGIN [Domain\Username];
    GO

    -- Sql Acccount

    CREATE LOGIN [sql_account] WITH PASSWORD = 'Ch@ngeth1spA$swurD'
    GO

    CREATE USER [sql_account]
    FROM LOGIN [sql_account]
    WITH DEFAULT_SCHEMA = dbo

    GO


    -- Then set the sql file Build Action to "Build"
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top