HiveBrain v1.2.0
Get Started
← Back to all entries
principlesqlModerate

"Unresolved reference to User" after importing as a VS DB project

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
afterreferenceuserunresolvedprojectimporting

Problem

I just imported an existing SQL Server 2008R2 production database into a VS 2013 database project.

I now get a number of errors along the lines of

Error SQL71501:
User: [mydbuser] has an unresolved reference to Login [mydbuser].


I don't really need my VS DB project to manage users, but I'm concerned that it would try to remove them upon deploy if they weren't there.

The files themselves are generated as

CREATE USER [mydbuser] FOR LOGIN [mydbuser];


or

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


The error marker shows that it's specifically for the Login.
As that's a system-level object, I can understand it being outside the scope of the db project.

Is it preferred that I change them all to

CREATE USER [mydbuser] WITHOUT LOGIN;


or add the CREATE LOGIN clause to the beginning of each file?

Removing the Login reference seems to be simpler and removing the users altogether would be the simplest.

I want to make sure that I'm using the tool the way it was intended.

  • Will there be any issues in re-publishing any of those back to production?



  • What is the proper procedure for adding a user/login via a project?

Solution

I had the same problem and found this link

User has an unresolved reference to Login


If you create application specific logins (which you should) then you
are going to come across this error when trying to build your
solution. To correct this error, select include
'Non-Application-scoped' object types in the options (gear icon at
top) when you do a schema compare (right-click the database project to
find Schema Compare). You can then just import the logins into your
regular project, and the references are sorted. Note: If you click on
the Object Types tab and it closes the dialog (which it did for me),
instead use the tab key until Application-scoped is highlighted, then
press the down arrow to highlight Non-Application-scoped and press the
space bar. Now you should be able to click OK and see the logins.

Context

StackExchange Database Administrators Q#107556, answer score: 14

Revisions (0)

No revisions yet.