标签: log-shipping

日志传送:为什么选择无恢复模式?

配置LogShipping for SQL Server时,可以选择辅助数据库处于"无恢复"模式或"待机"模式.无恢复意味着您在日志传送过程中无法访问数据库.Standby为您提供只读访问权限,如果您选择在还原即将发生时断开用户连接的选项,则看起来不会干扰日志传送过程.这对我来说就像待机模式的额外好处,但据我所知,该文件没有提到任何不利影响.

我想知道为什么有人会选择使用无恢复模式?我能想到的唯一合理的原因是,待机模式是否会导致显着的性能下降(但是在文档中没有提到类似的内容),或者是否存在某些安全要求以主动阻止任何人看到辅助数据库的内容(这似乎很少/不太可能).

任何人都可以告诉我选择无恢复模式的优势应该是什么?

sql-server log-shipping standby

14
推荐指数
1
解决办法
2万
查看次数

T-SQL复制登录,用户,角色,权限等

我们已经将日志传送实现为数据库灾难恢复解决方案,并想知道是否有一种方法可以使用T-SQL将所有登录,用户,角色权限等脚本编写到辅助服务器上的master数据库,以便T-可以将SQL作为SQL作业运行吗?

我的目标是,在D/R情况下,我们可以简单地将每个数据库的事务日志恢复到辅助服务器,而不必担心孤立用户等.

谢谢你的帮助!

sql t-sql sql-server disaster-recovery log-shipping

8
推荐指数
1
解决办法
2万
查看次数

熟悉Logstash输出插件

我试图使用flunetd从scribe服务器读取并输出这些日志暂时存储在logstash中.我知道将scribe_central日志记录到另一个中央记录器是非常愚蠢的,但我们需要在我们当前的架构中完成.

有谁知道是否有任何插件可以做到这一点?我搜索了谷歌但找不到任何东西.

logging log-shipping logstash fluentd

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

Sql Server 2005中的镜像与日志传送

我很想听听人们对这种情况下数据库镜像与日志传送的利弊的看法:我们需要设置一个数据库备份情况,其中只有一个辅助服务器在主服务器出现故障时无需自动接收.恢复和开始使用辅助设备不应该花费太长时间.

failover sql-server-2005 mirroring log-shipping

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

是否可以在日志传送方案中将辅助服务器设置为只读?

我正在研究在SQL Server 2005环境中使用日志传送.这个想法是设置频繁的日志传送到辅助服务器.目的:使用辅助服务器提供报告查询,从而卸载主数据库服务器.

我在一个sqlservercentral论坛帖子中遇到过这个问题:

创建日志传送时,您有2个选择.您可以使用norecovery或备用选项配置还原日志操作.如果使用norecovery选项,则不能在其上发出select语句.如果您使用备用选项而不是norecovery,则可以在数据库上运行select查询.在日志文件恢复发生时请记住备用选项,用户将在没有警告的情况下被恢复进程.当您使用备用选项配置日志传送时,您也可以选择2个选项 - 在辅助数据库中终止所有进程并执行日志还原,或者在使用数据库时不执行日志还原.当然,如果选择第二个选项,如果有人打开与数据库的连接并且没有关闭它,则恢复操作可能永远不会运行,因此最好使用第一个选项.

所以我的问题是:

  • 以上是真的吗?你真的不能按我想要的方式使用日志送货吗?
  • 如果确实如此,有人可以解释为什么在恢复事务日志时不能对数据库执行SELECT语句?

编辑:

第一个问题是此服务器故障问题的重复.但我还是想回答第二个问题:为什么在恢复事务日志时不能执行SELECT语句?

sql-server sql-server-2005 log-shipping

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

帮助选择要选择的SQL Server 2008横向扩展解决方案(复制,...)

我目前正在穿越SQL Server横向扩展技术的丛林,如复制,日志传送,镜像...我对我的选择有以下限制:

  • 我希望只读负载分布在主要和辅助(镜像,订户)服务器上
    • 写入负载可以直接发送到主服务器
    • 解决方案几乎不需要维护.架构更改应该只复制到辅助服务器(注意:复制在这里有一些严重的约束)
    • 写入的数据应该可以在辅助服务器上非常快速地访问(在1s以下,但更好的是即时的)
    • 在服务器故障时,我可以轻松地减少长达一小时的数据丢失.我更关注简单的可扩展性

以下是我可以选择的一些选项:http://msdn.microsoft.com/en-us/library/bb510414.aspx.您可以分享的任何经验吗?

sql-server replication mirroring log-shipping sql-server-2008

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

脚本日志运输自动化

是否可以编写所有日志传送配置的脚本?

例如:我需要编写一个作业,从服务器A到服务器B的两个数据库启动日志传送.

该作业将在服务器A上运行.

顺便说一句,两者都是SQL 2008 R2 Enterprise.

服务器A.\serverA\Log上有共享

我相信这就是所需要的一切.是不是可以通过脚本来做到这一点?我是否必须初始化数据库,或者是否有像SSMS这样的选项来自动初始化?

我是否必须手动创建作业?或者它是以创建作业和管理作业的方式配置的?

它是可编写脚本的吗?有人做过这样的事吗?有没有人有脚本来做这个?

提前致谢.

sql-server scripting log-shipping sql-server-2008-r2

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

SQL事务日志传送无法将数据库还原到备用数据库

我已经设置了两个SQL 2014服务器之间的事务日志传送,一切似乎都正确设置但是当恢复发生时,如果.trn非常小,例如7k,它似乎失败了.

不确定这是否与它有关,但它是唯一不同的东西.

以下是还原作业的日志.

日期25/04/2016 22:59:24记录工作经历(LSRestore_IRIS_WebStock)

步骤ID 1服务器HERA作业名称LSRestore_IRIS_WebStock步骤名称日志传送还原日志作业步骤.持续时间00:00:04 Sql严重性0 Sql消息ID 0操作员已通过电子邮件发送
操作员网络已发送操作员已分页重试尝试0

消息2016-04-25 22:59:28.71错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425033000.trn'应用于辅助数据库'WebStock'.(Microsoft.SqlServer.Management.LogShipping)2016-04 -25 22:59:28.71错误:处理数据库'WebStock'的日志时发生错误.如果可能,从备份还原.如果备份不可用,则可能需要重建日志.恢复期间发生错误,导致数据库"WebStock"(12:0)无法重新启动.诊断恢复错误并修复它们,或从已知良好的备份恢复.如果错误未得到纠正或预期,请联系技术支持.

RESTORE LOG异常终止.数据库'WebStock'处理0页,文件'文件'WebStock'处理1页数据库'WebStock',文件'文件'WebStock_log'.(.Net SqlClient数据提供者)2016-04-25 22:59: 28.71错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73为二级数据库'WebStock'跳过日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425033000.trn',因为该文件不能验证.2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:恢复数据库访问模式时出错.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59 :28.73错误:ExecuteScalar需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425034500.trn'应用于辅助数据库'WebStock'.( Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73为二级数据库'WebStock'跳过日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425034500.trn',因为该文件不能验证.2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:恢复数据库访问模式时出错.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59 :28.73错误:ExecuteScalar需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425040000.trn'应用于辅助数据库'WebStock'.( Microsoft.SqlServer.Management.LogShipp

如果我删除该日志并再次运行还原,它将一直有效,直到找到另一个非常小的日志.

如果日志为空,还原会失败吗?

database sql-server log-shipping sql-server-2014

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

数百个数据库sql server日志发货

SQL Server 2005 Standard 64x,目前有300多个小型数据库(每个5MB),用户群根据需要添加数据库.想要实现热备份的日志传送,而不是通过向导,因为它看起来像每个日志传送的数据库添加3个作业(主要1个,次要2个).

我是否尝试自己编写或使用Quest的LiteSpeed之类的东西?或者我是否因为有数百个SQL Server代理作业并且所有这些作业都被解雇而感到非常苛刻(或者更糟糕的是,我是否必须尝试计时)?

欢迎所有建议.

sql-server sql-server-2005 log-shipping

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

事务日志与备份作业一起发送=冲突?

已经有一个每15分钟运行一次的备份作业计划.我创建了事务日志传送过程,但在1或2个还原日志之后,此作业停止工作(错误:找不到匹配的日志).显然,有两个单独作业创建的日志,对于日志传送过程,只有部分日志被复制到辅助数据库(不包括备份作业计划创建的日志).这是否意味着我将不得不关闭备份工作计划?

sql-server backup transaction-log log-shipping

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

如何让 Serilog json 格式的日志在 Datadog 中正确显示

我被要求使用 DataDog 实现一个集中监控和日志记录系统,该系统将从各种服务和应用程序接收信息,其中一些在虚拟机上作为 Windows 服务运行,一些在 Kubernetes 集群内运行。为了实现日志记录方面,以便 DataDog 可以正确提取日志,我使用 Serilog 来进行日志记录。

我目前的计划是将日志以json格式写入控制台,并在每台服务器上安装DataDog代理或k8s节点捕获并将它们发送到DataDog。这是有效的,至少对于我迄今为止实现的 k8s 节点是有效的。(我试图避免使用 DataDog 的自定义 Serilog 接收器,因为 DataDog 文档中不鼓励这样做)。

我的问题是我无法在 DataDog 端正确提取日志。DataDog 期望 json 包含属性调用 Message,但 Serilog 将此属性命名为 RenderedMessage(如果我使用 JsonFormatter(renderMessage: true))或 @m(如果我使用 RenderedCompactJsonFormatter())。

如何将我的日志发送到 DataDog 并在 DataDog 端正确摄取?

logging json log-shipping serilog datadog

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