我有 2 个虚拟机:
VM1 - 8 核 32GB 内存
VM2 - 8 核 64GB 内存
我使用 SSIS 目录在两个 VM 上同时运行相同的进程,所有进程都在它自己的 VM 上执行,因此没有信息通过网络传输..Aaa我发现这些进程的加载时间在 VM2 上相当慢。
加载:
VM1- 15m
VM2- 45m
我检查了一些性能指标并进行了一些基本测试...在加载期间我可以看到 Network I/O Waits
VM1- 600 毫秒/秒
VM2- 750 毫秒/秒
我假设这个网络 I/O 等待来自 SSIS,因为 SSIS 正在对 SQL Server 执行查询,然后批量插入信息,等待统计告诉我这两种情况的等待类型都是 ASYNC_NETWORK_IO。
我还使用 SP_SPACEUSED 进行了测试,以查看同时插入两个表中的行数,结果不是非常准确,但 VM1 几乎使插入的行数翻了一番......
我错过了任何进一步的测试吗?你想到的其他检查吗?
performance sql-server optimization sql-server-2016 query-performance
我有一个包含以下列的表格清单
ChkId, Q1_ID, Comment1, Checked1, Q2_ID, Comment2, Checked2, ... Q200_ID...
我有一个包含以下列的表格问题
Q_ID,提示
如何用匹配的 Questions.Prompt 替换 Checklist.Q#_ID 而不将它们加入最多 200 次?有没有优雅的解决方案?
我想查询如何在我已经尝试过使用 select * from dba_tables where owner='HR' and num-rows is null 的架构 HR 中找到所有空表;但我不知道这是否是正确的逻辑
最近有人告诉我,可以在 SQL Server 中创建一个没有事务日志的新数据库。我使用 SQL Server 很长时间了,但从未见过它被完成,而且我认为这是不可能的。我已经浏览了 Microsoft 文档中的“CREATE DATABASE”语法,但找不到任何有关它的信息,但有时我可能会失明,可能会错过它。
可以创建一个没有事务日志的数据库吗?如果是这样,有人可以指出我的文档吗?
需要明确的是,我并不是在谈论将数据库附加到日志。我知道可以附加一个带有事务日志的数据库。我也不是在谈论日志备份。
谢谢。
我一直在阅读一篇又一篇关于数据库备份和快照之间区别的文章,但它们没有任何意义,所以请帮助我理解
\n\n\n“快照是系统/卷在特定时间点的映像。”
\n“备份是执行备份时整个系统/卷的副本。”
\n
\n\n“快照仅保留自上次快照以来数据库的更改\ns”
\n
\n\n“快照制作速度快且尺寸小”
\n
编辑:来源:(来自备份与快照的所有顶级谷歌结果)
\nhttps://phoenixnap.com/kb/snapshot-vs-backup
\n\n\n快照是您的系统/卷在特定时间点的映像。\n
\n备份是执行备份时整个系统/卷的副本。\n
\n
https://www.sqlshack.com/understanding-database-snapshots-vs-database-backups-in-sql-server/
\n\n\n\n数据库快照就像数据库在某个时间点的视图。
\n快照备份的另一个用途是可以为数据库创建\n多个快照,并且可以在不同的时间点\n获取这些快照
\n可以随时创建备份。快照是数据库的\xe2\x80\x9c时间点\xe2\x80\x9d\n副本。
\n
\n\n快照很小,可以快速轻松地制作,而不会对服务器产生太大影响。
\n
请考虑以下错误消息。
消息 207 级别 16 状态 1 第 7 行
列名“FOO”无效。
由于我触发它的方式,我碰巧知道这是一个解析/编译时错误。
假设我正在运行一个不属于过程的长脚本,并且我收到了相同的错误消息。此错误消息中的内容告诉我错误是在解析/编译时而不是运行时发生的?
CREATE TABLE Department_History
(
DepartmentNumber INT
);
GO
ALTER TABLE Department_History ADD FOO INT;
-- This is fine and shows FOO.
SELECT * FROM Department_History;
-- When uncommented, this fails at parse time.
INSERT Department_History (DepartmentNumber, FOO) VALUES (4, 5), (6, 7), (8, 9);
Run Code Online (Sandbox Code Playgroud) 在 SQL Server 扩展事件中,是否有任何方法可以将“开始”事件(例如 )rpc_starting与“完成”事件(例如 )链接起来rpc_completed?例如,是否有类似相关 ID 的东西可以唯一标识对 SQL Server 的调用?
我想查询记录的事件,以获取通话的开始时间(来自 )rpc_starting及其持续时间(来自 )rpc_completed。到目前为止,我还没有找到任何方法来唯一链接同一调用的开始和结束。
我认为该request_id操作可能会起作用,但对于我查看过的事件,它似乎显示为 0。
我想选择过去 15 分钟内的数据,例如:
在 12.02 我想要从 11:45 到 12:00 的行
在 12.09 我仍然想要从 11:45 到 12:00 的行
在 12.18 我想要从 12:00 到 12:15 的行
数据以datetime2格式存储,我使用的是2019标准版。感谢任何帮助让我开始。规范稍后可能会更改(例如,10 分钟而不是 15 分钟),但我希望能够自己解决这个问题。
谢谢
我还不是 DBA,但这似乎是 DBA 类型的问题,而不是编程问题。
有人问我:
由于需要在实时环境中运行,这变得很复杂。我们的愿望似乎是自动化一些维护过程,以修复我们发现的任何问题,并为开发提供输入以阻止他们做坏事。
我的第一个想法是——招聘一名 DBA,可能是一名顾问。
然后,所要求的规模之大令我震惊。一个项目可能会持续数月,其中一台 SQL Server 和多台应用程序服务器共享任务。此输出的数据量将是巨大的,监视每个正在执行的查询的性能开销也将是巨大的。
有没有推荐的此类分析工具?
sql-server ×10
t-sql ×2
backup ×1
errors ×1
monitoring ×1
optimization ×1
performance ×1
query ×1
snapshot ×1