sql-server – Visual Studio数据库项目:在创建之前检查SQL Server登录是否存在

前端之家收集整理的这篇文章主要介绍了sql-server – Visual Studio数据库项目:在创建之前检查SQL Server登录是否存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我为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.

现在,如何强制Visual Studio通过IF EXISTS检查生成登录创建脚本,也不会失去同步功能

解决方法

将脚本文件(* .sql)的Build Action属性更改为None.这解决了这个问题.

通过右键单击解决方案资源管理器中的sql文件,然后单击属性来访问构建操作属性.或者,在解决方案资源管理器中突出显示文件,然后按’F4′.

猜你在找的MsSQL相关文章