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