我正在尝试在SSIS中使用"表达式任务"来简单地初始化/设置两个变量.这个看似简单的任务让我疯狂,因为我不知道如何分离这些陈述:
@[User::testVariable]="1"
@[User::testVar2]=3
Run Code Online (Sandbox Code Playgroud)
这给出了一个解析错误,我读了很多文档都无济于事.如何分离语句,我希望我不必使用多个表达式任务,因为我有很多变量......谢谢
标题说明了所有细节.当我在VS2015中使用架构比较工具用于我的SSDT项目和我在服务器上的数据库时.比较结果总是与用户不同.我检查它所说的差异,但环境之间没有任何区别.
我甚至从比较结果中更新了我的项目,试图纠正这些"差异".然后我又进行了另一次比较,同样的用户又回来了差异......什么!哈哈.
任何人都有一个线索会导致这个同步问题,或者我做错了什么?用户手动添加到服务器上的数据库,而不是通过SSDT部署,所以这可能是一个原因?
编辑:
在我的数据库项目中,我添加了对链接服务器的引用.当我在视图中使用此链接服务器并尝试构建我的数据库项目时,SSDT报告错误,因为它无法理解对链接服务器上引用的任何模式的引用:
[LinkedServer].[DB1].[dbo].[Table1]
Run Code Online (Sandbox Code Playgroud)
以上将返回一个错误,SSDT无法解密引用[DB1].[dbo].[Table1].我尝试添加对此数据库的引用,但SSDT需要一个.dacpac文件(由另一个数据库项目生成)或与我项目中的数据库在同一服务器上的系统数据库.
如何处理引用外部数据库?在某些情况下,项目需要引用不是 SSDT数据库项目的远程数据库.就我而言,我正在访问另一家公司的数据库并将此数据库置于版本控制之下,因为SSDT项目是不可能的.
sql sql-server visual-studio visual-studio-2012 sql-server-data-tools
任何人都可以澄清SQL Server数据工具(SSDT)2012中的构建,发布,部署和比较+更新之间的区别吗?
从Schema Compare Options中,我取消选择所有对象类型:

它仍然显示我在Schema对象中的差异:

我滚动浏览了常规选项的大列表,其中没有一个似乎这样做:

sql-server schema database-project sql-server-2012 sql-server-data-tools
我正在使用SSDT来保持2个数据库同步.
为此,我在Server1中有一个数据库,在Server2中有一个数据库,在我的项目中有一个Schema.
我总是在Server1数据库中进行更改,并在Server2数据库中应用这些更改.为此,我使用此工作流程:
这通常工作正常,但我上次重命名表中的列时发现了一个问题.
通常,如果我重命名表中的列,则更改将作为列重命名检测,因此,当我将Server1与Schema进行比较时,会正确检测列重命名,并且我可以安全地完成工作流程.
但是,我最后一次在Server1中的表中重命名列时,将其与Schema进行比较,而不是将更改检测为列重命名时,它已将检测到的更改为删除列(使用旧名称)并创建列(用新名字).显然,如果我在Server2数据库中应用这些更改,我将丢失重命名列中的所有数据.
在SSDT中有这种行为的原因吗?我可以指示SSDT了解这是一个列重命名吗?
我知道如何手动完成,但我宁愿在SSDT中避免这个问题,或者如果将来再次出现,我也可以解决它.
我在ssdt和tfs有一个项目.当我执行模式比较时,我得到的差异包括对象,其中唯一的区别是源中的GRANT,这在导入的本地模式中不存在.

我无法在架构比较选项中找到一个选项,它会强制忽略这些选项.

谢谢你的指导.
我需要拦截SSDT构建来修改构建脚本.我已经按照MSDN部署计划修改器教程,但是当我尝试构建数据库项目时,出现以下错误:
Required contributor with id 'MyDeploymentContributor.SqlRestartableScriptContributor'
could not be loaded.
Run Code Online (Sandbox Code Playgroud)
我使用的是Visual Studio 2012(版本11.0.61219.00 Update 5)和SSDT版本11.1.50730.0.
我签署了程序集,但没有指定密码.
我已经按照我在网上找到的几个解决方案无济于事,包括以下内容:
将MyDeploymentContributor.dll和MyDeploymentContributor.pdb复制到以下位置:
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\ExtensionsC:\Program Files (x86)\Microsoft SQL Server\110\DAC\binC:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\Extensions捕获SSDT和DacFx的事件日志(遵循Kevin Cunnane的说明,访问https://social.msdn.microsoft.com/Forums/en-US/5c84ab8e-b50b-4ecd-86da-866ac3bb2248/known-issue-with-ssdt-可扩展性 - 当前 - 释放?论坛= ssdt).以下是DacFx日志的结果:
C:\Program Files
(x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions\MyDeploymentContributor.dll
添加程序集C:\Program Files
(x86)\Microsoft Visual Stusio 11.0\Common7\IDE\Extensions\Micrsoft\SQLDB\DAC\120\Extensions添加到扩展查找路径的目录Microsoft.SqlServer.Dac.Deployment.DeploymentPlanExecutorMicrosoft.SqlServer.Dac.Deployment.DeploymentPlanModifier没有ContributorLoader消息.从该日志中,贡献者似乎正确加载.SSDT日志不包含任何提及贡献者的事件.
没有必需的贡献者参数,因此DeploymentContributor我的.sqlproj文件中的节点如下所示: …
我使用VS2015和SQL Server数据工具; 我有一些Reporting Services(RDL)报告.
我想将它们部署到安装了SQL Server 2014的Reporting Server .
在我的报表项目中,我将其设置TargetServerVersion为"SQL Server 2008R2,2012 或2014",但是deploment过程失败,出现类似于以下内容的错误:
Report Definition invalid, because namespace .../2016/... invalid.
Run Code Online (Sandbox Code Playgroud) sql-server deployment sql-server-data-tools visual-studio-2015 sql-server-2016
我禁用了所有扩展,只打开了1个Sql Project.但每当我关闭SQL文件时,Visual Studio都会挂起.
受影响的版本
- 2017年企业
- 2015年企业
在此"挂起时间"期间,Visual Studio具有"无响应"状态.
它似乎也保持锁定的时间与关闭/打开的文件数量相关.
编辑:使用SafeMode中的devenv重现
思考?
visual-studio sqlproj sql-server-data-tools visual-studio-2015 visual-studio-2017
sql-server ×5
sql ×2
bids ×1
deployment ×1
expression ×1
schema ×1
sqlproj ×1
ssis ×1
ssis-2012 ×1
tfs ×1