MSSQL 读写分离
问一人读写分离的老问题:我们可以采用很多技术来实现一台主服务器和多台从服务器数据一致;并用主服务器处理增,删,改的动作;而用从服务器处理查询的动作。现在我有一个问题,在应用程式层发来一个对数据库操作的请求,用什么方法来实现把增,删,改的操作分给主服务器;而查询的操作分发给从服务器!!
------解决方案--------------------配置文件中建立两个连接串,增,删,改的操作使用主服务器连接串;而查询的操作使用从服务器连接串。
------解决方案--------------------配置两条链接,一条链接到主服务器,另一条链接从服务器,剩下的就是做好两台服务器数据同步
------解决方案--------------------如果时间差要求比较严格,只能部署SQL SERVER 2012 ALWAYSON
------解决方案--------------------你们程序没有分业务处理层,处理访问层吗?数据访问层最清楚哪里是增删改?哪里是查询,这样就不管用户发来什么请求了
------解决方案--------------------如果有多台从服务器,那不是要配置很多连接字符串?
------解决方案--------------------
在数据库中增加一个表,有两列:序号、服务器名。
当要连接时,从这个表中随机读出一个服务器名,然后拼出连接字符串。这样,只用一个连接字符串就可以了。
如果要增加或减少“读”服务器,只要改这个表的内容就可以了。
------解决方案--------------------
一般来说 读一个,写一个,还会有其他的吗?
------解决方案--------------------以ADO为例,前端程序中,可创建2个ADODB.Connection对象,分别连接主服务器和从服务器.
当是增删改操作时,用主服务器的连接对象.
当是查询操作时(如报表),用从服务器的连接对象.
------解决方案--------------------有中间层(应用服务程序),多写 都可以实现了
应用服务程序配多个数据库连接,那是必须的