问题标签 [sql-server-2019-express]
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.
c# - 更新触发器未在 where 子句中使用日期,导致更新具有相同键 id 的所有记录,而不仅仅是具有当前日期的记录
我有一个库存跟踪应用程序,我还跟踪每个位置的库存变化。库存项目可以在多个位置。这是通过拥有一个跟踪数据库并在我的库存表上使用触发器来实现的。如果我更改一次项目的数量,触发器将按预期工作。如果我返回并再次更改同一位置的数量,则该位置的所有数量(仅)都会更新为相同的数量。这是我的触发器:
由于我的 INSERT 语句正确执行,我知道 WHERE 子句有效。问题必须出在我的 UPDATE WHERE 子句中,该子句似乎忽略了 d.fldLastPhysical = i.fldLastPhyiscal。
注意:触发器是我的库存表的“ON UPDATE”触发器。当我在特定日期更改特定位置的特定零件的数量时,触发器将在跟踪表中插入一条新记录。如果数量随后发生变化,则在该日期该位置的该零件上不会创建新记录。这就是 where 子句在 insert 语句中所做的并且有效。
我想要发生的是,如果在同一地点的同一日期更改数量,则跟踪表中的数量将在该日期更新。似乎 D.fldLastPhysical <> i.fldLastPhysical 有效,但 d.fldLastPhysical = i.fldlastPhysical 无效。针对所有日期更新特定位置的单个部分。
如果不清楚,我很抱歉,但我必须了解您的回复并处理结果。因此,更新语句中的 where 子句无法正常工作。
谢谢
sql-server - SQL Server 2019 Polybase 错误 - 无法为 SQL Server 2019 创建外部数据源
我正在尝试将 SQL Server 2019 中的外部数据源设置到同一服务器上的另一个数据库。
我这样做是为了复制当前在生产中运行的 SQL Azure 设置。
我尝试了以下设置
- 我安装了 SQL Server 2019 Express
- 我安装了 Polybase
- 我启用了 TCP/IP 并确保服务正在运行
然后我跑了
在最后的 CREATE EXTERNAL DATA SOURCE 语句中,我收到此错误
链接服务器“(null)”的 OLE DB 提供程序“MSOLEDBSQL”返回消息“无法生成 SSPI 上下文”。
消息 -2146893042,级别 16,状态 1,行 0
SQL Server 网络接口:安全包中没有可用的凭据
我似乎无法弄清楚为什么会出现此错误
sql - SQL Server:存储过程中的性能
我是 SQL Server 性能优化领域的新手。但是我有一个需要将近 2 个小时才能执行的存储过程的问题 - 我认为这是一个很长的时间。它必须遍历大约 100000 条记录,并且我使用了计算列(计算列有一个前缀Upper_
)。
据我的老板说,我们不能使用全文搜索——所以我真的希望在不使用全文搜索的情况下有性能的可能性。
我花了很多时间在互联网上搜索,但没有任何进一步的成功。
也许我可以以正确的方式使用索引——但我也不知道如何正确地使用它们。
我的存储过程如下所示:
我的计算列之一如下所示:
我真的希望有/是性能优化的基础,并且有人可以给我一个关于要照顾什么的想法。
此处测试代码:
提前致谢,
迈克尔
sql - 无法连接到 (localdb)\MSSQLLocalDB - 由于触发器执行
我的机器上有一个运行良好的 SQL Server Express 实例,但我不知道发生了什么变化。我现在收到此错误:
由于触发器执行,登录“myusername”登录失败。
将数据库上下文更改为“主”。
我试图遵循这个:https ://dba.stackexchange.com/questions/218811/logon-failed-for-login-due-to-trigger-execution
所以有很多关于删除有问题的触发器的想法,如果需要,您可以连接到专用管理员连接 (DAC)。我不必通过 DAC 连接,因为我可以MACHINENAME\INSTANCENAME
很好地连接到 sa。我的问题仅在与(localdb)\MSSQLLocalDB
. 出于某种原因,LocalDB 仅导致此错误。
当我使用“sa”登录并运行以下命令时:
没有返回行。这是一个空的结果。那么,我需要禁用的触发器在哪里?LocalDB 是否没有连接到与我的 SQL Server Express 实例相同的实例?因此,LocalDB 连接到其他有触发器问题的东西,而连接方式MACHINENAME\INSTANCENAME
没有触发器。我认为“sa”登录将能够看到触发器是否存在。
编辑1:好的。我现在在 msdb 数据库中找到了所有这些触发器。我检查了所有数据库,这是唯一一个有任何触发器的数据库。
syscollector_collection_item_parameter_update_trigger
syscollector_tsql_query_collector_delete_trigger
trig_targetserver_insert
syspolicy_update_system_health_state
sysmanagement_delete_shared_server_group_trigger
syspolicy_execution_trigger
trig_notification_ins_or_upd
trig_notification_delete
syspolicy_validate_events
syspolicy_insert_job_create_trigger
syspolicy_update_job_update_trigger
syspolicy_insert_policy_trigger
syspolicy_update_policy_trigger
syspolicy_delete_job_delete_trigger
syspolicy_instead_delete_policy_trigger
syspolicy_insert_condition_trigger
syspolicy_for_update_condition_trigger
trig_sysoriginatingservers_delete
syspolicy_after_update_condition_trigger
trig_sysjobs_insert_update
syscollector_collection_set_is_running_update_trigger
trig_sysmail_profile
trig_sysschedules_insert_update
trig_principalprofile
trig_sysmail_account
trig_sysmail_profileaccount
trig_backupset_delete
trig_sysmail_profile_delete
trig_sysmail_servertype
trig_sysmail_server
trig_sysmail_configuration
trig_sysmail_mailitems
syspolicy_insert_target_set_level_trigger
trig_sysmail_attachments
syspolicy_update_target_set_level_trigger
trig_sysmail_log
syspolicy_insert_target_set_trigger
syspolicy_delete_target_set_trigger
sql - 在 SQL Server 中获取 Last hour, Last 'x' minutes 的行
订单编号 | 选取器 ID | Time_Picked |
---|---|---|
1 | 111 | 2020-01-13 11:28:00 |
2 | 222 | 2020-01-13 11:40:00 |
3 | 333 | 2020-01-13 10:00:00 |
4 | 444 | 2020-01-13 9:00:00 |
5 | 555 | 2020-01-13 9:45:00 |
我在我的 SQL Server 2016 中得到一个空白输出。
现在考虑的时间是下午 12:00。我想返回前两行(最后一小时行)。
如果有的话,请帮助我查找最后“x”分钟的详细信息。
PS:我经常从 SQL Server 访问这些数据,并且正在尝试使其成为动态的。
任何帮助,将不胜感激。提前致谢。
sql - 将数据(.xls 文件)导入 SQL Server - 我收到此错误
TITLE: SQL Server 导入和导出向导
操作无法完成。附加信息:
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。(系统.数据)
sql - 验证 SQL Server 2019 数据库中存在于其他表中的所有 FK
我有一个MyTable
包含这些列的表:
我还有另一张桌子叫Users
:
我正在清理MyTable
,我有一堆现在说“坏数据”的结果。我想获取所有以“错误数据”为结果的 MyTableId 的列表,并查看它们是否是User
表中的任何这些 Id。
我愿意接受有关此的任何建议。
样本数据如下:
所以基本上我需要删除 MyTable 中的坏数据,如下所示:
这不起作用,因为我需要一个脚本,首先在用户表中删除 FK 数据。我需要它是动态的,因为这只是示例数据。
linux - Linux Ubuntu 18.04 上的 Microsoft SQL Server 2019 - 安装程序卡在“正在配置 SQL Server...”
我们已经在 Ubuntu 18.04 linux(托管在德国的 Strato)上安装了最新版本的 MS SQL Server 2019,如下所述: https ://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect -ubuntu?view=sql-server-ver15
在设置过程中,我们选择了我们的版本(Express)和我们想要的语言(英语)。现在我们正在定义我们的 SA 密码,点击返回后设置被卡住,告诉我们“正在配置 SQL Server...”
看了一下htop,发现后台的进程,卡住了,好像是
/opt/mssql/bin/sqlservr --setup --reset-sa-password
当然,我们已经遵循了密码的复杂性规则(否则我们会走到那一步)
我们只能通过终止上述任务来克服“正在配置 SQL Server...”消息,这会导致 SQL 服务器正常工作,但无法连接到服务器,因为尚未设置 SA 密码。
之后重置密码确实会产生相同的错误。
任何帮助将不胜感激