是否可以在 SQL Server 2008 中设置警报,以便在特定类别中的作业失败时发送电子邮件?
我想知道,因为我想在 SSRS 订阅失败时设置电子邮件 - 所有这些订阅都是Report Server类别中的作业。
编辑- 事实证明,当 SSRS 订阅失败时,作业本身不会失败,因此我的问题不适用于 SSRS 订阅监视使用。但是我仍然想知道我们在我们的环境中运行的其他作业
我们有许多具有相同配置的系统
每天晚上 SQL Server 会做大约 2-3 小时的处理,然后是 2-3 小时的 AS 处理。然后全天只查询 AS。
假设这是一个专用服务器,没有其他应用程序值得关注,并且两组处理是完全同步的 - 没有重叠总是一个接一个 - 我怎样才能最好地设置 SQL 和 AS 服务器内存限制。
询问的原因是,如果我不为 SQL 设置限制,它将抢占它所能获取的所有内存。但是 - 我的理解是,如果出现以下情况,SQL 将很乐意放弃此内存:
它没有使用它并且
另一个服务/程序请求它。
所以从逻辑的角度来看,我相信允许 SQL 根据需要使用尽可能多的东西,但我不太确定 AS' TotalMemoryLimit。我不确定 AS 是否会放弃它的记忆。事实上,阅读更多让我相信让它承担一切是错误的。
这是否意味着我实际上需要为两者设置限制?我对最佳实践应该是什么以及考虑到流程不重叠我们需要衡量什么感到困惑。
希望这是有道理的。
我了解到,出于向后兼容性的原因,只要您从旧版本恢复到新版本,就可以在 SQL Server 中恢复数据库。
有谁知道您是否可以从不同版本的 SQL Server 的 *.bak 文件还原数据库?我们正在通过 FTP 移动一个非常大的数据库,这需要几天时间,所以我们宁愿只做一次。如果在我们通过 FTP 传输数据库时没有人响应,我们显然会尝试一下,通过测试看看它是否有效,然后回答我们自己的问题。
以下是获取 SQL Server 版本详细信息的查询。该productversion格式为{major revision}.{minor revision}.{release revision}.{build number}。在我的情况下,源和目标{release revision}的值为。所以看起来没问题。然而,情况不同。55005512edition
询问:
SELECT
SERVERPROPERTY('productversion'),
SERVERPROPERTY('productlevel'),
SERVERPROPERTY('edition')
Run Code Online (Sandbox Code Playgroud)
源数据库:
10.0.5500.0
SP3
Developer Edition (64-bit)
Run Code Online (Sandbox Code Playgroud)
目标数据库:
10.0.5512.0
SP3
Enterprise Edition (64-bit)
Run Code Online (Sandbox Code Playgroud) 我有几个从 C# .NET web 应用程序调用的查询,它们对我来说总是很快(我是 SQL Server 的本地管理员),但对于一组用户(具有所需权限的域组),查询速度非常慢它在应用程序中超时的点。
什么会导致完全相同的查询对不同的用户以不同的方式运行?
更多信息:

今天我在 The Heap 上,正在查看我认为可以改进的查询计划。然而,它创造了一些东西,动摇了我对 SQL Server 查询优化器的信念。如果sql-server甚至不能计数到 100%,我还可以信任它吗?
表的特点:
date_entered列有没有人以前见过这个,是什么导致计划看起来如此扭曲?

问题比较简单。我需要计算 3 列,其中中间结果是大数,并且我在早期遇到问题,SQL Server 基本上四舍五入,无论是否进行任何强制转换/转换。
例如,让我们做一个简单的除法 1234/1233。计算器将产生 1,00081103000811。但是当我在 SQL Server 上执行此操作时,我们得到以下信息:
-- Result: rounded at 1.000811000... with trailing zeroes up until the 37 precision
SELECT CAST(CAST(1234 AS DEC(38,34))/CAST(1233 AS DEC(38,34)) AS DEC(38,37))
-- Result: rounded at 1.000811
SELECT CONVERT(DECIMAL(38,32), 1234)/CONVERT(DECIMAL(38,32),1233)
-- Correct result at 1,00081103000811
-- But this requires the zeroes to be put in manually when you don't
-- even know the precision of the end result
SELECT 1234.0/1233.00000000000000
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种自动舍入?当您无法确定一个数字(int 或 dec 部分)有多大时,计算超长十进制值的最佳方法是什么,因为该表可以包含各种不同的值?
谢谢!
我有下表:
==========================================================
| Name_Level_Class_Section | Phone Num |
==========================================================
| Jacky_1_B2_23 | 1122554455 |
| Johnhy_1_B2_24 | 1122554455 |
| Peter_2_A5_3 | 1122554455 |
==========================================================
Run Code Online (Sandbox Code Playgroud)
我正在考虑将我的 SQL 语句简化如下:
select
*,
substring(Name_Level_Class_Section,
CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_', Name_Level_Class_Section) + 1)) + 1,
CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_',Name_Level_Class_Section)+1))+1))-
CHARINDEX('_',Name_Level_Class_Section,
(CHARINDEX('_',Name_Level_Class_Section)+1))) as CLA
from
Bookings
order by
CLA asc, Name_Level_Class_Section asc
Run Code Online (Sandbox Code Playgroud)
这样当我执行 SQL 时,它会给我以下结果:
==========================================================
| Name_Level_Class_Section | Phone Num | CLA |
==========================================================
| Jacky_1_B2_23 | 1122554455 | B2 |
| Johnhy_1_B2_24 | 1122554455 | B2 | …Run Code Online (Sandbox Code Playgroud) 我试图找出谁更改了 SQL Server 2008 R2 中的登录密码。
我已经检查了默认跟踪 - 它没有记录该事件。默认跟踪将包括这些与安全相关的事件:
/*
Audit Add DB user event
Audit Add login to server role event
Audit Add Member to DB role event
Audit Add Role event
Audit Add login event
Audit Backup/Restore event
Audit Change Database owner
Audit DBCC event
Audit Database Scope GDR event (Grant, Deny, Revoke)
Audit Login Change Property event
Audit Login Failed
Audit Login GDR event
Audit Schema Object GDR event
Audit Schema Object Take Ownership
Audit Server Starts …Run Code Online (Sandbox Code Playgroud) 我想遍历值并一次从值中去除 1 个字符并显示结果。
因此,如果我有一个带有值的表:
ID
___
34679
13390
89906
Run Code Online (Sandbox Code Playgroud)
我希望结果看起来像这样
Id
----
4679
679
79
9
3390
390
90
0
9906
906
06
6
Run Code Online (Sandbox Code Playgroud) 在我读到的某个教程中,作者正在sys.indexes根据谓词进行过滤index_id < 256000。这有什么作用?
sql-server ×9
decimal ×1
index ×1
logins ×1
memory ×1
metadata ×1
monitoring ×1
optimization ×1
performance ×1
permissions ×1
security ×1
ssas ×1
ssms ×1
ssrs ×1
t-sql ×1