小编Ref*_*din的帖子

1 DB 中表中的数据需要在不同 DB 中进行过滤

我有一个使用 4 个独立数据库的 Win Form、Data Entry 应用程序。这是一个偶尔连接的应用程序,它使用合并复制 ( SQL 2005 ) 保持同步。这工作得很好。我要解决的下一个障碍是将过滤器添加到我的出版物中。

现在,我们正在向我们的 150 个订阅者中的每个订阅者复制 70mbs 压缩包,而实际上,他们只需要其中的一小部分。使用过滤器我能够做到这一点(见下面的代码),但我必须制作一个映射表才能做到这一点。此映射表由 3 列组成。一个 PrimaryID(Guid)、WorkerName(varchar) 和 ClientID(int)。

问题是我需要在所有四个数据库中都存在这个表才能将它用于过滤器,因为据我所知,过滤器语句中不允许使用视图或跨数据库查询。

我有哪些选择?

似乎我会将它设置为在 1 个数据库中维护,然后使用触发器在其他 3 个数据库中保持更新。为了成为过滤器的一部分,我必须将该表包含在复制集中,所以我如何适当地标记它。

有没有更好的方法呢?

SELECT <published_columns> FROM [dbo].[tblPlan] WHERE [ClientID] IN (select ClientID from [dbo].[tblWorkerOwnership] where WorkerID = SUSER_SNAME())
Run Code Online (Sandbox Code Playgroud)

这允许您将过滤器链接在一起,下一个过滤器低于第一个过滤器,因此它仅从第一个过滤器集中提取。

SELECT <published_columns> FROM [dbo].[tblPlan] INNER JOIN [dbo].[tblHealthAssessmentReview] ON [tblPlan].[PlanID] = [tblHealthAssessmentReview].[PlanID]
Run Code Online (Sandbox Code Playgroud)

replication filtering merge-replication sql-server sql-server-2005

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

为什么我的 Azure VM (D3) 磁盘 I/O 非常慢?

我已经在我的 Azure 帐户上设置了一个运行 Windows 10 的 D3 VM。不幸的是,C (200GB) 和 D (100GB Temp) 上的磁盘速度都非常低。复制包含约 16000 个项目的大型文件夹结构时,通过任务管理器查看时不到 1MB/s。

老实说,我什至不知道该尝试什么……我想我的计划是创建一个新的 vhd 驱动器,连接它,然后看看它的性能如何,但我并不抱有希望。

我通读了这篇文章 --> Azure 虚拟机上的磁盘性能缓慢

这篇文章--> http://azure.microsoft.com/blog/2014/10/06/d-series-performance-expectations/

他们都提到了我理解的“节流”,但我所看到的一定是不同的,因为我从未接近它所说的 96MB/s 写入的水平。

这只是常识还是我有可能配置错误?可能是 Windows 10 VM 错误?我已经确认我确实为我的 VM 大小选择了 D3,其中包括一个 200GB 的本地 SSD。

关于我接下来可以检查或尝试的任何建议?


编辑

一些进一步的信息。这是我过去 24 小时从 Azure 门户读取/写入磁盘的屏幕截图。

在此处输入图片说明

virtual-machines ssd azure windows-10

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