我希望将.NET应用程序执行的数据库读写操作分开,而无需修改应用程序代码。
是否有商业或开源产品可以作为虚拟的"SQL Server“端点工作,同时执行代理/代理的功能,与实际的SQL Server对话?
然后,我会通过修改连接字符串将我的应用程序指向这样一个代理,然后它会根据其对ADO.NET或TDS协议或其他协议的了解,将读取和写入路由到相应的SQL Server。我知道在Oracle / Java世界里有这样的东西,但是在微软的世界里有这样的东西吗?
发布于 2013-07-10 04:33:33
SQL Server有一个名为“可用性组侦听器”的功能,听起来与您在这里寻找的功能非常相似。它在MSDN (http://msdn.microsoft.com/en-us/library/hh213417.aspx)上有很好的文档记录。
以下是文档的摘录,听起来像是您想要的功能:
可用性组的主数据库处理传入的只读路由请求,并尝试查找已加入到主复制副本并配置为只读路由的在线只读复制副本。客户端接收来自主副本服务器的反向连接信息,并连接到所标识的只读副本。
请注意,此功能是特定于SQL Server的,一般不适用于任何ADO.NET提供程序;由于您的问题同时提到了ADO.NET和SQL Server,因此我不确定这是否解决了您的问题。
https://stackoverflow.com/questions/14366944
复制相似问题