Właśnie zaimportowałem istniejącą produkcyjną bazę danych SQL Server 2008r2 do projektu bazy danych VS 2013.
Otrzymuję teraz szereg błędów wzdłuż linii
Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
Tak naprawdę nie potrzebuję mojego projektu VS DB do zarządzania użytkownikami, ale obawiam się, że spróbowałbym je usunąć po wdrożeniu, gdyby ich nie było.
Same pliki są generowane jako
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
lub
CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
Znacznik błędu pokazuje, że jest on przeznaczony specjalnie do logowania . Ponieważ jest to obiekt na poziomie systemu, rozumiem, że jest poza zakresem projektu db.
Czy wolę, aby zmienić je wszystkie na
CREATE USER [mydbuser] WITHOUT LOGIN;
lub dodać CREATE LOGIN
klauzulę na początku każdego pliku?
Usunięcie odniesienia do logowania wydaje się prostsze, a usunięcie użytkowników byłoby najprostsze.
Chcę się upewnić, że używam tego narzędzia zgodnie z jego przeznaczeniem. Czy będą jakieś problemy z ponownym opublikowaniem któregokolwiek z nich z powrotem do produkcji? Jaka jest właściwa procedura dodawania użytkownika / loginu poprzez projekt?
Odpowiedzi:
Najprościej jest nie zarządzać użytkownikami przez ssdt (większość ludzi tego nie robi). Możesz więc po prostu je usunąć i nie wdrażać loginów ani użytkowników.
Istnieją trzy sposoby:
Ed
źródło
Miałem ten sam problem i znalazłem ten link
Użytkownik ma nierozwiązane odniesienie do logowania
źródło
Najwyraźniej ten problem występuje również w projektach baz danych VS2017.
Udało mi się to rozwiązać, najpierw tworząc login, a następnie użytkownika.
źródło