问题标签 [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 投票
3 回答
3221 浏览

c# - C# VS 2013 错误 02019:/target 的目标类型无效:必须指定 'exe'、'winexe'、'library'、'module'、'appcontainerexe' 或 'winmdobj' CSC

我在一个网站上工作,该网站使用偶尔更新的各种类库。其中一个库是一个 sqlproj 文件,我相信它是用 VS2010 制作的。它是其他库的依赖项,我无法构建/重建我的解决方案,因为我不断收到此错误,因此不会生成 DLL。当我第一次在 VS2013 中打开项目时,我会在浏览器中打开一份迁移报告。但是迁移表明它是成功的。当我尝试构建项目时,出现错误:

错误 1 ​​02019:/target 的目标类型无效:必须指定“exe”、“winexe”、“library”、“module”、“appcontainerexe”或“winmdobj” CSC

我已经尝试在基本相同的问题上遵循有关此问题的一些建议,但没有成功。升级到 Visual Studio 2013 后,由于缺少 SqlServer.targets 文件,项目无法加载似乎该问题中也有一些未解决的流。

任何帮助都会很棒。很高兴提供更多详细信息和/或编辑问题以使其更加概括。提前致谢。

0 投票
2 回答
695 浏览

sql-server - 在数据库项目中的新表上创建 Not Null FK

我有一个表,其中有行。我正在使用 SQL 数据库项目来管理数据库,并且我想通过向该表添加一个新的 NOT NULL 列来升级架构,该列带有对新表的 FK 约束(也包含在新版本的项目)。

这可能吗?我知道我可以使用该选项为新的 FK 列生成智能默认值,但这无济于事,因为我没有机会将任何行放入 FK 引用的新表中。

我有什么选择?因为预部署脚本在进行模式比较之后执行,所以我无法在此处创建新表,因为比较首先运行并确定它需要创建表 - 当它到达脚本中的这一点时,这会爆炸并发现表已经存在(预部署时创建的)

0 投票
1 回答
733 浏览

sql-server - 从现有 dacpac 重建新 dacpac 时出错 SQL71501

当我尝试使用 Microsoft.SqlServer.Dac.Extensions.dll - DacPackageExtensions.BuildPackage() 方法构建时,我需要将多个 dacpac 合并到一个 dacpac 中,因此使用示例 ( http://dacsamples.codeplex.com ) ,我得到与未解决的对不同位置的未命名对象的引用有关的错误。但是,如果我使用 VS2015 IDE 构建,那么我不会收到此类错误,大概是同一件事?有任何想法吗?

Microsoft.SqlServer.Dac.DacServicesException 未处理
HResult=-2146233088 消息=无法将包保存到文件。模型存在构建阻塞错误:错误 SQL71501:验证元素时出错 [lr].[Sample]:视图:[lr].[Sample] 对未命名对象有未解析的引用。错误 SQL71501:验证元素 [lr].[Sample] 时出错:视图:[lr].[Sample] 具有对未命名对象的未解析引用。错误 SQL71501:验证元素 [lr].[Sample] 时出错:视图:[lr].[Sample] 具有对未命名对象的未解析引用。

SQLProj 中的失败视图定义示例:

0 投票
1 回答
362 浏览

visual-studio - 如何在 TFS SQL 项目中设置和获取构建版本

我在 Visual Studio 2013 和 SSDT 中使用 TFS 来创建各种 SQL 数据库脚本。即,我正在通过 VS而不是SSMS 进行所有 SQL DB 开发。

我现在想要实现的是在构建/发布项目时根据此处发布的功能从外部文本文件生成/检索版本号:

http://www.codeproject.com/Articles/468855/Working-with-MSBuild-Part-2

所以我在MyProject.sqlprojxml 文件中添加了以下内容:

我有一个VersionInfo.txt文件位于: C:\Source Control\MISTP\Main\DB\SSMS\MyProject\Build

其中仅包含字符串:1.2.3.4

但是,当我在 VS 中构建和/或发布项目时,这似乎并没有真正做任何事情。我错过了什么?!

我是 MSBuild 的新手,但语法看起来是正确的 - 并且很大程度上来自 codeproject 文章 - 并且文件的路径是好的。

感觉好像 xml 没有被执行,但我假设它在 .sqlproj 文件中的存在将导致它被执行。

谢谢

0 投票
1 回答
76 浏览

sql-server - 不使用 dbo 时使用 Visual Studio 数据库项目

我是 Visual Studio 数据库项目的新用户,我正在慢慢加入。但是,我不是 dbo,并且没有所有权利。这是否意味着我无法使用这种类型的项目?

当我尝试架构比较并尝试更新目标时,它在尝试执行以下操作时失败:DISABLE TRIGGER ALL ON DATABASE;

是否有允许我在没有该级别权限的情况下工作的配置?

0 投票
0 回答
87 浏览

sql-server - .sqlproj 中的用户导致重复错误

我们正在使用 Visual Studio 数据库项目来定义我们的数据库并进行部署。

并且在本地部署时效果很好。但是在服务器上部署时,使用 OctopusDeploy 会导致以下错误:

这可能不是问题,因为生成的用户确实可以工作。但这是一个重要的危险信号,我们宁愿没有任何错误或警告。

0 投票
2 回答
749 浏览

sql-server - 从 2008 R2 导出 Bacpac 在 Azure 验证规则上失败

我正在使用 Powershell 探索 Microsoft.SqlServer.Dac.dll 中提供的 SSDT .NET 类,并且我正在尝试将数据库放入基于源代码控制的 SDLC 作为概念证明。我尝试的第一件事是导出一个 bacpac,以便我们可以将数据库传播到我们的测试环境中,并最终传播到生产环境中。

到目前为止,我在导出 dacpac 时使用DacServices.Extract. 但是,当我尝试使用 导出相同的数据库时DacServices.ExportBacpac,会报告大量错误,类似于:

Error validating element [dbo].[GetNewCustomers]: Deprecated feature 'Table hint without WITH' is not supported on SQL Azure.

我知道错误报告的内容(使用(NOLOCK)提示而不是WITH (NOLOCK))。但是,我的工作站上安装了 Sql Server 2012 工具集,并且我正在使用的数据库是 Sql Server 2008 R2,所以我不关心 Azure 对这种语法的支持。

  • 当我提取 bacpac 时,有没有办法告诉 Dac 框架我没有使用 Azure?
  • 我会以错误的方式解决这个问题吗?我是否应该尝试将数据处理到我的 sqlproj 中的脚本中?
0 投票
0 回答
240 浏览

sql-server - 在 Visual Studio 2013 SQL Server 项目中排除部署后脚本

在 Visual Studio 2013 SQL Server 项目中排除部署后脚本。我没有解释为什么我必须这样做的全部要求。我正在解释我的部分问题;请承受。

我有以下脚本:

在部署后脚本中,我有一个未包含在构建中的脚本文件,并且我在部门表中插入了一个值:

由于我的部门表没有部门 ID,我想排除这个脚本,所以根据一个条件,我通过命令行变量的帮助来包含这个文件。我的部署后文件具有以下条目:

(90,1):SQL72014:.NET SqlClient 数据提供程序:消息 207,级别 16,状态 1,第 47 行无效的列名称“DeptId”。
0 投票
0 回答
486 浏览

entity-framework - EF 迁移等效于 VS 中的 sqlproj 项目

我们正在评估一个设置,其中我们有一个包含两个项目的解决方案,一个是使用 EF7 的 asp.net 5 项目,另一个是实际管理数据库的成熟 sqlproj。我很好奇的一件事是 sqlproj 是否有某种数据迁移支持,类似于 EF。架构更改本身似乎相对简单,但是架构更改还需要一些数据操作(例如将两列合并为一列,或将一列拆分为两列等)的最佳实践是什么?

0 投票
1 回答
34 浏览

sqlproj - .sqlproj 文件的 SourceGear 合并

我们将 Sourcegear Vault Standard 版本 8.0.1 (299) 与 VS2013 一起使用。.sqlproj 文件扩展名已添加到包含列表中,现在在进行合并时,Vault 想要覆盖项目文件。作为一般规则,我认为这是一个坏主意。如果扩展名不在包含列表中,Vault 不会对项目文件执行任何操作。

让 Vault 合并 VS2013 SQL 项目文件的正确配置是什么?

谢谢