标签: sql-server-data-tools

SSDT 部署后脚本 - 运行文件夹中的所有脚本

我在 SQL 项目中有一个 PostDeployment 脚本,该脚本在发布时会在项目中运行许多其他脚本:

:r .\Scripts\Script1.sql 
:r .\Scripts\Script2.sql 
:r .\Scripts\Script3.sql 
:r .\Scripts\Script4.sql
Run Code Online (Sandbox Code Playgroud)

每次将新脚本添加到源代码管理 (TFS) 中的 Scripts 文件夹时都不必手动更新,是否可以只迭代并执行 Scripts 文件夹中的所有 SQL 脚本?

c# deployment tfs visual-studio sql-server-data-tools

5
推荐指数
2
解决办法
2108
查看次数

此 T-SQL 脚本超出了允许的最大大小。通过从“工具”菜单中选择“选项”,在“SQL Server 工具”页面中调整此设置

我有一个非常庞大的 .sql 脚本。我将此脚本添加到 Visual Studio 2013 下的 sql server 项目中。当我尝试构建它时,我收到此错误消息

此 T-SQL 脚本超出了允许的最大大小。通过从“工具”菜单中选择“选项”,在“SQL Server 工具”页面中调整此设置

根据这篇 msdn文章,有一个名为Maximum script sizeit的属性可以在 Visual Studio 工具中访问:

工具->选项->文本编辑器->SQL Server 工具->智能感知->最大脚本大小

我将其从 1MB 更改为无限制,但没有任何改变

t-sql sql-server visual-studio sql-server-data-tools

5
推荐指数
1
解决办法
2371
查看次数

如何以编程方式对 VS 2013 SSDT 项目执行数据比较?

Visual Studio 2013 具有允许在 SSDT 项目和目标数据库之间执行数据比较的功能。

根据 SO 上的另一篇文章,执行此类比较某些要求

考虑到这些要求,我想做这样的事情作为我们构建和部署过程的一部分:

  1. 将任何 DB 模式更改发布到目标数据库,以确保源和目标具有完全相同的表、列、SP 等,以符合上述链接中提到的要求
  2. 运行数据比较并生成更新脚本,或将源数据库中的任何更改直接发布到目标数据库

目前,我有一个脚本来处理子弹号。1 通过使用 DACPAC 通过sqlpackage.exe进行模式比较。不过,似乎无法使用 sqlpackage 执行数据比较,而且我还没有找到任何其他替代方案。在 VS 2010 中,可以通过命令窗口运行数据比较,但我在 VS 2013 中没有看到任何关于此的文档......

因此,我的问题是是否存在允许通过例如 Powershell 脚本以编程方式运行数据比较的 API 和/或其他工具。

visual-studio-2013 sqlpackage sql-server-data-tools

5
推荐指数
1
解决办法
659
查看次数

SqlPackage.exe 需要很长时间

因此,我们正在努力添加 SQL DACPAC 作为我们持续集成的一部分。我们使用运行“sqlpackage.exe”和每个 DacPac 文件的 powershell 脚本来做到这一点。我们有大约 12 个 DB,因此大约有 12 个 DacPac。

每次我们运行“sqlpackage.exe”来发布或编写 DacPac 脚本时,我们都会注意到完成初始化需要 0.5-1 分钟以上的时间。当“sqlpackage.exe”开始时,大部分时间是在初始化流程中花费的。

如果可能的话,我试图找到一种方法来减少这种情况,因为我们有 12 个数据库,我们正在谈论数据库部署至少需要 12 分钟,这对我们来说太多了。

你知道有什么方法可以减少这种情况吗?

sql-server powershell dacpac sql-server-data-tools

5
推荐指数
1
解决办法
2433
查看次数

如何在 dacpac 中打包部署贡献者?

我找不到有关如何在 dacpac 中打包部署贡献者的任何参考资料。

  1. 我们正在使用DacServices.Deploy 方法将我们的数据库作为 dacpacs 部署到 SQL Server。
  2. 该方法的参数具有属性DacDeployOptions.AdditionalDeploymentContributors,其描述为“指定应运行的其他部署贡献者 -除了 dacpac [强调添加] 中指定的那些。”

所以我的问题是如何在 dacpac 中指定这些部署贡献者?

我尝试将部署贡献者类放在 Visual Studio 的 SSDT 项目中,但这会干扰加载到 SQL Server 中的 CLR 程序集(即,它被加载到 SQL Server 中,如果它的依赖项也未设置为加载,则错误是抛出)。

请指教。谢谢。

sql-server dacpac sql-server-data-tools visual-studio-2015

5
推荐指数
1
解决办法
1400
查看次数

从包内读取 SSIS 包文件名(包部署)

我使用包部署模型在 Visual Studio SSDT 2012 中创建了一个 SSIS 包。有什么方法可以从包内以只读变量或属性的形式访问包的文件名?

我没有看到它被列为系统变量,有没有办法通过脚本任务?

c# sql-server-2012 visual-studio-2012 ssis-2012 sql-server-data-tools

5
推荐指数
1
解决办法
1680
查看次数

如何有条件地在 ssdt 部署后脚本中包含大型脚本?

在我们的 SSDT 项目中,我们有一个巨大的脚本,其中包含许多用于从旧系统导入数据的 INSERT 语句。使用 sqlcmd 变量,我希望能够有条件地将文件包含到部署后脚本中。

我们目前使用的:r语法包括内联脚本:

IF '$(ImportData)' = 'true'
BEGIN
  :r .\Import\OldSystem.sql
END
Run Code Online (Sandbox Code Playgroud)

这是一个问题,因为 无论是真还是假,脚本都被内联包含$(ImportData),而且文件太大,导致构建速度减慢了大约 15 分钟。

是否有另一种方法有条件地包含此脚本文件,以免减慢构建速度?

sql sql-server sql-server-2014 sql-server-data-tools

5
推荐指数
2
解决办法
3248
查看次数

SSDT for SSRS - 无法连接到数据源“DataSource1”。所选的数据扩展 ORACLE 未安装或无法加载

我为 Visual Studio 2015 安装了最新的 SSDT 来创建/修改连接到 Oracle 11 数据库的 SSRS 报告。先前版本的 SSDT(适用于 Visual Studio 2012)将“Oracle”作为数据源属性中“类型”下拉列表中的值之一,如果机器上安装了 Oracle 客户端软件,则它可以正常工作。但是,Visual Studio 2015 的 SSDT 中的列表值已更改。不再有“Oracle”选项,而是“Oracle 数据库”。但是,如果选择了“Oracle 数据库”,我会收到错误消息“无法连接到数据源‘DataSource1’。所选的数据扩展 ORACLE 未安装或无法加载...”。知道如何解决这个问题吗?

PS:我通过指定“Oracle Provider for OLEDB”来尝试 OLEDB 选项,该选项将连接字符串稍微更改为“Provider=OraOLEDB.Oracle.1;Data Source=DBName”。连接有效,但许多查询停止工作,并显示消息“ORA-00900:无效的 SQL 语句”。

oracle reporting-services sql-server-data-tools visual-studio-2015

5
推荐指数
1
解决办法
1万
查看次数

SSIS 错误:未找到列“columnX”的分隔符

之前在这里问过这个问题,但提出的解决方案似乎对我不起作用。

我正在尝试导入一个文本文件管道分隔的文本限定符"。SSIS 包正在返回错误消息

未找到列“columnX”的分隔符

其中 X 列是文件中的最后一个字段。

在连接管理器的高级选项卡中,我为columnXto设置了列分隔符,{LF}而所有其他字段都设置为 vertical |

我已经验证了文件,没有遗漏字段。有一些空值,但所有字段都在那里。

我无法指出是什么导致了这种情况。您的帮助将不胜感激。

sql ssis etl ssis-2012 sql-server-data-tools

5
推荐指数
2
解决办法
3万
查看次数

SQL71501 - 如何抑制此错误

我的团队/公司在一些小项目中尝试了 SSDT,我们印象非常深刻。

最近,我们调查了 SSDT 在我们现有的一个较大的应用程序中的使用情况,并因外部数据库引用的 SQL71501 错误而泛滥成灾。

应用程序有相当多的数据库耦合网络,所以这是可以理解的。

有没有办法抑制/禁用/关闭此检查,以便 SSDT 项目可以构建而不管这些未解析的引用如何?

大多数关于此错误代码的讨论都错误地将其描述为警告,而不是错误。

Visual Studio 2015 Enterprise - 最新的 SSDT 包 SQL 2008

sql-server sql-server-data-tools visual-studio-2015

5
推荐指数
1
解决办法
4187
查看次数