假设您有一个数据库项目,并且没有在 Database.sqldeployment 设置中选中“始终重新创建数据库”。假设您部署到一台服务器,该服务器已经具有一个数据库(其名称与您正在部署的数据库的名称相同)。
在什么情况下数据库部署会生成带有“DROP DATABASE”语句的脚本?
如果您永远、永远、永远不希望通过右键单击数据库项目并选择“部署”生成的部署脚本删除您的数据库,您可以采取哪些步骤来防止这种情况发生?
最佳答案
除了未选中“始终重新创建数据库”之外,您还应该检查数据库项目的“属性”页面上的“开发”选项卡。确保您定义了目标连接。当您未定义数据库时,项目将始终且仅进行部署,就好像目标数据库不存在一样。此行为是设计使然。看到这个link了解更多详情。
我的建议是使用 Windows 身份验证创建连接,以便每个用户都可以访问他们应该访问的扩展。
另请注意,您必须为每个部署配置(例如调试、发布等)执行此操作
为了安全起见,我个人将部署操作设置为仅创建一个脚本并手动运行它!
关于sql-server - 如何防止 VS2010 数据库项目部署生成删除数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12301837/