问题标签 [sql-server-2019]
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.
sql-server - SQL Server 2019 中的标量 UDF 内联问题
当我第一次运行以下功能时,以下功能将失败,并出现以下错误:
8124(在包含外部引用的聚合表达式中指定了多个列。)
我第二次运行它运行正常。
如果我删除*DATEDIFF(D, e.FRADATO , @til)
它没有问题。
此功能适用于 SQL Server 2008 R2 和 SQL Server 2016 没有任何问题。
sql-server - 使用 T-SQL 在 Linux 上获取 sql server 默认备份文件夹
对于 Windows 上的 SQL Server 来获取默认备份文件夹,我们可以使用master.dbo.xp_instance_regread
:
但对于 Linux,它不起作用。谁能帮助 T-SQL 方法(我只在这里找到 SSMS 解决方案)?
python - 如何在查询返回中设置行号等于列名?
我正在使用 SQL Server 2019 中的数据库内 Python 引擎计算大型表中列之间的相关性,并且由于此计算返回对角矩阵,因此希望能够在 SSMS 中查看结果,其中标记为镜像列的行名字。
我知道 SQL 查询的基础知识,但了解的不多,所以也许我没有准确地表达我的搜索。
这是我的代码示例:
这将返回:
我想看看:
这可能吗?
sql-server - SQL Server 代理在为表启用 CDC 时停止
我在 UBUNTU 18.04 上使用最新的 sqlserver (2019)。我想为数据库和表启用 CDC。为数据库启用 CDC 已完成。
当我尝试为表启用 CDC 时,SQL Server 代理停止并给出日志“SQLServerAgent 当前未运行,因此无法通知此操作。”
在启用 CDC 之前,我检查了 SQL Server 代理的状态。它显示状态 4,正在运行。
然后我尝试为表启用 CDC。我在控制台中收到以下消息。
1> 使用生产7;
2>去
将数据库上下文更改为“production7”。
1> 执行 sys.sp_cdc_enable_table
2> @source_schema = N'prod7',
3> @source_name = N'库存',
4> @role_name = 空
5>去
SQLServerAgent 当前未运行,因此无法通知此操作。
SQLServerAgent 当前未运行,因此无法通知此操作。
SQLServerAgent 当前未运行,因此无法通知此操作。
SQLServerAgent 当前未运行,因此无法通知此操作。
kubernetes - 使用 Kubernetes 服务名称从前端或 API 访问 SQL Server 2019 Linux 数据库
我使用 SQL Server 2017 Linux 映像已经有一段时间了。我可以使用Statefulset和通过服务对象公开的服务名称将其部署到 Azure Kubernetes 服务 (AKS) 集群。然后,我可以使用来自 Web API 或前端应用程序的服务名称连接到 SQL Server 实例。完整的工作示例可以在 repo 中找到 https://github.com/NileshGule/AKS-learning-series/tree/master/k8s/AKS
我使用文档https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-kubernetes-manage?view=sqlallproducts-allversions升级到SQL Server 2019 Linux映像。通过操作员和可用性组部署,我能够创建数据库。但是,如果不提供可用性组主服务的负载均衡器 IP 地址,我将无法从前端和 Web API 项目访问数据库。
有没有办法在不指定 IP 地址的情况下使用服务发现访问 SQL Server 2019?
sql - 从单个查找表创建视图的最佳实践是什么?
我有一个相当大的表,主要由引用单个查找表的查找 ID 组成。我知道这通常不被认为是最佳实践,但不幸的是,这方面超出了我的控制范围。
我想做的是创建一个视图,将查找 ID 转换为相应的描述(此特定表中的 25-30 个查找列)。从我读过的内容来看,我的选择似乎如下。我的问题是这些(或我没有想到的任何其他方法)中的哪一个将提供性能、可读性和可扩展性的最佳组合。
- 只需使用单独的表别名为每一列创建一个左连接。
- 使用子查询返回所需查找的内联表值函数
- 使用针对标量 UDF 的新 2019 SQL Server 优化的内联标量值函数。
1 似乎是最简单的,但维护和阅读会很麻烦,并且无法转换为我需要此功能的其他表。
2 似乎更具可扩展性,但扩展性不大,我不确定与 #1 相比性能会受到多大影响。
3 是我的首选,因为它具有极强的可扩展性并且使视图更具可读性。但是,我知道这是 MSSQL 的新增功能,因此我非常担心潜在的性能问题与 1 相比。
有人对这种特定方法有任何意见/建议吗?
编辑:这是一个突出使用直接连接的潜在负担的示例。这种特殊的观点要求我将短代码和描述组合在一起。我认为内联 UDF 会使它更具可读性和灵活性,但在完成转换它的所有工作之前,我只是想了解它是否是一个实用的选择......
sql - 有没有比 LIKE 更快的方法来 RECURSIVELY 加入 SQL-Server,没有循环?
我需要递归地加入一个可以有循环的大图。
现在,在 SQL-Server 中的简化版本如下所示:
由于 SQL-Server 不支持数组,我尝试使用 JSON 进行优化:
但 JSON 并没有更快,而且它只适用于 SQL-Server 2016+。
我也尝试过使用 XML:
虽然这适用于 sql-server < 2016,但这太慢了 - 比喜欢的要糟糕得多。
获得良好性能的唯一方法是切换到支持数组的 PostgreSQL:
这在 1.6 秒内完成,这与我预期的一样好。
有什么方法可以提高 SQL-Server 的性能吗?
注意:
这个愚蠢的例子CTE.i IN (whatever)
不应该有任何意义,它只是为了速度比较。
sql - SQL Server 多级联路径通过添加独立主键解决
我在这里查看了几篇关于 SQL Server 错误 1785 的堆栈溢出的帖子:引入 FOREIGN KEY 约束可能会导致循环或多个级联路径。而且我发现不检查周期是 Microsoft 产品的一项功能,常见的建议是使用触发器绕过它。
所以我的问题是:
如何在 SQL Server 中的多个表上生成外键依赖项?
错误地,我发现如果我创建一个单独的独立 PRIMARY KEY,我可以创建具有多个级联路径的表而不会出错(并且它的功能按预期工作)。作为参考,我正在运行 SQL Server 2019。
以下会产生错误:
由于我无法在任何地方找到此答案,因此我将其发布在这里作为触发器解决方法的替代方案。很高兴知道为什么会这样。
sql - 如何根据替换表替换字符?
我有一个包含以下列的表:
其中的一些数据是:
我有一个基于 60000+ 行生成 XML 内容(大约 30MB)的存储过程。内容基于各种表格,例如一张表格包含客户名称。此列可能包含一个或多个上述可替换字符。
如何使用上表编写一个替换字符串字符(作为参数传递)的函数?
oracle - 通过 SQL Server PolyBase 在 Oracle 上创建外部表时出错
我正在尝试使用 SQL Server PolyBase 在 Oracle 上创建一个外部表
一开始我遇到了错误
ORA-28040: 没有匹配的身份验证协议
将以下行添加到 sqlnet.ora 后
SQLNET.ALLOWED_LOGON_VERSION=8
以前的错误消失了,我开始低于错误
[Microsoft][ODBC Oracle 有线协议驱动程序][Oracle]ORA-01017:用户名/密码无效;登录被拒绝
我使用以下凭据创建了数据源
(XE)
我可以使用连接到 Oracle 实例,SYSTEM/SYSTEM
所以我不知道为什么会出现错误。
我正在使用 SQL Server 2019 CTP-2 和 Oracle 18 Express。