问题标签 [ssdt-2017]

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

ssas - SSAS 部署错误:用户无权创建新对象

我最近想将我的SSAS项目部署到服务器时,遇到了这个错误:

域\用户用户无权在 中创建新对象database,或者该对象不存在。

在此处输入图像描述

我在互联网上搜索并做了一些解决方案,但没有一个奏效。我做了这些步骤,它解决了这个问题。

0 投票
1 回答
717 浏览

sql-server-2014 - SSDT:未解析的对象引用

我有一个现有的 SQL Server 2014 数据库,我想将其添加到源代码控制(Visual Studio 2017 中的 SSDT)。

我有一个包含大量视图和存储过程的数据库项目。 MyDatabase是当前数据库。

每个视图和存储过程都按以下方式编写:

“..” 表示此处的默认模式名称 (dbo)。它适用于 SQL Server。但 SSDT 认为这样的构造是错误的:

查看 MyView 对 MyDatabase.dbo.MyTable 的引用未解决。

所以 SSDT 非常清楚,该数据库是MyDatabase并且跳过的模式名称是dbo.

但是我不能用这样的错误来构建我的项目。我也不能重写MyDatabase..MyTableMyDatabase.dbo.MyTable.

那么有什么办法可以解决SSDT这个问题吗?

0 投票
1 回答
14 浏览

pdf - SSRS 报告在转换为 PDF 时添加额外页面

我有一个 SSRS 报告,它的母版页带有一个包含 1 个单元格的 tablix,并且在该单元格中是一个子报告。为了安全起见,我将此页面设为 1 英寸 x 1 英寸。

子报表链接到 8.5 英寸 x 11 英寸的报表。这份报告中除了一个带有页码的文本框外,什么都没有。文本框 cangrow 属性为 false。报告的方向设置为纵向,纸张大小为字母。

两者的容器消耗空白都设置为 true,并且两个页面都没有边距、页眉、页脚或填充。

tablix 的数据集返回 1825 行,但是当报表转换为 PDF 时,它会创建 2362 页,并且页码会逐渐向下推到页面下方,直到出现空白页。

知道我是如何制作 1825 8.5 英寸 x 11 英寸页面的吗?

0 投票
0 回答
128 浏览

ssis - OLE DB Destination.Inputs[OLE DB 目标输入]

这是错误消息

SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“OLE DB Destination.Inputs [OLE DB 目标输入]”失败,因为发生错误代码 0xC0209077

这是我的 oracle 日期源格式

这是我的目标表

0 投票
1 回答
147 浏览

reporting-services - 将 VS 2017 SSDT 使用的 DLL 放在哪里

我有一个使用 VS 2015 SSDT 创建的 SSRS 项目。它具有对用于在报告上创建条形码的barcodelib.dll 的引用。

问题是我有一台新电脑,它使用 VS 2017 SSDT。现在每次运行它,我都会收到错误消息:

我尝试在这台计算机上为 VS 的每个文件夹中添加 dll,有 10 - 14 个:

C:\Program Files (x86)\Microsoft Visual Studio(编号从 10 到 14)\Common7\IDE\PublicAssemblies

C:\Program Files (x86)\Microsoft Visual Studio(编号从 10 到 14)\Common7\IDE\PrivateAssemblies

但它仍然找不到文件。

我怎么知道它在哪里看?

0 投票
1 回答
1870 浏览

sql-server - CREATE ASSEMBLY 失败,因为程序集验证失败。检查引用的程序集是否是最新的并受信任在数据库中执行

具有 CLR dll 的数据库已从 SQL Server 2008R2 迁移到 SQL Server 2017。
使用 Azure DevOps 中的 DacPac 自动部署到此数据库。

该 dll 注册于EXTERNAL_ACCESS.

由于迁移到新服务器,部署管道中断。

这是我到目前为止所做的修复它。

  1. 我将数据库项目中的目标平台从 SQL Server 2008 更改为 SQL Server 2017。

    管道中的错误从

    无法连接到主服务器或目标服务器。您必须在主服务器或目标服务器中拥有具有相同密码的用户

    内部错误。Microsoft.Data.Tools.Schema.Sql.Sql140DatabaseSchemaProvider 类型的数据库平台服务无效。您必须确保服务已加载,或者您必须提供有效数据库平台服务的完整类型名称。

  2. 根据这个答案,Microsoft SQL Server Data-Tier Application Framework (17.1 DacFx) 安装在构建代理上。

    管道中的错误更改为

    程序集“system.componentmodel.dataannotations,版本=3.5.0.0,文化=中性,publickeytoken=31bf3856ad364e35。” 在 SQL 目录中找不到。

  3. 然后我将数据库项目中 dll 的目标框架从 NET Framework 3.5 更改为 NET Framework 4.0

    管道中的错误更改为:

    无法部署包。错误 SQL72014:.Net SqlClient 数据提供程序:消息 6218,级别 16,状态 2,第 1 行为
    程序集“System.ComponentModel.DataAnnotations”创建程序集失败,因为程序集“System.ComponentModel.DataAnnotations”验证失败。
    检查引用的程序集是否是最新的并且受信任(对于 external_access 或不安全)以在数据库中执行。
    如果有任何 CLR 验证器错误消息将跟随此消息

    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider::GetTypeDescriptor][mdToken=0x6000003][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider::.ctor][mdToken=0x6000001][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider::.ctor][mdToken=0x6000002][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptor::GetAttributes][mdToken=0x6000007][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptor::GetProperties][mdToken=0x6000006][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptor::GetProperties][mdToken=0x6000005][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptor::.ctor][mdToken=0x6000004][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociationAttribute::.ctor][mdToken=0x6000008][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociationAttribute::get_Name][mdToken=0x6000009][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociationAttribute::get_ThisKey][mdToken=0x600000a][offset 0x00000000] 代码大小为零。
    [ : System.ComponentModel.DataAnnotations.AssociationAttribute::get_OtherKey][mdToken=0x600000b][offset 0x00000000] 代码大小为零。
    [:System.ComponentModel.DataAnnotations.AssociationAttribute::get_IsForeignKey][mdToken=0x60000 ...

    错误 SQL72045:脚本执行错误。执行的脚本: CREATE ASSEMBLY [System.ComponentModel.DataAnnotations] 授权 [dbo] 来自0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010300B7E0A14B0000000000000000E00022200B01080000B00000000800000000000092CF00000020000000E000000000C4600020000000020000040000000000000004000000000000000020010000020000CBF4000003004085000010000010000000001000001000000000000010000000000000000000000040CF00004F00000000E00000E0040000000000000000000000BA000088170000000001000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000082000004800000000000000000000002E7465787400000098AF00000020000000B0000000020000000000000000000000000000200000602E72737263000000E004000000E000000006000000B20000000000000000000000000000400000402E72656C6F6300000C0

从第 3 步开始,我一直无法进步。我从那里开始的所有尝试都没有做任何事情。这是我尝试过的。

  • 将外部访问权限授予 [userName]
  • 将不安全的程序集授予用户名]
  • ALTER DATABASE [DatabaseName] 设置可信
  • SET [userName] 作为 db_owner
    SET [userName] 作为 sysadmin
  • 将 dll 的所有依赖项设置为 UNSAFE
  • 将“启用 clr”设置为 1
  • 将“clr 严格安全”设置为 0
  • 成功导入了一个虚拟 CLR DLL
  • 我已经用一个简单的虚拟项目复制了这个问题,该项目引用了激活System.ComponentModel.DataAnnotations的属性。Model Aware

接下来我可以做什么来修复 DacPac 部署?

编辑 :

我的下一个尝试是反编译System.ComponentModel.DataAnnotations,看看使用我自己的版本的管道是否会更顺畅。我尝试这样做是因为,我在某处读到服务器验证 dll 是否已存在于 GAC 中。如果是这样,那么 dll 版本/签名非常匹配。因此,我觉得即使我设法加载了这个程序集,在其他服务器维护之后它也必然会再次失败。因此,使用这个 dll 的成本与收益是很糟糕的。知道了,反正也只用到了一小部分的dll,还不如把反编译器里用到的代码拿来。

0 投票
1 回答
115 浏览

visual-studio - 如何从 DacPac 文件中排除用户相关对象

我正在SSDT使用 Visual Studio 创建项目,我想dacpac在部署之前从文件中删除与用户相关的对象。

我试图从“高级部署设置”中排除对象,但正如您在以下屏幕截图中看到的那样,所有选项都被禁用。你能就此提出建议吗?

在此处输入图像描述

0 投票
1 回答
751 浏览

visual-studio - 无法在 Azure DevOps CD 上部署 DacPac

我正在DacPac使用 Visual Studio 从数据库项目构建文件。此外,在 DebugDrop选项卡中Advanced Build Settings,我启用了以下选项:

  • 不要丢弃凭据
  • 不要删除数据库角色
  • 不要删除数据库范围的凭据
  • 不要放弃登录
  • 不要放弃权限
  • 不要放弃角色成员资格
  • 不要放弃用户
  • 不要删除服务器角色成员资格

不过,我在 CD SQL Deploy 中收到以下错误: 在此处输入图像描述


根据 Krzysztof Madej 的建议进行编辑 ,我提出了以下附加论点(他们正在研究另一个项目),但对于论点,他提出了,对于这些我得到了这个错误:

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
104 浏览

sql - CDATA SFTP 连接器无文件传输

在工作中,我们正在尝试将一些 ssis 包从使用 ftp 迁移到 sftp 以进行文件传输。我们为 ssis 购买了 cdata 连接器,但它们似乎都以数据传输或连接到 sftp 服务器上的文件作为数据源为中心,但没有提及通过 sftp 传输文件。

有人对这些有任何经验吗?任何信息都会有所帮助。请参阅下面的连接器屏幕截图

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
629 浏览

ssms - 是否可以像在 Azure Analysis Services 中那样将 Analysis Services DB 从 SSMS 导出到 Visual Studio

我在 Visual Studio 2017 (SSDT) 中的 SSAS 上创建了一个多维数据集,并部署在 SQL Server 分析服务器上。我可以在 SSMS 中看到在 Prod 上部署的分析服务器数据库。经过一段时间的更改,我创建了该数据库的多个版本,并且在 Visual Studio 的历史中找不到已部署的数据库。现在我需要部署的数据库,我可以在 SSMS 中看到它。我的目标是在 Visual Studio 中重新打开已部署的分析服务器数据库。我希望我清楚地把事情做对了。

在此处输入图像描述