sql-server - 在 SQL Server 上镜像大型生产数据库
问题描述
作为一个假设,假设我拥有一家运行 SQL Server 的公司。服务器上的数据库 (DB1) 中存储了大量数据,我的客户在内部(用于报告目的)和外部查询这些数据,并由于服务器流量而导致许多缓慢问题。我的问题是,镜像(完全)DB1 并将其称为 DB1b 是一个错误还是一个好主意,以便我的内部报告可以查询 DB1,而我的客户可以查询 DB1b?谢谢。
解决方案
假设您的公司将有一个 AlwaysOn 配置,以防止停机和数据丢失,该配置可以实时同步,基本上没有延迟。
假设,执行只读操作的内部员工可以查询可用性组中的辅助节点,并且执行读/写操作的应用程序/外部客户将连接到您的主节点。如果每个人都在阅读而没有人在写作,您可以建立额外的辅助节点。或者只是花钱购买更多的处理能力/RAM/内核。
此外,假设您的查询可能是垃圾并且它们没有被调整。一旦使用覆盖索引调整它们,放入 procs 等,这将减少等待/读取/等。
假设,这将减少流量。总的来说,这篇文章太宽泛了,在不了解更多信息的情况下无法真正回答。
推荐阅读
- svg - SVG圆弧剪辑内半径
- php - 已安装 PHP IMAP 但出现“未定义函数 imap_open()”错误
- django - 如何以递归方式在 get_absolute_url 中获取 pk
- javascript - 带有 html 和 javascript 的动态列表
- c# - cs0131 赋值的左侧必须是变量、属性或索引器
- google-apps-script - Apps 脚本 - 删除保护
- javascript - 在模块/命名空间和箭头函数中理解这一点
- javascript - 将文件从 Java 服务器发送到 Javascript 客户端 - 客户端处理文件的问题
- javascript - 在 Lotus Notes 中使用网络摄像头拍照
- database - 如何设置这个特定的 firebase firestore 规则