AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 23524
Accepted
jzacharuk
jzacharuk
Asked: 2012-09-01 09:35:06 +0800 CST2012-09-01 09:35:06 +0800 CST 2012-09-01 09:35:06 +0800 CST

SQL Server:日志传送只读

  • 772

在主库和从库之间进行日志传送时,从库是否必须设置为只读?

通过只读,我不是在谈论仅从数据库中读取的想法。我说的是具有只读或待机/只读特定状态的数据库。

我在日志传送概述和其他相关页面中找不到任何说明这是必需的内容。这导致了一个问题,因为我无法将任何索引添加到只读数据库。

sql-server
  • 2 2 个回答
  • 11935 Views

2 个回答

  • Voted
  1. Best Answer
    Christian Specht
    2012-09-02T02:11:31+08:002012-09-02T02:11:31+08:00

    您不能以任何方式更改辅助数据库。
    这是正常的 - 辅助数据库应该是主数据库的备份,因此无法添加不在主数据库中的内容。这就是为什么它处于只读模式。

    可以使用辅助数据库进行报告,以减少主服务器上的负载(请参阅使用辅助服务器进行查询处理)。
    但是,如果您需要任何特殊索引,则必须将它们添加到主数据库中并等待它们被日志传送到辅助数据库。

    正如 jchelad 在他的回答中已经说过的那样,使用辅助数据库进行报告的一个缺点是,只要恢复日志备份,用户就会断开连接。
    可以更改此设置,以便暂停恢复,直到没有人连接到数据库。

    从上面的链接引用:

    将辅助数据库置于备用模式时,有两个配置选项:

    • 您可以选择在还原事务日志备份时断开数据库用户的连接。如果选择此选项,则每次日志传送还原作业尝试将事务日志还原到辅助数据库时,用户都将与数据库断开连接。断开连接将按照您为还原作业设置的计划发生。

    • 您可以选择不断开用户连接。在这种情况下,如果有用户连接到该数据库,则还原作业无法将事务日志备份还原到辅助数据库。事务日志备份将累积,直到没有用户连接到数据库。

    但我不建议使用第二个选项。
    我们在工作中使用日志传送,并且使用辅助数据库进行报告。

    我们决定选择第一个选项(备份恢复时用户断开连接),因为拥有备份比能够一直运行查询更重要。

    我们不喜欢第二个选项(只有在没有人连接到数据库时才恢复),因为万一主服务器死了,我们不想发现辅助数据库在过去几个小时内没有恢复,因为销售人员整天都在查询。

    我们“教育”了我们的报告用户,每 15 分钟有一小段时间他们不能运行查询,他们接受了这一点。
    (替代方法是在昨天晚上的主数据库副本上运行查询,但他们更喜欢今天的数据,所以他们必须忍受“15 分钟休息”)

    • 5
  2. jchelad
    2012-09-01T22:38:47+08:002012-09-01T22:38:47+08:00

    辅助数据库保存主数据库的热备用副本。辅助数据库可能处于 RECOVERING 状态或 STANDBY 状态,这使数据库可用于有限的只读访问,并且在恢复作业之间的间隔期间也是如此。希望这就是你要找的

    • 0

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve