有什么方法可以找到谁使用了专用管理连接?
不是活动连接而是前一个已经关闭的连接?
Microsoft SQL Server 2012 Enterprise 常规数据库(没有 AlwaysOn)是否以任何方式具有自动页面修复功能?
我从下面知道,通过结合 AlwaysOn,辅助副本会收到自动页面修复。只是询问没有 Alwayson 的 SQL Server 数据库是否可以使用此功能?
“每个可用性副本都尝试通过解决某些类型的阻止读取数据页的错误来自动从本地数据库上损坏的页面中恢复。如果次要副本无法读取页面,则副本会从主副本请求页面的新副本。如果主副本无法读取页面,则副本向所有辅助副本广播一个新副本的请求,并从第一个获取页面响应”
公司正在实施与快照异步的数据库镜像。这提供了一些具有报告功能的灾难恢复区域。服务器 A 主体包含镜像到服务器 B 的数据库,快照是在服务器 B 数据库上拍摄的。
为了启用更新的数据,我们将每 30 分钟在镜像服务器数据库上创建一次数据库快照。我们如何将所有 SSRS/报告存储过程查询重定向到最新快照?我们的报告查询非常短,一般在 10 秒左右。微软在下面提到了程序化解决方案,不确定那是什么?所以SalesDB1030、SalesDB1100、SalesDB1130、24clock加在dbname后面
报告查询可能是
select * from SalesDbSnapshot.dbo.SalesTransaction st
inner join SalesDbSnapshot.dbo.Customer cs
on st.CustomerId = cs.CustomerId
inner join SalesDbSnapshot.dbo.Product pr
on st.ProductId = pr.ProductId
Run Code Online (Sandbox Code Playgroud)
“要使用数据库快照,客户端需要知道在哪里可以找到它。用户可以在创建或删除一个数据库快照时读取另一个数据库快照。但是,当您用新快照替换现有快照时,您需要将客户端重定向到新快照。用户可以通过 SQL Server Management Studio 手动连接到数据库快照。但是,为了支持生产环境,您应该创建一个编程解决方案,透明地将报表编写客户端定向到数据库的最新数据库快照。 ”
sql-server mirroring snapshot sql-server-2012 disaster-recovery
在 SQL Server 中,是否有人知道将多行数据合并/展平为仅包含不同非空值的尽可能少的行的好方法。
IE
像这样的数据集:

像这样:

如果有帮助,之前的数据集是一个透视线列表,但没有聚合。我无法在枢轴期间聚合它,因为我想保留每个不同的值而不是采用 MAX 或 MIN。
我能想到的唯一方法是将数据拆分并将它们全部重新组合在一起,这不会非常有效。
我在同步自动故障转移模式下配置了两个节点 SQL Server AlwaysOn 可用性组。
现在因为在同步模式下,事务需要首先在辅助副本上提交,只有在确认之后,它才会在主节点上提交。
现在,如果我的辅助副本节点出现故障,事务是否只会在我的主节点上提交,除非我的辅助节点出现?我的交易不会被硬化到磁盘吗?
我正在运行以下(自制)分析查询,查看当前服务器上运行的查询的等待状态、内存使用情况和其他信息。
Select GetDate() as RunDate,
spid,
blocked,
waittype,
lastwaittype,
waittime,
sp.dbid,
uid,
status,
hostname,
program_name,
cmd,
nt_domain,
nt_username,
loginame,
sp.sql_handle,
stmt_start,
stmt_end,
session_id,
dop,
request_time,
grant_time,
requested_memory_kb,
granted_memory_kb,
required_memory_kb,
used_memory_kb,
max_used_memory_kb,
query_cost,
ideal_memory_kb
,SUBSTRING (qt.text, stmt_start/2+1, (
CASE
WHEN stmt_end = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 + 1
ELSE stmt_end
END - stmt_start)/2) AS [Individual Query]
,[Parent Query] = qt.text
FROM sys.dm_exec_query_memory_grants mg
INNER JOIN sys.sysprocesses sp
ON mg.session_id = sp.spid
CROSS APPLY sys.dm_exec_sql_text(sp.sql_handle) as qt
WHERE sp.spid != …Run Code Online (Sandbox Code Playgroud) 我可以在工作时间可读的辅助异步副本 (DR) 上运行Ola Hallengren 的 CheckDB 作业吗?目前异步副本不可读......
我有一个 Live 主服务器,我在工作时间/下班时间在辅助服务器上执行 CheckDB 。
sql-server sql-server-2012 availability-groups dbcc-checkdb ola-hallengren
我们的一项工作失败了,但在我们调查时,工作历史已经过期。但是,我们可以看到在失败时创建了一个新的日志文件。
没有实例重启(检查 os_sys_info)或代理重启(在 sys.processes 中查看)并且没有人使用它知道如何循环日志。
一定是某种腐败吗?
我正在运行 SQL Server 2012 并使用 2019 年 3 月发布的 sp_blitzCache 来分析系统上一些运行缓慢的查询。
我已经使用参数 @SortOrder = 'Reads' 执行了存储过程,并发现一些查询需要减少读取大量页面(以百万计)。
奇怪的是,这些查询都没有返回内存授予列的任何信息,它们都是空的。
为什么我们可以让 sp_BlitzCache 返回的查询执行多次读取和写入,但所有内存授予列都包含空值?
谢谢,凯文
sql-server-2012 ×10
sql-server ×9
dac ×1
dbcc-checkdb ×1
error-log ×1
mirroring ×1
pivot ×1
snapshot ×1