我正在使用 PS 脚本来恢复数据库备份,并且我有以下从 PS Invoke-SQLcmd 命令运行的 SQL 脚本:
USE master
GO
ALTER DATABASE mydatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE mydatabase SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE mydatabase
FROM DISK = 'Z:\bak\mydatabase.bak'
WITH REPLACE
GO
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
GO
ALTER DATABASE mydatabase SET ONLINE
GO
ALTER DATABASE mydatabase SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
Run Code Online (Sandbox Code Playgroud)
如您所见,我将数据库切换到单模式,甚至在还原操作之前将其设为离线。但是,我不时收到如下错误:
Transaction (Process ID 61) was deadlocked on lock resources with another process and has been chosen as the …
我有一个查询,它从 10 个表和一个子查询中提取数据。其中一个选择是针对某个位置,我正在使用 case 表达式来清理输出数据。它拉取数据的字段是varchar,数据可以是这样的值:USA800, admin, ccc-ulw, ccc-ury, 002-Carson, 066-Nellis BX, 042-Junction City(还有更多) .
如果它是不以数字开头的位置之一,我希望 case express 报告一个特定值,但如果它是一个数字,我希望它只返回数字,作为一个整数(删除 0) .
这是我现在拥有的查询(可能不需要整个 SQL,但我认为它会有助于上下文):
select
ct.id as CaseID
,c.first_name as FirstName
,c.last_name as LastName
,c.id as CustomerID
,SUBSTRING(sdu.User_ID,CHARINDEX('-',sdu.User_ID)+1,(((LEN(sdu.User_ID))-CHARINDEX('-', REVERSE(sdu.User_ID)))-CHARINDEX('-',sdu.User_ID))) as [Username from Navigator]
,case sdu.Application_Name when 'Navigator' then sn.[RESP CODE] else '' end as [Responsibility Code from Navigator]
,case sdu.Application_Name when 'Navigator' then RIGHT(sn.[EMUL STATION], 4) else '' end as [CStat From Navigator]
,ce02.id as JobCode
,case l.id
when 'USA800' then 'USA800' …Run Code Online (Sandbox Code Playgroud) 我只是在浏览系统运行状况扩展事件时遇到一个事件,其中包含用于显示工作线程状态的查询处理的诊断结果:
512 + ((logical CPU's - 4) * 16)看起来不正确。但是,这里的最新链接对于大于 64 的逻辑处理器是有意义的,其中 16 的计算更改为 32。但是该链接说从 SQL 2017 开始,但是我得到的数字 2994 是针对 SQL2012, 14 16 的,其中逻辑处理器数为 80 . 我在这里遗漏了什么吗?sp_configure 中的 max worker 设置设置为“0”
maxWorkers="2944" workersCreated="456" workersIdle="314" tasksCompletedWithinInterval="1021881" pendingTasks="1"
我应该检查其他东西还是可以忽略它?
因此,在基本编码和测试过程中,我们看到多个表的 Identity 值出现了巨大的无模式跳跃。我们不知道任何服务器故障或尝试进行批量操作,但 DBA 正在查看日志。
差距不是典型的 1,000 或 10,000 与服务器重启等情况。
对于Application_NO具有 2,320 行的表,其间隔为10,410,345
Transaction_Payment_NO 对于包含 685 条记录的表,跳出惊人的 1,712,149,313 条记录。
关于什么可能导致如此大且看似随意的跳跃的任何想法?
有一个死锁 XDL 文件,其中列出了几个交换事件。不确定这些是好是坏,或者是什么导致了它们。是什么导致 SQL 死锁图中的交换事件?
<exchangeEvent id="Pipe12dfb4bc900" WaitType="e_waitPipeGetRow" nodeId="28">
<owner-list>
<owner id="process4a9ee4eca8" />
</owner-list>
<waiter-list>
<waiter id="process2612ca8" />
</waiter-list>
</exchangeEvent>
Run Code Online (Sandbox Code Playgroud) 目前正在解决一个奇怪的问题并试图找到解决方案。如果我们有一个字符串变量(@string),我们如何删除字符串的最后一个字符,仅当最后一个字符是 s 时?
在为 SQL 服务器进行常规操作系统修补后,我们遇到了一个奇怪的问题。
根据最佳实践,我们在被动上应用补丁并进行节点故障转移以使当前被动、主动,反之亦然以完成修补。
通常节点故障转移是无缝的并且在一分钟内完成。但是最近我们遇到了一个问题,在节点故障转移后需要 4 分钟才能使 SQL 联机:
我正在检查日志和事件,但找不到原因:以下是迄今为止的调查结果:
注意:SQL 服务器在 VM 上运行
请协助我还应该检查什么才能找到根本原因?
编辑 - 我尝试分析集群日志,可以看到 sql 离线已启动,但我不确定它在内部花了至少 4 分钟的时间来实际关闭 sql 并将其恢复。4 分钟后,sql 错误日志将数据库的所有条目都调高了大约 10 秒。所以看起来 DB 可能没有参与这里来减慢进程。
编辑 - 当前检查时的一些 VLF 信息
我需要更改一些数据库的名称,但是这些数据库被多个不同团队管理的许多应用程序使用。所有应用程序完成更改连接和数据库名称引用需要一些时间。有没有办法让更改无缝完成?正在查看同义词以暂时允许引用重命名的数据库,但不幸的是它仅适用于数据库级别。
我有下表,其中包含以下数据:
DECLARE @MyActions TABLE (ActionId INT NOT NULL, ActionDate DATETIME NOT NULL)
INSERT INTO @MyActions VALUES (1, '2021-08-01 01:00:00')
INSERT INTO @MyActions VALUES (2, '2021-08-02 02:00:00')
INSERT INTO @MyActions VALUES (3, '2021-08-03 03:00:00')
INSERT INTO @MyActions VALUES (4, '2021-08-04 04:00:00')
Run Code Online (Sandbox Code Playgroud)
如何在不使用慢表值函数的情况下将每个 ActionID 分解为 10 个附加记录(当前 ActionID 的日期前 5 天和日期后 5 天)?
ActionID = 1 应该爆炸到 11 个总记录(没有时间),Action 2 应该爆炸到 11 个总记录(没有时间),依此类推
分解结果集
DECLARE @MyActions TABLE (ActionId INT NOT NULL, ActionDate DATETIME NOT NULL)
INSERT INTO @MyActions VALUES (1, '2021-08-01 01:00:00') …Run Code Online (Sandbox Code Playgroud) 我意识到这可能是一个简单的问题,但如果我包含 SQL Server,我的搜索只会返回驱动器号或数据库名称的结果。请随时向我指出现有的文章或答案,并提前道歉:)
我继承了一个环境,其中包含多个支持多个 SharePoint 2013 和 2016 场的 SQL Server 2014 和 2016 服务器(也有一些是集群服务器)。以前的 SA 为驱动器命名/标记了一些相当模糊的名称,我想通过重命名驱动器来避免自己继续混淆每个包含的内容。这是一个坏主意吗?我似乎无法在我的环境中找到任何专门提到驱动器名称的东西,一切似乎都选择了驱动器号,在某些情况下,驱动器名称被呈现为信息。
驱动器名称只是一个描述,实际上并没有将驱动器本身识别为任何系统,我对吗?
sql-server-2014 ×10
sql-server ×9
cast ×1
clustering ×1
cpu ×1
date-math ×1
deadlock ×1
failover ×1
identity ×1
rename ×1
restore ×1
sharepoint ×1