小编use*_*240的帖子

了解备份类型

我最近开始担任初级 DBA... 昨天我为一位同事创建了一个新数据库,我的老板要求我确保我们尽快制定备份计划。

我没有多想,进入代理,创建了一个每天晚上凌晨 1 点进行完整备份的工作。为自己感到自豪,我上床睡觉,不再考虑它。今天早上我开始认为这还不够“足够好”——如果数据库在凌晨 12 点死掉,那么他们将丢失近 23 小时的数据,这可能会让我被解雇。:)

所以为了确保我理解这一点 - 我认为除了我的完整备份之外,我还需要做差异备份..看完本教程后,我有几个问题:

  1. 我是否会直接进入代理并添加一个每小时发生的作业(例如)以创建差异备份?
  2. 如果我的理解是正确的,那么它会每小时备份一次事务日志,直到它进行完整备份时的凌晨 1 点,然后它会“重置”T-Log 并从第二天重新开始,因此最多 1 小时数据丢失 - 这是正确的吗?
  3. 所以最后,我会在代理上有 2 个工作,一个每天凌晨 1 点启动以进行“完整”备份,另一个每小时启动一次进行差异备份?

sql-server backup

6
推荐指数
1
解决办法
672
查看次数

SQL:TSQL 查找无效视图

对于我们支持的一个应用程序,我们有一个周二/周四的维护窗口。星期二我们修改一个设施,星期四如果没有错误,我们会将所有更改推广到其他设施。该应用程序是 3ed 方,有时会更改数据库,从而使应用程序的“报告”服务器上的视图无效。

有没有一种方法可以在我的报表服务器(大约有 70 个)上使用 TSQL 滚动浏览所有视图,以在星期二解聚后查找绑定错误?

我想找到的错误是:

以用户身份执行:<>。无法准备报表。[SQLSTATE 42000](错误 8180)由于绑定错误,无法使用视图或函数“PAT.dbo.Reorders”。[SQLSTATE 42000](错误 4413)使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。[SQLSTATE 42000](错误 205)。步骤失败。

有没有办法以编程方式执行此操作,或者我是否只需要右键单击每个视图并尝试查看它是否带有数据?

谢谢,

t-sql

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

Sargability 问题 - 变量的顺序

我有一个有几行的存储过程:

AND ( @StartDate IS NULL OR @StartDate <= r.ReferralDate )
AND ( @EndDate IS NULL OR @EndDate >= r.ReferralDate )
Run Code Online (Sandbox Code Playgroud)

是否应该改写为:

AND ( r.ReferralDate >= @StartDate or @Startdate IS NULL  )
AND ( r.ReferralDate <= @EndDate or @EndDate IS NULL )
Run Code Online (Sandbox Code Playgroud)

我尝试了两种方法并查看执行计划。估计的行数略有不同,但除此之外我没有看到任何变化,所以我认为语句中的顺序无关紧要,但希望有人可以验证。

performance sql-server t-sql query-performance

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