问题标签 [database-deployment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
289 浏览

visual-studio-2010 - VS 2010 数据库项目部署未部署索引

我在 Visual Studio 2010 中有一个数据库项目,可以毫无问题地将表和存储过程部署到服务器。但是,没有一个索引脚本包含在 sql 输出脚本中,因此没有得到应用。

我一直无法找到任何解决此问题的方法。我不知道我错过了什么。索引脚本的“构建操作”属性设置为“构建”,我在 .sqldeployment 或 .sqlsettings 文件中看不到任何关于索引部署的内容。

0 投票
1 回答
4924 浏览

asp.net - 更新数据库功能在 Visual Studio 2012 的“发布 Web”对话框中不起作用

我正在 Visual Studio 2012 下开发 ASP.NET Web 窗体应用程序。我正在使用 Web 部署和发布 Web 对话框进行应用程序部署。我正在尝试使用更新数据库功能部署数据库架构。我输入了一个指向远程 SQL Server 的连接字符串。如果我单击“测试连接”按钮,Visual Studio 会说测试连接成功。

在此处输入图像描述

然后我转到预览选项卡并单击预览数据库链接。

在此处输入图像描述

在打开的窗口中我有消息

Web 部署任务失败。(无法生成部署脚本。无法连接到目标服务器。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_EXECUTING_METHOD 。)

其他项目文件部署正常。我可以使用 SQL Server 管理服务连接到 SQL Server。但是为什么数据库不能更新呢?我试图禁用服务器防火墙 - 没有运气。

  • 视觉工作室专业版 2012
  • SQL Server 2012
  • 网络部署 3.0

更新

如果我在 DatabaseEntitiesRaw 的连接字符串中使用 SQL Server 身份验证sa而不是 Windows 身份验证,则一切正常。但 Windows 身份验证适用于 SSMS,我想使用它,因为我只从公司域内的计算机进行部署。dbDacFx 确实不适用于 Windows 身份验证吗?

0 投票
1 回答
1780 浏览

sql-server - 如何防止 VS2010 Database Project Deployment 生成 drop 数据库?

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

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

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

0 投票
0 回答
2877 浏览

visual-studio-2010 - Visual Studio 数据库部署 - 脚本未在 SQLCMD 模式下运行

我有一个 SQL Server 2008 数据库项目,我正在尝试使用 Visual Studio 2010 进行部署。当我单击部署时,构建工作正常,但是在它创建部署脚本并开始执行它之后,我收到以下错误:

错误 8 SQL80001:“DatabaseName”不是可识别的选项。

错误 7 SQL80001:':' 附近的语法不正确。

查看部署脚本,它有以下几行:

:setvar 数据库名称 "DEV_DB"

...

:on 错误退出

所以看起来 SQL Server 没有在 SQLCMD 模式下运行部署脚本来理解该语法。如果我要复制并粘贴到 SSMS 中,我可以设置该选项,但我想直接从 Visual Studio 进行部署。让 VS 在 SQLCMD 模式下运行此脚本的设置在哪里,或者如何将脚本设置为不使用 SQLCMD 语法生成?

谢谢。

0 投票
1 回答
932 浏览

.net - 如何限制部署后脚本在 Visual Studio 数据库项目中仅运行一次

我们的 Visual Studio 数据库项目中有一个部署后脚本。它用数据填充查找表。问题是每次我们更改架构并生成更新脚本时,部署后脚本都会附加到部署脚本的末尾。有没有办法将 VS2010 中的特定部署后脚本标记为只运行一次?

0 投票
1 回答
1622 浏览

database - SQL 数据库项目用于部署数据库的端口号

我想知道哪个端口号在 Visual Studio 2010 中使用 dbproj(数据库项目)在远程服务器中部署数据库,或者我如何找到该信息,谢谢!

0 投票
1 回答
271 浏览

sql-server-2008 - 使用稀疏列而不是普通关系表有什么风险?

我有三个与一个表相关的表,在我的新设计中,我想通过使用稀疏列来替换关系。你可以看下图。

在此处输入图像描述

我知道我会有冗余。但我想知道这种设计方式的其他风险是什么?通过这种新方式,我的查询将非常简单快捷。您对此有何想法?抱歉我的英语不好,谢谢。

0 投票
3 回答
7320 浏览

sql-server - 将多个参数添加到 sqlpackage.exe 中的“变量”参数的语法是什么?

我正在使用SqlPackage.exe我的部署。我已阅读此处的文档以了解SqlPackage.exe.

该文档仅说明了一个变量的语法:

为特定于操作的变量指定名称值对;{变量名称}={值}。DACPAC 文件包含有效 SQLCMD 变量的列表。如果没有为每个变量提供值,则会导致错误。

我的问题是文档没有说明如何将多个参数传递给Variables参数。例如,我想这样做:

有谁知道这个的语法?

0 投票
1 回答
296 浏览

.net - 在不了解目标数据库的情况下部署数据库项目

我有个问题。我习惯使用 Teamcity + Database 项目,该项目能够将数据库部署到所有 DTAP 服务器。我喜欢这种工作方式——它允许我每周在 2 分钟内部署到生产环境。

现在我在一家公司工作,该公司的部署过程涉及 BATCH 脚本和一堆修改脚本。然后有一个表可以跟踪哪些更改脚本应用于数据库并基于该数据库更新。

我建议使用具有特定部署配置的数据库项目,但问题是:我们不允许访问验收和生产服务器。由于我们无法连接到那些,我们无法部署到那些服务器,也不能使用数据库项目生成的 sql 脚本,因为我们无法定义目标数据库。

当然——我们可以得到生产的备份,把它放在某个地方并针对它创建脚本,但这并不方便。

我的问题是:有没有一种优雅的方法来解决这个项目,并使用我不知道的 DB 项目的一些选项创建一个 DB 脚本,而不必知道目标 DB(如果一直存在?),还是说我们无权访问这些服务器只是废话,我们是否应该专注于说服他们允许我们访问?

谢谢。

0 投票
2 回答
3381 浏览

visual-studio-2012 - DACPAC 不包括复合对象

我有一个 VS2012 数据库项目,其中包括表、存储过程、视图等。

然后我有第二个数据库项目,其中包含对第一个项目的数据库引用。我已确保从“项目属性 -> 调试 -> 高级”菜单中选择了“包括复合对象”选项。

当我构建第二个项目并获取生成的 DACPAC 文件并通过 SSMS2012 部署它时,它不会创建第一个项目的对象。

我错过了什么吗?为什么复合对象不包含在 DACPAC 中?