问题标签 [sqlproj]

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

c# - 包括来自 DB 项目参考的 SQL Server PostDeployment

我们将其中一个 SQL Server DB 项目拆分为两个单独的项目。

我有一般的“表”发布工作,但现在我试图弄清楚如何让核心文件夹中的 PostDeployment 和 PreDeployment 脚本运行。

只是为了澄清。当我从 Core.Seed 发布时,我希望发布所有表(这是有效的),但我还需要两个项目的部署前和部署后脚本才能运行。

我不知道如何做到这一点。有什么建议么?这可能吗?

0 投票
0 回答
1220 浏览

msbuild - 使用 SqlPublishTask 的 dacpac 文件路径参数

我正在尝试使用 TeamCity 在构建数据库项目后自动发布它。

我正在使用带有“发布”目标的 MSBuild 运行器

我的 SQL 项目包含一个发布配置文件“Test.publish.xml”

我使用这个 MSBuild 参数告诉 MSBuild 要使用哪个发布配置文件:

项目的输出路径已经修改,所以默认的“bin\Output”是“sql\Staging”

当构建步骤执行时,我收到错误:

因此,如您所见,它正在标准 bin\Output 目录中查找 .dacpac 文件,而不是修改后的输出目录路径。此外,它期望 dacpac 文件被称为Alpha.sqlproj.dacpac,但我的 dacpac 文件被称为Alpha.dacpac

我需要做的是告诉 MSBuild 在哪里可以找到 dacpac 文件,因为它没有注意到自定义构建输出目录。是否有另一个 MSBuild 参数或我可以添加到我的发布配置文件的东西?

我知道我可以使用 sqlpackage.exe 作为一个简单的替代方案,但它似乎不在计算机上(位于 C:\Program Files\Microsoft SQL Server\110\DAC\bin),尽管安装了 SQL Server Data Tools 并且那是我正在努力的另一场战斗……

0 投票
0 回答
914 浏览

visual-studio-2013 - 如何在VS2013中关闭使用SQL Server数据工具的后台处理

我将 Visual Studio 2013 与 SQL 数据工具 (SSDT) 与 SQL 项目一起使用。

当我打开项目时,每次它都会检查一些背景模型并显示类似这样的消息“验证您的模型是否与您的源文件同步。您的数据库项目将在 1106 操作完成后准备就绪”

据我所知,我没有做任何事情来明确启动这个验证,所以我假设这是在做某种后台编译/处理/任何事情。

如果有一个大数据库,那么它将花费太多时间,我需要等待完成。

有什么办法可以关闭它吗?

0 投票
1 回答
462 浏览

visual-studio - 带有自定义静态代码分析器的 Visual Studio Db 项目

我在将一些示例代码分析器添加到数据库项目中时遇到了麻烦。
我遵循了本指南:https ://msdn.microsoft.com/en-us/library/dn632175(v=vs.103).aspx ,但没有添加自定义分析器。

我错过了什么?

PS我正在VS 2015 Enterprise使用SSDT 2016

0 投票
1 回答
51 浏览

sql-server - Stored Procedure gets published encrypted

So I made a simple stored procedure with SQLCLR and published it to my database. There are already some SPs and they are all not encrypted, only my published SP is encrypted. I googled for hours but could not find out how to turn the encryption off. Is there a way?

0 投票
2 回答
954 浏览

visual-studio-2015 - SSDT 发布脚本无需更改即可重新创建过程

我有一个导入到 中的数据库.sqlproj,以及一个.publish.xml将更改发布到远程数据库的发布配置文件。

我的理解是,当我右键单击-> 发布-> 生成脚本时,它应该计算本地定义和远程数据库之间的差异,并生成一个脚本以使远程数据库符合要求。

这一切似乎都可以正常工作,但是,它生成的脚本总是包含相同的 40 个左右的函数ALTER FUNCTIONALTER PROCEDURE过程的语句(总共定义了大约 1000 个),无论它们是否已更改。当我将ALTER语句与 Script Function as -> ALTER to script in SSMS 进行比较时,它们完全相同。

所以我的问题是:为什么 VS 认为这些是不同的,或者如果它们相同,为什么它会重新创建它们?

笔记:

  • 这些函数并不特殊 - 其中一些就像定义一个 varchar 一样简单,将其设置为一个值并返回它。
  • 我已经尝试将ALTER脚本运行到数据库中,但它们会继续生成。
  • 我已经检查了 SSMS 中的属性(右键单击-> 属性),但看不到它总是重新创建的那些和它不重新创建的那些明显不同的任何东西。
  • 我的发布配置文件是沼泽标准配置文件。

谢谢

0 投票
1 回答
519 浏览

sqlproj - 发布 .sqlproj 数据库项目

我正在尝试构建一个 .sqlproj 数据库项目,但出现以下错误:

“SqlBuildTask”任务不支持“SqlServerVerification”参数。验证该参数是否存在于任务上,并且它是一个可设置的公共实例属性

我的 .sqlproj 文件:

0 投票
3 回答
1570 浏览

sql-server - 发布到 SQL Azure 失败并显示“无法删除外部数据源”消息

我的解决方案中有一个 SQL 项目 (.sqlproj),目标平台为“Microsoft Azure SQL 数据库 V12”。

最近我添加了一个external data source和几个external tables针对这个数据源的。

ExternalCSVLists.sql文件:

外部表示例(IntegerListContent.sql文件)

第一次发布顺利。

现在,当我再次发布时(没有对外部表或数据源进行任何更改),我收到以下错误:

删除 [ExternalCSVLists]... (415,1):SQL72014:.Net SqlClient 数据提供者:消息 33165,级别 16,状态 1,第 1 行无法删除外部数据源“ExternalCSVLists”,因为它被外部表使用。

我检查了发布脚本并注意到它试图删除并创建外部数据源。外部表被跳过(这可能没问题,因为我没有更改它们)。

所以,

1)为什么drop external data source当所有这些数据源都与已经发布的数据源相同时它会产生一个声明

2)为什么它忽略依赖external tables呢?

我的发布设置几乎是默认设置(“删除”选项卡中的任何选项都未选中)。谢谢!

0 投票
3 回答
2583 浏览

visual-studio - 从代码构建和发布 sqlproj 以进行集成测试

我有一个带有数据库 (SQL Server 2008) 项目 ( .sqlproj) 的 (2015) 解决方案,我想使用这个数据库项目编写集成测试。我需要为每个测试重新创建数据库,但我似乎无法使用Microsoft.Build.

在我的测试程序集中,我引用了以下内容:

我的测试发布配置文件:

我用来进行设置的代码:

我从 DebugLogger 收到的输出:(仅来自发布任务的输出)

从命令行使用 MSBuild 运行正常

sqlproj 文件内容:

这是我认为的主要问题:

无法从程序集“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\Dac\130\Microsoft.Data.Tools.Schema.Tasks 实例化“SqlPublishTask”任务.Sql.dll”。请验证任务程序集是使用与您计算机上安装的相同版本的 Microsoft.Build.Framework 程序集构建的,并且您的主机应用程序没有缺少 Microsoft.Build.Framework 的绑定重定向。无法将“Microsoft.Data.Tools.Schema.Tasks.Sql.SqlPublishTask”类型的对象转换为“Microsoft.Build.Framework.ITask”类型。

0 投票
1 回答
245 浏览

dacpac - 仅在发生更改时构建 dacpac

使用 Visual Studio 2015 和 TFS 2012。

我们使用 TFS 构建服务器来构建和部署我们的项目。为我们的数据库构建和部署 dacpac 占用了我们大部分的部署时间。很多时候,数据库没有变化。

当数据库没有更改时,是否可以不构建 dacpac?