问题标签 [sql-server-2014]

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

clustered-index - 如何定义表是否适合聚集列存储索引?

我已阅读(此处此处此处)关于 SQL Server 2014 中引入的聚集列存储索引。基本上,现在:

  • 列存储索引可以更新
  • 可以修改表架构(不删除列存储索引)
  • 基表的结构可以是柱状的
  • 压缩效果节省的空间(使用列存储索引,您可以节省用于表的初始空间的 40% 到 50%)

此外,它们还支持:

  • 行模式和批处理模式处理
  • 批量插入语句
  • 更多数据类型

据我了解,有一些限制,例如:

  1. 不支持的数据类型
  2. 无法创建其他索引

但正如所说:

使用聚集列存储索引,已经涵盖了所有过滤器的可能性;使用段消除的查询处理器将能够仅考虑查询子句所需的段。在无法应用段消除的列上,所有扫描都将比 B-Tree 索引扫描更快,因为数据被压缩,因此需要更少的 I/O 操作。

我对以下内容感兴趣:

  • 上面的陈述是否说当存在大量重复值时,聚集列存储索引总是比 B-Tree 索引更适合提取数据?
  • covering例如,当表有很多列时,聚集列存储索引和非聚集 B-Tree 索引之间的性能如何?
  • 我可以在一张表上同时使用聚集和非聚集列存储索引吗?
  • 最重要的是,谁能告诉如何确定一个表是否适合列存储索引?

据说最好的候选者是不经常执行更新/删除/插入操作的表。例如,我有一个存储大小超过 17 GB(约 7000 万行)的表,并且不断插入和删除新记录。另一方面,执行了许多使用其列的查询。或者我有一个存储大小约为 40 GB(约 6000 万行)的表,每天执行许多插入 - 它不经常查询,但我想减小它的大小。

我知道答案主要在于运行生产测试,但在此之前我需要选择更好的候选人。

0 投票
0 回答
708 浏览

c# - SQL - 使用 SELECT 插入多行

我正在寻找一种有效的方法来使用来自多个表的某些值执行多行的插入!

基本上我正在解析一个 XML 并创建一个自定义对象列表,然后我想将其插入到我的数据库中。这些行的一些值包含在 XML 中,但其他值需要从其他表中检索。

例子:

两张表:

我在 C# 中浏览了我的列表,创建了一个团队列表(自定义对象),然后我想以平均每分钟 1000 行的速度执行此操作:

人名和国家提要 ID 包含在 XML 中。我想使用 Person 表中的 ID 而不是 XML 中的 ID ..

有人可以建议我以有效的方式执行这些插入。

我一直在考虑创建一个 DataTable,然后使用 SQLBulkCopy,使用存储过程在数据表中运行一个循环并为每个语句执行上述语句,以及像 EntityFramework、Telerik Data Access 等 ORM。

0 投票
1 回答
520 浏览

sql-server - SSMS 中的 SQL Server SQLCMD 查询模式

SQLCMD Mode在 Sql server management studio 中,当您有一个新的查询窗口时,您可以使用查询菜单将查询窗口的模式更改为。我在 Windows 命令行中使用 sqlcmd,但不知道在 SSMS 中使用此模式有什么不同。

在此处输入图像描述

0 投票
1 回答
220 浏览

sql-server - SMO 对象不执行方法

我正在编写旨在检查服务器版本号和平台的脚本,作为服务器交付 QA 检查的一部分。

目的是仅检查高于 2008 r2 SP1 的任何版本以及标准版或企业版。结果,通过或失败,最终应该写入日志,但我还没有那么远。

添加 SQL 提供程序和命令集的管理单元后,以下代码在 Windows 2008 和 SQLServer 2008 上按预期运行。

但是,如果我在 Windows 2012 和 SQLServer 2014 上导入 SQLPS 模块后运行相同的代码,则代码不起作用。

检查版本名称的 switch 语句总是命中默认值并引发错误,即使在下面这样的 IF 语句中运行比较工作正常

$server.Version.CompareTo() 方法也不起作用。它总是抛出“找不到“CompareTo”的重载和参数计数:“1”。

尽管 $server.Version | 的输出仍然如此 Get-Member 包括以下行:

直接比较版本号可以正常工作:

$server.Version.ToString() 也不起作用。它只是返回一个空字符串对象,即使 $server.Version 将以下输出返回给主机:

这是怎么回事?

0 投票
3 回答
732 浏览

sql-server - SQL Server 2014 中内存优化表的列存储索引

我们可以在 SQL Server 2014 中的内存优化表上创建聚集/非聚集列存储索引吗?

0 投票
1 回答
2249 浏览

sql - Acess 2007 SQL 服务器的附件类型

我的前任在 2007 年创建了一个 Access 数据库,其中包含许多表、表单和查询。

其中一张表包含以附件形式存储的图像。

数据库大小接近 2GB(压缩和修复不会改变它)。所以我想将其转换为 SQL Server 2014 数据库。

我使用了数据导入工具,该工具已将表和数据复制到 SQL Server 中。但是附件只是转换为文件名的字符串(image1.jpg

无论如何要将图像从 MS Access 数据库导入 SQL Server 吗?

我还有一个 Sharepoint 2010 服务器,这是一个更好的选择吗?

更新(抱歉 Stack Overflow 的新手,不知道该放什么)

我已将导入向导中的字段映射更改为 IMAGE,但出现以下错误。如果我将其设置为忽略,则字段为空白。使用 VARSTRING,将 Null 或 0x 放在字段中。

  • 执行(错误)消息错误 0xc02020c5:数据流任务 1:将“照片”列 (23) 转换为“照片”列 (57) 时数据转换失败。转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值。”。(SQL Server 导入和导出向导)

错误 0xc0209029:数据流任务 1:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“Data Conversion 0 - 0.Outputs[Data Conversion Output].Columns[Photos]”失败,因为出现错误代码 0xC020907F,并且“Data Conversion 0 - 0.Outputs[Data Conversion Output].Columns[Photos] 上的错误行处置]" 指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。(SQL Server 导入和导出向导)

错误 0xc0047022:数据流任务 1:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。在处理输入“数据转换输入”(50) 时,组件“数据转换 0 - 0”(49) 上的 ProcessInput 方法失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。(SQL Server 导入和导出向导)错误 0xc02020c4:数据流任务 1:尝试向数据流任务缓冲区添加行失败,错误代码为 0xC0047020。(SQL Server 导入和导出向导)错误 0xc0047038:数据流任务 1:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。Source - Attachments 上的 PrimeOutput 方法返回错误代码 0xC02020C4。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。(SQL Server 导入和导出向导)

0 投票
1 回答
3498 浏览

sql - 无法在 IE8 中打印 SQL Server 2014 Reporting Services

我的公司已将其所有客户端数据库从 SQL Server 2008 升级到 2014,我们现在发现我们的客户都无法在 IE8 中打印报告服务报告。不幸的是,我们需要支持旧版应用程序,但我一直无法找到解决方案。单击打印按钮时,它似乎安装了 Activex 控件,但随后我收到错误消息,“打印不可用。确认 ActiveX 已启用,或尝试在桌面上使用 Internet Explorer。”

在查看了所有关于指定错误的文章后,我发现建议是“为 ActiveX 客户端打印控件启用下载”我已经验证 SQL 服务器上的所有设置都是正确的,并且在服务器上启用了 ActiveX,但它是还是行不通。我已尝试卸载本地客户端计算机的 ActiveX 控件并让服务器重新安装它,但我仍然无法打印。

提前感谢您提供的任何帮助。

0 投票
0 回答
369 浏览

sql-server - 在带有阿拉伯语排序规则的内存表中使用 SQL Server 2014

我将在内存表中使用 SQL Server 2014 和一个具有Arabic_CI_AS排序规则的数据库,但是当我在内存表中创建时说 oltp 不支持这种排序规则。

有没有办法解决这个问题?

0 投票
1 回答
46 浏览

sql - 用户清单堆叠 SQL Server 2014

我想在用户的库存中堆叠物品。

如果你有一个相同的新武器ItemID,它只会创建一个新行,如下图所示。

表格布局

如果ItemID存在,则需要将数量更改为您实际拥有的武器数量,并删除重复的行。

那是什么类型的查询,或者帮助我?

0 投票
0 回答
651 浏览

entity-framework - 将 SQL Server 内存优化表与实体框架一起使用

我将使用内存优化表在内存中加载大量数据。另外我想使用实体框架作为 ORM。我只想知道虽然内存优化表不支持标识列,但如何使用实体框架模拟自动增量列?