我正在使用第三方工具进行计划数据库备份。我需要做一个额外的完整备份。它是否应该受到计划备份的影响?如果是,有什么解决办法吗?
环境是 SQL Server 2014 Enterprise Edition,由 CommVault Simpana 管理的 NetApp 存储。我们在一个实例上设置了 100 个 dbs,所有 TLog 都在同一个卷上。
SAN 管理员每天设置 4 次 TLog 备份,每晚对 TLog 备份卷进行一次完整快照。保留期为 14 天,因此 TLog 备份卷在任何时候都有 14 个 TLog 快照。
最近,TLog 备份卷几乎耗尽空间,因为完整快照正在快速增加。我们将此归因于年终数据处理,导致大量块更改。预计这种上涨不会持续,但事实并非如此。
SAN 管理员表示,他无法知道哪些 TLog 文件导致了块更改的增加以及更大的快照。
我知道文件和块之间存在脱节,但我认为您可以通过 Simpana、NetApp 或 PowerShell 连接这些点,以找出导致大块更改的 TLog。
任何建议,将不胜感激。
谢谢
我正在使用 SQL Server 2008,我发现此解决方案仅适用于 SQL Server 2012 - 在 SQL Server 2008 中格式化电话号码的等效方法是什么?
FORMAT([PhoneField],'###-###-####')
Run Code Online (Sandbox Code Playgroud) 我已经从日期中取平均日期并试图获得平均日期的结果,但它引发了如下错误: Conversion failed when converting date and/or time from character string.
sql查询执行为:
select
CONVERT
(
DATE,
LEFT(
convert(
varchar(10),
AVG(
convert(
int,
convert(
varchar(10),
OnMarkDate,
112
)
)
)
),8
)
)
from @tbl_XMLResult
Run Code Online (Sandbox Code Playgroud)
列值如下:
'2001-10-11',
'2001-10-03',
'2001-09-24',
'2000-05-31',
'2001-10-15',
'2008-01-01'
Run Code Online (Sandbox Code Playgroud)
数据类型为日期。
以下代码用于在文本文件中写入数字,而是将“Echo is ON”写入文本文件。
SET @CMD = 'ECHO '+@Ver+'>'+@Vercheck
Print @CMD
EXEC xp_cmdshell @CMD
,NO_OUTPUT
Run Code Online (Sandbox Code Playgroud)
打印@CMD 给出“ECHO 1>C:\Pharmsuite\Vercheck.txt”
这里查询写的是“Echo is ON”而不是 1。
我仍然是查询优化的新手,我有一个存储过程,它使用游标遍历表中的每一行,并执行以下操作:
我尝试将此 Cursor 转换为 WHILE 循环,但性能下降。所以我需要帮助将其转换为SET BASED方法而不是Procedural Based方法
所以 Cursor 执行这个逻辑:
-- READ Current Row into Cursor Variables
FETCH NEXT FROM crAssetIgnitionOnOff INTO
@current_iVehicleMonitoringID
, @current_iAssetID
, @current_dtUTCDateTime
, @current_sptGeoLocationPoint
, @current_fLatitude
, @current_fLongitude
, @current_fAngle
, @current_fSpeedKPH
, @current_sIgnitionStatus
, @current_eEventCode
, @current_sEventCode
IF(@current_iAssetID = @prev_iAssetID)
BEGIN
---- Calculate Time Difference from previous Point
DECLARE @diffInSeconds INT
SET @diffInSeconds = DATEDIFF(SECOND, @prev_dtUTCDateTime, @current_dtUTCDateTime) …Run Code Online (Sandbox Code Playgroud) performance sql-server optimization cursors sql-server-2012 query-performance
ID MODEL MODELSTATUS CONTROL
11 100 GOOD XN
24 100 TRENDING BF
33 101 GOOD XN
46 102 BAD BF
50 103 BAD XN
64 103 BAD BF
77 104 PENDING XN
89 104 TRENDING BF
92 105 TRENDING BF
93 105 TRENDING XN
Run Code Online (Sandbox Code Playgroud)
鉴于上面的数据,我将如何返回下面的结果。可以有 1 条或 2 条(最多)具有相同 MODEL 的记录。如果 MODEL 有 2 个记录,则 CONTROL 将不同。
如果 MODESTATUS 为“趋势”,则返回该记录。否则,如果 MODELSTATUS 是 'Pending' 或 'Bad' 返回该记录。否则,如果 MODEL 有 2 条记录,其中 MODELSTATUS 与 CONTROL 的返回记录相同,则为“XN”
ID MODEL MODELSTATUS CONTROL
24 100 …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 SQL Server 和 SQL Server Management Studio,但它在服务器列表中没有显示任何内容,我不知道如何连接到它。
这表明我已经安装了 SQL Server:
但在这张图片中,您可以看到我的“浏览服务器”对话框是空的:
网络服务器也是空的。
我已经根据this issue阅读了MSDN - Microsoft Manual,但我仍然没有明确的理解,什么时候应用这个选项有用,什么时候没有用。请指教。
SET @vSelect =
'
SELECT
T1.BranchShortName AS BranchShortName,
(
SELECT TT1.EmployeeName
FROM [dbo].[Tb_OPL_Employee] AS TT1
JOIN [dbo].[Tb_MKT_SKD] AS TT2
ON TT2.IdTb_OPL_Branch = TT1.IdTb_OPL_Branch
JOIN [dbo].[Tb_SYS_Approval] AS TT3
ON TT3.TaskId = TT2.TaskId
WHERE
TT3.IdTb_OPL_JobTitles = TT1.IdTb_OPL_JobTitles
AND TT3.IdTb_OPL_JobTitles =
(
SELECT MAX(TTT3.IdTb_OPL_JobTitles)
FROM [dbo].[Tb_SYS_Approval] AS TTT3
WHERE
TTT3.IsPassed = 1
AND TTT3.ApprovalLevelCode = ''Approve''
AND TTT3.TaskId =TT2.TaskId
)
AND TT3.IdTb_OPL_Branch = TT1.IdTb_OPL_Branch
AND TT2.IdTb_MKT_SKD = T2.IdTb_MKT_SKD
) AS LastApproval,
(
SELECT TT1.EmployeeName
FROM [dbo].[Tb_OPL_Employee] AS TT1
JOIN [dbo].[Tb_MKT_SKD] AS TT2 …Run Code Online (Sandbox Code Playgroud) sql-server ×10
t-sql ×2
alias ×1
backup ×1
connectivity ×1
cursors ×1
date ×1
installation ×1
optimization ×1
performance ×1
ssms ×1
storage ×1
subquery ×1
xp-cmdshell ×1