小编tor*_*yan的帖子

获取 SQL 代理作业的详细输出

我们有一个 SQL Server 代理作业,它运行维护计划以重新索引服务器上的所有数据库。最近这失败了,但工作历史记录没有提供足够的信息来诊断问题。

在作业历史记录中,它指出作业失败。该作业由用户 foo\bar 调用。运行的最后一步是第 1 步(重建索引)。

在详细信息窗口中有以下形式的多条消息:

Executing query "ALTER INDEX [something] ON [a...".: 0% complete  End Progress  Progress: 2015-03-15 22:51:23.67     Source: Rebuild Index Task
Run Code Online (Sandbox Code Playgroud)

正在运行的 SQL 语句被截断,我假设语句的输出也被截断,从而使我无法确定哪个特定语句失败以及为什么失败。有没有办法提取这些消息的全文?

sql-server sql-server-agent

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

从另一台服务器的文件中自动恢复 SQL Server 数据库

我们的日常任务是使用相关生产数据库的备份覆盖许多开发数据库。备份由生产服务器上的维护计划生成,然后通过 FTP 传输到开发服务器。每天我们运行一个类似这样的 SQL 语句来覆盖每个数据库:

RESTORE DATABASE [Database1] 
FROM DISK = N'D:\path\to\Database1_backup_2015_02_05_190004_7401803.bak'
WITH FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)

每次我们运行它时,我们都必须用正确的最新文件替换文件名。我想以某种方式自动执行此操作以最大程度地减少操作员错误的机会。问题是我们无法控制.bak文件的名称(尽管格式是一致的 - 数据库名称、日期、时间以及任何七位数),并且该文件夹通常包含几天的备份。

sql-server maintenance

5
推荐指数
3
解决办法
2万
查看次数

标签 统计

sql-server ×2

maintenance ×1

sql-server-agent ×1