我知道 last_run_date 和 last_run_time 存储为 Int,但是当转换到 datetime(我有示例)时,是 GMT 时间还是什么?转换后,它与 GUI 日志历史记录显示的时间不匹配。
任何人都可以提供这方面的指导吗?
这是我将值转换为日期时间值的 t-sql 代码:
'last run literal' = dateadd(millisecond,
sjs.last_run_time,
convert(datetime,cast(nullif(sjs.last_run_date,0) as nvarchar(10))))
Run Code Online (Sandbox Code Playgroud) 为什么 Op Stats 都是 0,而 Usage Stats 却显示 29 个搜索。这是从 Brent Ozar 的 sp_blitzindex 返回的。
使用统计 操作统计 读取:29(29 次搜索)写入:14 0 次单例查找;0 次扫描/搜索;0 删除;0 次更新;
我创建了一个有一个存储过程TRUNCATE,并INSERT在它的语句,我使用的一个SSRS报告。
我通常只使用作为db_datareaderSSRS 报告成员的帐户,但是此存储过程不会使用只有这些权限的帐户执行。尝试执行存储过程时报如下错误:
找不到对象“table_name”,因为它不存在或您没有权限。
我是否需要使用有db_datawriter成员的帐户来执行此 SP,或者有什么方法可以让我的db_datareader帐户执行它?
我有两个 T-SQL 脚本,它们计划每天运行一次。两者都清理不同表中的一些旧数据。两个脚本都以同一用户身份在同一数据库上运行。
脚本 A 将在 SQL Server Management Studio 和作为作业启动时成功执行,但脚本 B 将仅在 SQL Server Management Studio 中成功执行,即使以设置为在 SQL Server 下运行脚本的同一用户登录代理人。
脚本 B 失败并出现以下错误:
以用户 [username] 身份执行。
DELETE 失败,因为以下 SET 选项的设置不正确:“QUOTED_IDENTIFIER”。验证 SET 选项是否正确用于计算列上的索引视图和/或索引和/或过滤索引和/或查询通知和/或 XML 数据类型方法和/或空间索引操作。
[SQLSTATE 42000](错误 1934)。步骤失败。
我在尝试清理的表之一上确实有一个过滤索引,但为什么它会通过 SSMS 工作?
我最近继承了一个管理不善的 SQL 服务器。
其中一个数据库处于粗略状态。以下是详细信息:
我已经将夜间备份恢复到同一个 SQL 服务器,并在其中进行了检查以确保数据看起来完好无损。当我恢复每晚的 .bak 备份文件时,它会分别重新创建 369MB 和 29.7GB 的 .mdf 和 .ldf 文件。
对 SQL 很体面,但无论如何我都不会称之为专家,我有一些关于这种情况的后续问题,我希望得到以下反馈:
如何将结果保存sp_BlitzWho到表中?与其他 proc 相比,保存到表的选项不存在sp_Blitz。
我必须每天执行 SQL 语句并将结果通过电子邮件发送给 dba。我配置了数据库电子邮件。
下面是查询:
SELECT
account.accountID,
account.name
FROM
account
LEFT OUTER JOIN accountfeaturesetting afs
ON afs.accountid = account.accountid
and afs.featureid = 'Schedules'
and afs.settingid = 'EditReasons'
WHERE
ISNULL(afs.Value, '0') = '1'
AND NOT EXISTS
(SELECT 1 FROM program
WHERE program.AccountID = account.AccountID
AND program.Active = 1 AND
(program.ScheduleEditReasonFlags <> 0 OR
program.ScheduleEditReasonFields <> 0))
AND account.IsMaster = 0
Run Code Online (Sandbox Code Playgroud)
为此,我创建了具有 2 个步骤的 Sql 作业:
发送结果:
Use MSDB
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'abc',
@recipients = 'recipients@company.com',
@subject = 'queryresultset',
@body='testmail', …Run Code Online (Sandbox Code Playgroud)在 SSRS 报告上切换图像的最佳方式是什么?
在我创建的报告中,有很多问题的答案是“是”或“否”,根据我对问题的价值,我想显示正确的图像。
例如我们有性别:
女
男
此报告仅用于输出,不会用于执行数据输入。
对于每条记录,无论该人是男性还是女性,我都在“性别”列中具有值。我想在正确的性别旁边显示一个带有刻度线的正方形,同时保持另一个选项框为空(一个空的正方形图像)。这应该像一个单选按钮一样起作用。
因此,如果记录有gender = 'Female',我应该在女性文本框旁边显示一个勾号图像,在男性文本框旁边显示一个空方块,反之亦然,如果gender = 'Male'在记录中。
有什么建议?
有没有办法可以把下面的SELECT语句变成一个DELETE?
I would like to delete the corresponding returned records from the [ETL].[Stage_Claims] table.
Since I used derived tables I can't reference the Stage_Claims table.
To summarize, the 2 physical tables used in the below query have identical structures. Only difference is DUPS_Claims is a subset of Stage_Claims.
DUPS_Claims contains duplicate records found in Stage_Claims. If a record exists 3 times in Stage_Claims, we will have that record 3 times in DUPS_Claims as …
我有一个包含通话记录的表:
tbl_calls
cl_Id
cl_StartDate
cl_endDate
Run Code Online (Sandbox Code Playgroud)
我传递两个参数@StartDate并@EndDate给我的存储过程。
我的要求是在每 15 分钟的持续时间内获取通话记录的数量。
例如,如果:
@StartDate = '2015-11-16 00:00:00.000',
@EndDate = '2015-11-16 23:59:00.000'
Run Code Online (Sandbox Code Playgroud)
输出应该是:
Date Count
2015-11-16 00:00:00.000 10(Count of startDate between '2015-11-16 00:00:00.000' AND '2015-11-16 00:15:00.000')
2015-11-16 00:15:00.000 7(Count of startDate between '2015-11-16 00:15:00.000' AND '2015-11-16 00:30:00.000')
2015-11-16 00:30:00.000 50(Count of startDate between '2015-11-16 00:30:00.000' AND '2015-11-16 00:45:00.000')
upto @EndDate
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下查询,但它不能正常工作。有一个更好的方法吗?
DECLARE @StartDate DATETIME = DATEADD(DAY,-1,GETUTCDATE()),
@EndDate DATETIME = GETUTCDATE()
SELECT New
FROM
(SELECT
(CASE
WHEN cl_StartTime BETWEEN @StartDate AND …Run Code Online (Sandbox Code Playgroud) sql-server ×8
backup ×1
count ×1
date ×1
index-tuning ×1
reporting ×1
ssms ×1
ssrs-2008 ×1
t-sql ×1