我在运行企业数据库服务器方面相对较新,作为一名开发人员,我习惯于在默认设置下运行我的数据库,更专注于代码。现在,我发现在企业级别的数据库配置不正确,至少有 2,000 个用户,每天生成超过 1000 张票。
我应该如何配置我的数据库服务器?我阅读了这篇文章https://medium.com/@richb_/tuning-mysql-3-simple-tweaks-6356768f9b90不知何故,我在获取 innodb_buffer_pool_instances 等的过程中迷失了方向。
以下是我目前的配置:
https://pastebin.com/1TaKpRaB -> my.cnf
https://pastebin.com/pWF6SV6W -> 显示变量;
https://pastebin.com/CnwiWmx6 -> 显示全局状态;
我正在读一本书,其中显示了这个例子
SELECT wait_type ,
SUM(wait_time_ms / 1000) AS [wait_time_s]
FROM sys.dm_os_wait_stats DOWS
WHERE wait_type NOT IN ( 'SLEEP_TASK', 'BROKER_TASK_STOP',
'SQLTRACE_BUFFER_FLUSH', 'CLR_AUTO_EVENT',
'CLR_MANUAL_EVENT', 'LAZYWRITER_SLEEP' )
GROUP BY wait_type
ORDER BY SUM(wait_time_ms) DESC
Run Code Online (Sandbox Code Playgroud)
我想知道 FROM 语句旁边的关键字 DOWS 的确切作用(含义)。我试图搜索,但没有找到任何有用的东西。谢谢你的时间!
我没有维护计划,但我看到在后台创建索引(低 spid)。我不知道正在创建什么索引或为什么。使用标准 SQL Server 2017 - Azure 上安装了 SQL 的 VM。
我检查并没有看到自动索引管理的任何地方。您可以配置备份等,但我找不到索引位置。
我尝试EXEC sp_WhoIsActive @show_system_spids = 1;并得到了这个结果:
(542701ms)RESOURCE_SEMAPHORE
Run Code Online (Sandbox Code Playgroud)
我认为正在发生的事情是我有一个“混乱的索引”并且系统正在尝试修复它。我无法删除任何索引或重建它。至少这是我的猜测。
我需要用 TS 聚合表的值的“总和”,每个半小时(60 分钟)的值列,即 00:30、01:30、02:30 等
样本数据:
Val TS
1 2019-08-12 00:00:00.013
3 2019-08-12 00:10:00.013
2 2019-08-12 00:20:00.013
2 2019-08-12 00:30:00.013
0 2019-08-12 00:40:00.013
0 2019-08-12 00:50:00.013
1 2019-08-12 01:00:00.013
7 2019-08-12 01:10:00.013
0 2019-08-12 01:20:00.013
1 2019-08-12 01:30:00.013
2 2019-08-12 01:40:00.013
0 2019-08-12 01:50:00.013
2 2019-08-12 02:00:00.013
0 2019-08-12 02:10:00.013
0 2019-08-12 02:20:00.013
0 2019-08-12 02:30:00.013
1 2019-08-12 02:40:00.013
0 2019-08-12 02:50:00.013
4 2019-08-12 03:00:00.013
3 2019-08-12 03:20:00.013
1 2019-08-12 03:30:00.013
Run Code Online (Sandbox Code Playgroud)
我们应该得到这个:
Val TS
10 2019-08-12 00:30:00
5 2019-08-12 …Run Code Online (Sandbox Code Playgroud) 我在许多服务器上观察到的 Query Store 运行时统计数据存在这种奇怪的行为,这些行为具有不同的场景,这让我不敢相信这些统计数据。还是我做错了什么?
例如,具有给定查询计划的像这样的琐碎查询:
Stats ( sys.query_store_runtime_stats)max_logical_io_reads在某个偶然的时间间隔报告绝对疯狂的数字:
但是 table 总共只分配了 27 页!
我正在通过跨许多环境的不同查询遇到这种现象。它正在破坏我的回归查询分析。
具有不同读取次数的查询没有不同的计划。
堆表只显示很少更新和插入。巧合的是,我以堆为例。我在使用集群表时也遇到过这种情况。
我只是有一个关于 SQL Server 及其附带的各种工具的快速问题。
我将我的 SQL Server Management Studio 更新到最新版本,因为我想使用该STRING_AGG功能,但显然这与实际的 SQL Server 是分开的。
所以我正在尝试更新我的实际 SQL Server。我下载了这个链接,这是正确的吗?(适用于 Microsoft® Windows 最新累积更新的 SQL Server® 2017) https://www.microsoft.com/en-us/download/details.aspx?id=56128
我运行了它,但它似乎没有升级任何东西。它似乎所做的只是创建了一个灌输中心。那是我必须去的地方吗(我需要对每个操作都有管理员权限,所以我很难检查)?
甚至可以进行此升级。我在一家公司工作,我们使用企业版。我们连接到两个不同的第三方数据库。在我的本地计算机上更新是否有效?或者我是否必须与 DBA 交谈并在某些主服务器上对其进行更新?
我想使用大约 60GB 的备份 (.bak) 还原 SQL Server 数据库。
是否可以在只有 100GB 可用磁盘空间的机器上执行此操作?
或者我是否至少需要 60GB 的.bak文件和 60GB 的 SQL Server 上的最终数据库?
有没有办法将.bak文件复制到服务器中?
网络共享在 SSMS 中不可见 - 只有像 USB 设备这样的本地驱动器。
为了使关系在 1NF 上,它需要将所有值都作为原子,如果有一个集合,它甚至不是第一个范式:
但直觉上,我认为具有该集合的表会比不将该集合的值仅用作实体的属性的表更规范化。
例如,让我们想象这张关于绘画的表格:
绘画名称,作者,使用的技术,使用的颜色
现在,如果我们使用一组颜色,如{蓝色、绿色、黄色、黑色、白色、紫色},我们会得到一张甚至不在 1NF 中的表格。
如果我们将表传递给 1NF,那么我们需要有 6 行,每行重复 Painting_name、Author 和 Used 技术。
这看起来比甚至不在 1NF 中的表更不规范化,而且我不明白为什么在那里有一个集合会损害任何可能的规范化,因为这些集合只会在该表中使用。
那么需要原子值才能拥有规范化表的原因是什么?
我正在尝试对 Postgres 数据库进行未来验证,以便将其转移到 AWS Aurora。
我正在使用指南扩展名uuid-ossp。
是否可以向 AWS Aurora 添加 PostGres 扩展?
我特别感兴趣的是该扩展是否uuid-ossp可以在 Aurora 中使用。
sql-server ×7
aggregate ×1
audit ×1
azure-vm ×1
date-math ×1
disk-space ×1
monitoring ×1
mysql ×1
postgresql ×1
query-store ×1
restore ×1
t-sql ×1
upgrade ×1