我正在阅读这篇 BBC 新闻文章和以下摘录,引起了我的注意。这听起来像是Always On Availability Groups或High Availability Mirroring,可能会自动包含安全性。
区块链是现代、高交易量应用程序的潜在可行数据库解决方案吗?
很容易看出它对个人医疗记录等小批量交易的价值,但是大批量数据库呢?
什么是区块链?
区块链依靠密码学来允许一组计算机在不需要中央参与者的情况下更改全局记录。
去除中间商可以降低几乎每个部门的成本。
区块链是一个分类帐,它按时间顺序或“链”记录一组称为“块”的数据所发生的一切。
作为一种货币,这是一项重要功能,因为它允许用户确保他们的数字货币是独一无二的,就像钱包中的每张纸币都是独一无二的一样。
“区块链技术将成为我们创造资产的方式,因为它允许你在不复制的情况下传输数字信息,”构建区块链网络的 Chain.com 的首席执行官 Adam Ludwin 说。
区块链可用于跟踪各种信息的历史并保持其价值,例如,医生可以使用它来更新医疗记录。
由于对区块链的每次更改都是在整个网络中同时进行的,因此不会丢失任何信息,并且由于更改无法撤消,系统保持其透明度。需要一个特殊的密钥来对每个块进行更改,因此个人可以通过保护该密钥来保证他们的记录安全。
什么是 SQL 的“不可提及的词”?
我正在阅读sys.query_store_query_text (Transact-SQL)并且我看到以下内容,所以我谷歌了 {SQL "unmentionable" word}
has_restricted_text
bit
查询文本包含密码或其他不可提及的词。
除了 3 个将我带回到我找到它的位置的链接之外,我没有找到任何似乎显示与密码或 SQL 可能关心的任何关系的内容。
我试图找到一种方法来弄清楚我的几个 sql 数据库何时脱机。
我检查了日志,但找不到任何此类信息,而且没有启用默认跟踪。
我只是有一个信息,之前有一位 DBA 将其离线,但没有电子邮件或书面通信等。
我们能找到这方面的信息吗?
请推荐,谢谢!
我正在审查我们公司的 DR 程序,当我在网上查找 Always On 群集丢失仲裁的解决方案时,进行比较。在找到关于集群与事务复制与可用性组主题的第一篇 SE 帖子之前,我在谷歌搜索结果中翻了三页,该帖子仅略微涉及丢失法定人数的主题。
虽然每个人都同意失去法定人数是糟糕的,并且有一些降低潜力的建议,但它仍然可能发生。我正在寻找一个经过同行评审的良好答案,以了解从 Always On 集群仲裁丢失中恢复的最佳途径。
对 SQL 系统数据库(master、model、msdb、tempdb)的查询存储只能在 msdb 上使用。我查看并没有在 msdb 上找到任何有关查询存储的文档。
虽然您无法在 GUI 中看到它,但可以在您的 SQL 2016 实例上对其进行验证
验证查询存储已关闭
USE msdb
SELECT * FROM sys.database_query_store_options;
Run Code Online (Sandbox Code Playgroud)
打开查询存储
USE [master]
GO
ALTER DATABASE msdb SET QUERY_STORE = ON
GO
ALTER DATABASE msdb SET QUERY_STORE (OPERATION_MODE = READ_WRITE
, INTERVAL_LENGTH_MINUTES = 30
, MAX_STORAGE_SIZE_MB = 1000
, QUERY_CAPTURE_MODE = AUTO)
GO
Run Code Online (Sandbox Code Playgroud)
验证查询存储已开启
USE msdb
SELECT * FROM sys.database_query_store_options;
Run Code Online (Sandbox Code Playgroud)
在所有系统数据库中,为什么 msdb 是唯一一个可以选择使用查询存储的数据库,它增加了什么价值?
-- Stop Query Store
USE [master]
GO
ALTER DATABASE msdb SET QUERY_STORE = OFF
GO
Run Code Online (Sandbox Code Playgroud) 旧 SSRS 上的内务管理,这个特定的服务器是 2008R2。
我有下面的查询,它为我提供了所有报告的名称、位置、创建和修改概述。我还想至少包含“连接字符串”,如果可能的话,还想从数据源属性中包含一些其他详细信息。但是我在 ReportServer 中找不到它。我见过人们使用 PowerShell 将其从 SSRS Web 服务中删除,我希望找到一个 T-SQL 解决方案。
如何使用 SQL 查询显示数据源详细信息?
--List all the reports on SSRS via "ReportServer" database
USE [ReportServer]
GO
SELECT Name
--, [ItemID] --Primary key
, [Path]
, [Description]
--, [CreatedByID] --need link to get anything usable from here
, Created.UserName as CreatedByUser
, [CreationDate]
--, [ModifiedByID] --need link to get anything usable from here
, Modified.UserName as ModifiedByUser
, [ModifiedDate]
FROM [dbo].[Catalog]
left join (select [UserID]
, [UserName]
from …Run Code Online (Sandbox Code Playgroud) 将 Service Pack 应用到生产 SQL 服务器时,我通常有一个大约 30 分钟的计划停机时间窗口。
之前被咬过,并发现所需的前提条件(如补丁)没有到位,这可能会使您的停机时间窗口增加几分钟(并且可能会使您越过窗口,或强制重新安排时间)。
现在,当更新处于规划阶段时,我将 Service Pack 移动到服务器并通过“检查正在使用的文件”或“准备更新”进行测试。我在那时取消了更新,并且在更新过程中尽可能自信,我不会超过计划的停机时间窗口。
您可以从任一屏幕取消,但由于“准备更新”上的“更新”按钮与“检查正在使用的文件”上的“下一步>”按钮位于同一位置,因此意外双击可能会意外启动更新,在验证时。
我的问题:
我应该在“检查正在使用的文件”还是“准备更新”时停止验证?我是否在“检查使用中的文件”结束时验证了所有我能做的事情?“准备更新”是否会增加验证的价值?
“distributor_admin”是用于复制的 SQL 身份验证帐户。开箱即用,它被授予 sysadmin,目前看起来无法回拨给 db_owner(请参阅相关的Distributor_admin 需要 sysadmin 吗?)。
根据一些消息来源(PDF 的第 4 页) distributor_admin 是暴力攻击中使用的前八个 SQL 用户名之一。重命名“sa”帐户被认为是最佳实践, “distributor_admin”也可以重命名吗?
我环顾四周,没有找到任何人提出这种替代方案。我发现几个职位所隐含的可能性的“名distributor_admin”的被硬编码到复制过程。
最近没有很多关于带有复制功能的distributor_admin 帐户的文档。
我继承了 SQL 服务器 { 2012 (SP3),但是这个问题是通用的} 我们使用 SCOM 来监视它。以前,我每个月收到一两次 PLE < 300 的警报。现在我有时一天会收到 2 或 3 条警报。
有很多关于 PLE 的博客文章,一些你可以用来监控它的工具,以及关于什么是好的、坏的或无所谓的许多不同的意见。最后有很多变数。没有任何解决方案是一刀切的。低 PLE 与其说是一种症状,不如说是一个问题,它有很多潜在的原因,以及需要考虑的相关措施。
{这一段可能不会增加问题的价值,我愿意删除它} 我想每个人都同意在隔夜报告创建期间 PLE 每月一次下降到 299,是一种不需要解决的症状(假设报告在营业时间之前完成)。大多数人也同意 PLE 一直保持在 350 是不好的。在进行硬件更改之前,有几个原因需要考虑,查询和索引接近顶部。
在阅读了大约 12 篇关于 PLE 的博客文章后。我试图缩小关键症状的范围,以便对正在发生的事情有一个很好的了解。下面的查询是我想出的。它给出了与 PLE 互连的 4 个缓冲区管理器项的值
...
SELECT [object_name],
[counter_name],
[cntr_value] FROM sys.dm_os_performance_counters -- https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-performance-counters-transact-sql
WHERE [counter_name] = 'Page life expectancy' --if multiple NUMA on a server should return multiple Nodes,
OR [counter_name] = 'Free list stalls/sec' …Run Code Online (Sandbox Code Playgroud) 我正在寻找扩展事件的权威对象列表,我想知道对象的可用版本以及有关该值真正代表什么的一些线索。我用谷歌搜索过,没有找到任何全面的内容。
作为示例,Microsoft 显示了 SQL:BatchStarting Event Class的版本历史记录可追溯到 2014 年,但我已在 SQL 2012 SP4(使用 SSMS 17.4)上使用它
是的,我可以用来获取所有 sys.dm_xe_objectsSelect * from sys.dm_xe_objects的列表,虽然有描述,但它非常笼统。
如果我想学习诸如sqlserver.nt_username 和 sqlserver.username 之间的差异之类的内容,除了比较结果和猜测之外,似乎没有任何资源。
如果我编写一个 XEvent,我应该拥有一个可用于定义它将运行的 SQL 版本的资源,我不需要在不同版本上尝试它来弄清楚它。
在哪里可以找到权威扩展事件对象列表?
sql-server ×8
query-store ×2
msdb ×1
offline ×1
patching ×1
performance ×1
replication ×1
security ×1
service-pack ×1
ssrs ×1
upgrade ×1