问题标签 [sql-server-data-project]

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 回答
134 浏览

visual-studio - 如何在 SQL Server Database Project 2017 中根据环境部署不同的登录?

我已阅读以下问题:如何在 Visual Studio 数据库项目中处理用户和登录?

基本上,我正在寻找一种基于部署到的数据库服务器轻松设置登录的方法。另一个问题是,这将作为 azure-devops 发布管道的一部分进行部署,因此将部署 dacpac。

上面链接的问题涉及VS 2010,并且是手动的。这完全改变了吗?这可以使用 DAC 发布配置文件来完成吗?

0 投票
1 回答
534 浏览

visual-studio - 如何引用 SQL Server 数据库项目中定义的变量?

我已经阅读了很多关于此的问题,例如:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/da4bdb11-fe42-49db-bb8d-288dd1bb72a2/sqlcmd-vars-in-create-table-script?forum=ssdt

如何根据部署配置文件运行不同的前后 SSDT 发布脚本

我想要实现的是一种基于部署到的环境定义一组脚本的方法。这个想法是将环境作为 SQLCMD 变量作为 azure-devops 管道的一部分传递到一个名为 $(ServerName) 的变量中,我在 sql server 数据库项目中的属性下设置了该变量,默认值为“DEV” .

在此处输入图像描述

然后在部署后脚本中使用它,如下所示:

因此,这应该根据 $(ServerName) 变量选择正确的 index.sql 文件。通过发布并为 $(ServerName) 变量输入“QA”并生成脚本来测试它时,它仍然显示“DEV”脚本。但是,脚本的顶部显示变量已正确设置:

在此处输入图像描述

如何让部署后脚本正确引用 $(ServerName) 变量,以便动态设置正确的引用路径?

0 投票
2 回答
300 浏览

sql-server - 有没有办法在 SQL Server 数据库项目的引用数据库中使用实际数据库名称作为数据库变量名称?

似乎当您添加另一个数据库作为对 SQL Server 数据库项目的引用时,在查询代码中引用该数据库的方法是通过数据库变量名称,即符号 $(ReferencedDatabaseName):

引用的数据库 - 数据库变量名称

因此,主数据库中的查询将通过以下方式引用被引用数据库中的对象:

有没有办法通过它的实际名称直接引用数据库,例如:

如果不是,这是否意味着如果我将引用其他数据库中对象的现有数据库导入到我的解决方案中,我需要用这个数据库变量名称表示法替换所有引用的数据库名称?

0 投票
0 回答
372 浏览

visual-studio-2017 - 如何忽略 VS2017 SQL 数据库项目中的构建错误(而不是警告)

我在 VS 2017 上使用 SQL 数据库项目工作。在生成所有脚本后,我遇到了一些错误(71501 或 71561 -> 未解决的引用)。我只想使用 SQL 数据库项目来比较数据库与版本化脚本,只是为了了解我的数据库更改的历史记录。

  • 我不想做数据库引用,因为我不需要它,而且我已经尝试过了,它不适用于链接服务器。

  • 我已经尝试将 Build Action 设置为 None。但是当我用我的脚本重新比较我的数据库时,现有的脚本被忽略并且比较工具想要添加新的脚本。

那么,您能帮我找到一种简单的方法来忽略 VS2017 中 SQL 数据库项目中的错误吗?

谢谢你的帮助 !

0 投票
0 回答
170 浏览

visual-studio-2019 - 抑制 VS 数据库项目中的引用错误不起作用

我想禁止我的数据库项目中的所有 SQL71561 错误。该数据库中构建了许多视图,它们引用了另一个表。但是,我无法将其他数据库导入数据库项目,也无法为其维护 DACPAC 文件。

正如此答案所建议的那样,我已在 Build 部分下的项目属性的“Suppress Transact-SQL 警告”字段中添加了错误号。我尝试了“SQL71561”和“71561”都没有成功。

有人知道我在做什么错吗?

构建设置和持续错误

0 投票
1 回答
167 浏览

visual-studio - SSDT SQL Server 数据库项目 sql 文件中缺少工具栏

在 Visual Studio 2019 中,当我创建一个新的 sql 查询文件时,我可以在选项卡内看到一个工具栏,如下所示:

在此处输入图像描述

使用 SQL Server Data Tools,我创建了一个新的 SQL Server 数据库项目,其中包含缺少此工具栏的存储过程和函数的 .sql 文件。我只能通过右键菜单运行查询。

在此处输入图像描述

是否有任何设置可以在每个打开的 .sql 文件上显示此工具栏?

0 投票
0 回答
142 浏览

sql-server - Visual Studio 数据库项目 - 对对象的引用未解决

我已将数据库“db_test”从 SQL Server 导入到我的 Visual Studio 数据库项目中。

但是当我编译这个项目时,会显示很多警告,说过程 [sp_xxx] 对对象 [db_test].[dbo].[table_1] 有一个未解决的引用。存储过程[sp_xxx] 也在数据库“db_test”中。

我已经尝试了以下链接中建议的解决方案,但问题仍然存在。

https://the.agilesql.club/2017/11/ssdt-how-to-fix-error-sql17502/

https://www.codeproject.com/Articles/565459/Fixing-SSDT-Unresolved-Reference-to-Object-Error

你有什么主意吗?

谢谢。

0 投票
0 回答
124 浏览

visual-studio - Intellisense 在 Visual Studio for Sql Server 数据项目中不起作用

我正在尝试使用 Sql Server 数据项目从 SSMS 切换到 Visual Studio,因为我喜欢项目/解决方案结构来组织相关脚本。

但是,我似乎无法让 Intellisense 按预期工作。

我希望能够连接到数据库,然后键入

Select * from Account a where a.并获取帐户表的字段列表。这在 SSMS 中工作得很好。

但是,在 VS 中,我没有得到字段列表。 这就是我的样子

我已确保在此处为 Sql Server 数据项目启用 Intellisense:

在此处输入图像描述

难道我做错了什么?还是不支持这种类型的 Intellisense?

0 投票
1 回答
89 浏览

sql-server - SQL Server 系统版本表的变量 History_Retention_Period

我希望能够为不同的环境设置不同的保留期,而无需为每个环境设置单独的脚本。我目前在 Visual Studio 中使用 SQL Server 数据库项目并创建一个部署后脚本来处理这个问题。

我已经设置了一个 Sql cmd 变量,该变量基于我正在使用的发布配置文件传递给一个名为 RetentionPolicyMonths 的变量:

然后我想在我的部署后脚本中使用它来设置每个表的保留策略:

我的问题是,它目前不允许我像现在这样使用变量设置 History_Retentin_Period 属性。这是我目前看到的错误:

我可以使用变量来设置它,还是只能提供数字?