小编Jam*_*ins的帖子

将 DBCC LOGINFO 的 CreateLSN 转换为时间

如果我DBCC LOGINFO对我的数据库运行未记录 的字段,则返回的字段之一是 CreateLSN。这是创建 VLF 时格式为 1629000000070500011 的 LSN。现在已经很长时间了,磁盘使用情况报告的自动增长值早已不复存在。我想将 LSN 转换为日期/时间

对于一次性解决方案,我试过这个

select sys.fn_cdc_map_lsn_to_time ( convert(binary,1629000000070500011) )
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

无效的对象名称 'cdc.lsn_time_mapping'

我觉得我错过了一些简单的东西,但它在暗指我。

sys.fn_cdc_map_lsn_to_time (Transact-SQL)

sql-server-2008 functions

3
推荐指数
1
解决办法
1187
查看次数

在连接时记录 MultiSubnetFailover 值?

使用 AlwaysOn,关键字有 3 个选项 MultiSubnetFailover

并非所有应用程序都支持在连接字符串中使用它。并非所有供应商联系人都了解故障转移对性能的重要性。

作为一名 DBA,我希望能够验证应用程序连接正在使用什么属性。如果我没有对其进行适当的设置更改,RegisterAllProvidersIP可能会导致问题。请参阅:后续:创建可用性组侦听器之后

它并不显得捕获在任sys.dm_exec_sessions也不sys.dm_exec_connections

如何捕获用于创建与我的实例之一的连接的(如果有)关键字值?

sql-server availability-groups connections

3
推荐指数
1
解决办法
214
查看次数

N'[未分类(本地)] 是什么意思?

在这里(和其他地方)的几个问答代码片段中可以看到以下代码,我正在尝试翻译部分N'[Uncategorized (Local)]

    EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', 
       @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
Run Code Online (Sandbox Code Playgroud)

例子

我看过 Microsoft EXECUTE (Transact-SQL)

'姓名'

是有效的用户名或登录名。name 必须是 sysadmin 固定服务器角色的成员,或者分别作为 sys.database_principals 或 sys.server_principals 中的主体存在。name 不能是内置帐户,例如 NT AUTHORITY\LocalService、NT AUTHORITY\NetworkService 或 NT AUTHORITY\LocalSystem。

[N] 'command_string'

是一个常量字符串,其中包含要传递到链接服务器的命令。如果包含 N,则字符串被解释为 nvarchar 数据类型。

我猜N'[Uncategorized (Local)] 部分会获取系统管理员的名称并将其传递给系统管理员以执行作业,但我没有找到一个很好的参考资料来表明所有三个部分是如何协同工作的.

sql-server sql-server-agent

2
推荐指数
1
解决办法
2271
查看次数

LSN 的三个部分是什么?

我很好奇日志序列号 (LSN) 的 3 部分是什么以及它们是如何生成的。

日志序列号是一个不断增加的、由三部分组成的编号,它唯一地定义了日志记录在事务日志中的位置。来源

我环顾四周,发现至少有一个答案说我“不应该关心这些是如何生成的”,但我仍然想知道。

如果我运行,DBCC FILEHEADER ([AdventureWorks2014], 1)我得到的结果会显示我的 AdventureWorks 中一些重要的 LSN

最大LSN

45000000001600001

第一LSN

44000000084000074

重做起始LSN

45000000001600001

它们似乎确实有 3 个不同的部分,它们是什么,它们是什么意思,它们是如何生成的?

sql-server logs transaction-log

2
推荐指数
1
解决办法
359
查看次数

为什么 sp_replmonitorhelpsubscription 在没有参数的情况下不起作用?

我刚刚开始使用所有很酷的复制工具来以编程方式监控复制

早期发现之一是sp_replmonitorhelpsubscription

当我运行它时

 sp_replmonitorhelpsubscription
Run Code Online (Sandbox Code Playgroud)

我得到

消息 20587,级别 16,状态 1,过程 sp_replmonitorhelpsubscription,第 77 行 [批处理开始第 16 行]

存储过程“sp_replmonitorhelpsubscription”的“@publication_type”值无效。

根据 MS 文档,它应该是有效的,默认值为空

NULL(默认)

如果我用参数运行它,它工作正常。

sp_replmonitorhelpsubscription  @publication_type = '0' 
Run Code Online (Sandbox Code Playgroud)

我将它与事务复制一起使用,在单个服务器(报告副本)上我已经尝试过,并且在 SQL 2017 和 2016 上得到了相同的结果。我正在针对分发数据库运行它

不确定我是否在做一些愚蠢的事情,如果 MS 文档有误,或者什么。

为什么 sp_replmonitorhelpsubscription 在没有参数的情况下不起作用?

sql-server transactional-replication sql-server-2017

2
推荐指数
1
解决办法
219
查看次数

自动化 SQL CU 修补的方法?

出于我无法解决的原因,我们正在寻找WSUSSCCM 的替代方案来自动化 SQL CU 修补(特别是在 SQL 2017+ 上

有一些简洁的 Powershell 解决方案,例如Adam Bertram 的这个解决方案,我通过相关帖子在 Windows 上自动修补 SQL Servers 中找到

我知道有很多商业解决方案,谷歌很容易找到。我正在寻找我们可以在内部管理的解决方案。

我也在寻找其他方法来考虑。经过广泛搜索,我什至可以想象的唯一其他方法是在服务器重新启动时运行的 SQL 作业(服务器修补通常在重新启动时定期发生)),它将在共享文件夹中查找最新的 CU,如果未安装则应用它。但我没有发现除上述之外的任何解决方案。

是否有任何自动化 SQL CU 补丁的方法,但我还没有找到示例?

如果 SQL 作业修补可行,是否有任何示例?

sql-server patching sql-server-2017

0
推荐指数
1
解决办法
2879
查看次数

为什么 SQL 执行计划通常从右到左解释?

为什么 SQL 查询/执行计划通常从右到左解释?

英语是一种从左到右的书面语言。即使出于某种原因 SQL 向后制定计划,数据仍然只是屏幕上的像素。

没有理由不从左到右显示它。

sql-server execution-plan

-1
推荐指数
1
解决办法
1671
查看次数