当我为sql 2012创建Visual Studio数据库项目并将其与现有数据库(使用比较架构)进行同步时,我还同步sql Server登录. Visual Studio为登录生成以下脚本:
CREATE LOGIN [my_user] WITH PASSWORD = 'somesecurepass'
当我尝试在存在此登录的服务器上发布生成的sql时,sqlcmd会显示一条错误:
The server principal my_user already exists.
当我看看Visual Studio生成的sql脚本时,我看到许多对象被包含在IF EXISTS语句中,但是CREATE LOGIN没有被包装!
我尝试在项目中的sql脚本中手动将其包装,但是该项目不会构建,并且指向IF的错误:
sql70001: This statement is not recognized in this context.