问题标签 [sql-server-2016]

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 投票
2 回答
3869 浏览

json - 我想查询json里面列的内容,如下所示

我正在将 JSON 数据保存在我的 SQL Server 2016 表中,并且我想通过在 JSON 上应用 where 子句来查询该表,如下所示。

这在 oracle 中是可能的,但在 mssql 中会出现如下错误

无法调用 nvarchar(max) 上的方法。

0 投票
1 回答
576 浏览

sql-server - SQL 2016 RC3 R Services Error

Many of the current questions are with previous versions of the RC or CTP. This is using the latest docs and build for RC3.

I am running their sample code to verify everything is working:

Here is the error:

I had previously uninstalled RC0 on this box, otherwise there is nothing else going on with sql 2016. It is a named instance (SQL2016) because there is a 2014 install on the box.

The logs for RServer indicate that everything was found and installed correctly. The 'execute external scripts' setting is enabled. I'm not sure what else to do. Any ideas would be helpful. I just want to see this in action in our own environment.

0 投票
1 回答
739 浏览

sql-server - 使用变量键/ json_modify 变量第二个参数构建 json

假设你有

请考虑:

  • 属性是动态创建的,我无法提前知道 PropertyNames
  • 目前 parents 表包含 1M 和 properties 表包含 23M 记录

如何填写 tmp.FullData:

我试过了

但如你所知/想象

还有其他选择吗?提前致谢

0 投票
1 回答
2644 浏览

sql-server - 是什么导致 SQL LocalDB 上出现“指定的 LocalDB 版本在这台计算机上不可用”错误?

我刚刚在新工作站上完成了 VS2015 Update 2的全新安装,并开始运行我们的一些使用 SQL LocalDb 的集成测试。他们在以下方面失败了SqlException

附加信息:本地数据库运行时:无法创建命名实例。

指定的 LocalDB 版本在此计算机上不可用。

我们使用的连接字符串是(并且以前使用 VS2013):

如您所见,这没有指定任何版本,实际上是在尝试连接到命名实例。

如果我跑步,sqllocaldb v我会得到:

我尝试手动创建和启动“SystemTest”实例,甚至指定版本,但似乎都导致抛出相同的 SqlException。

连接字符串语法是否已更改?我错过了什么?

更新: 如果我使用自动实例(现在在 SQL2014 及更高版本上命名为“MSSQLLocalDb”),代码就可以正常工作。当比较这两个实例时,sqllocaldb i它们都是相同的,除了一个是自动创建的。他们都在该Running州。所以看来问题只发生在命名实例上。

0 投票
5 回答
7919 浏览

sql - LAG 函数和 NULLS

如何告诉 LAG 函数获取最后一个“非空”值?

例如,请参阅下面的表格,其中 B 列和 C 列上有一些 NULL 值。我想用最后一个非空值填充空值。我试图通过使用 LAG 函数来做到这一点,如下所示:

但是当我在一行中有两个或更多空值时,这并不完全有效(请参阅 C 列第 3 行的 NULL 值 - 我希望它是原始值的 0.50)。

知道如何实现吗?(它不一定要使用 LAG 功能,欢迎任何其他想法)

几个假设:

  • 行数是动态的;
  • 第一个值总是非空的;
  • 一旦我有一个 NULL,到最后都是 NULL - 所以我想用最新的值填充它。

谢谢

在此处输入图像描述

0 投票
1 回答
420 浏览

sql-server - sp_rda_reauthorize_db 未创建远程数据库副本

我有一个在 SQL Server 2016 RC3 中启用了拉伸的数据库。

我对该数据库进行了本地备份,并成功恢复。正如我们所知,恢复到 Azure SQL Server 的链接会中断,因此我使用下面提到的 T-SQL 来恢复连接,另外我指定 @with_copy = 1,以便它在 Azure 中创建数据库副本SQL 服务器。但下面提到的 T-SQL 总是失败并出现错误

将远程数据库“RDADB_A40A50B5B-386A-42C4-B19C-3C2516172CAF”复制到远程数据库“RDADB_A_Clone74FF1F31-A689-4866-BDD1-F90D15C157BB”。链接服务器“stretchserver-sc-server-dbstrech-20160314-114758814.database.windows.net”的 OLE DB 提供程序“SQLNCLI11”返回消息“查询超时已过期”。消息 7399,级别 16,状态 1,过程 sp_rda_reauthorize_db,第 1 行 [批处理开始第 5 行] 链接服务器“stretchserver-sc-server-dbstrech-20160314-114758814.database.windows.net”的 OLE DB 提供程序“SQLNCLI11”报告一个错误。由于达到资源限制,提供程序终止执行。消息 7320,级别 16,状态 2,过程 sp_rda_reauthorize_db,第 1 行 [批处理开始第 5 行] 无法执行查询“

创建数据库范围凭证 AzureCred WITH IDENTITY = 'AzureAdministrator',

SECRET = '****' 声明 @credentialName nvarchar(128);

SET @credentialName = N'AzureCred';

EXEC sp_rda_reauthorize_db @credential = @credentialName, @with_copy = 1

注意:- 我已将 Azure SQL 服务器的防火墙配置为包含我的 IP。

0 投票
2 回答
3602 浏览

.net - SQL Server 2016 Express 是否支持始终加密?

SQL Server 的新加密“静态和动态”功能是否在 SQL Server 2016 的 Express 版本中可用?

0 投票
2 回答
2172 浏览

sql-server - Visual Studio 2015 Update 2 和 Sql Server 2016 架构比较

我最近升级到 Visual Studio 2015 Update 2 并且一切都很顺利,但是现在当我尝试从数据项目对 Sql Server 2016 数据库进行架构比较时,它表明我需要在数据库中创建所有对象。这在此更新之前运行良好。

比较初始化时出现以下错误:

尝试对 Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseCredential 类型的元素进行逆向工程时出错:逆向工程期间的批处理命令失败,错误代码:-2146232060 行号:2267 错误消息:列名无效compression_delay。列名无效compression_delay

有谁知道是什么导致了这个问题?提前致谢。

0 投票
2 回答
882 浏览

sql-server - 将数据插入 AlwaysEncrypted 列时出错

使用新的AlwaysEncrypted功能,我在其中一个表中加密了DateTime列,这是我在尝试插入新日期时遇到的错误:

我也遇到了字符串的插入错误,但是在将数据类型从 varchar(24) (例如)更改为nvarchar(max)之后,一切都很顺利。有什么建议么?

0 投票
0 回答
94 浏览

sql-server - AlwaysEncrypted 和 ASP.NET 标识

我想将 AlwaysEncrypted 应用于AspNetUsers中的UserName列。

我有一个数据库播种器,旨在插入一些不存在的用户。当我第一次运行应用程序并点击登录时,播种器执行,但它在这一行崩溃:

带有以下错误消息:

结果通常不会在该行崩溃,而是会填充类似于Username is already taken的错误

如果我完全注释掉播种机,它会停在这一行而不返回任何内容:

为了让AlwaysEncryptedIdentity 的 UserName一起工作,我需要更改什么吗?