sql-server - 如何防止 VS2010 数据库项目部署生成删除数据库?

标签 sql-server visual-studio-2010 database-project database-deployment drop-database

假设您有一个数据库项目,并且没有在 Database.sqldeployment 设置中选中“始终重新创建数据库”。假设您部署到一台服务器,该服务器已经具有一个数据库(其名称与您正在部署的数据库的名称相同)。

在什么情况下数据库部署会生成带有“DROP DATABASE”语句的脚本?

如果您永远、永远、永远不希望通过右键单击数据库项目并选择“部署”生成的部署脚本删除您的数据库,您可以采取哪些步骤来防止这种情况发生?

最佳答案

除了未选中“始终重新创建数据库”之外,您还应该检查数据库项目的“属性”页面上的“开发”选项卡。确保您定义了目标连接。当您未定义数据库时,项目将始终且仅进行部署,就好像目标数据库不存在一样。此行为是设计使然。看到这个link了解更多详情。

我的建议是使用 Windows 身份验证创建连接,以便每个用户都可以访问他们应该访问的扩展。

另请注意,您必须为每个部署配置(例如调试、发布等)执行此操作

为了安全起见,我个人将部署操作设置为仅创建一个脚本并手动运行它!

关于sql-server - 如何防止 VS2010 数据库项目部署生成删除数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12301837/

相关文章:

c# - 代码隐藏中当前目录的相对路径不一致

c++ - VS 2010 的行计数器

database-project - Visual Studio 数据库项目 : Include 'If Exists' checks for all the objects

sql-server - 在 SQL Server 中存储坐标(经度/纬度,来自 Google map )的最佳方式是什么?

c# - 在 VS2010 中查找并替换双引号之间除文本以外的所有内容

visual-studio-2010 - VS2010数据库比较。如何创建* .DBSchema扩展文件?

sql - 在数据库项目中使用同义词创建 View (Visual Studio 2012)

sql-server - 无法参与交易

sql-server - T-SQL 替换 XML 节点

asp.net - 在 HTML 表中显示 SqlDataSource 数据(DataTables 插件)