Изключение на приложението AlwaysON SQL Server 2014: Неуспешно актуализиране на базата данни, тъй като базата данни е само за четене

Имаме две групи за наличност на възли. Двата възела са SQL cluster1- node1 и SQL cluster 2- node2 и слушател на група за наличност. Приложението Java се свързва с този слушател и първоначално всичко работи добре, т.е. приложението може да извършва както четене, така и запис в базата данни, докато не направим преход при срив.

Конекторният низ е driverURL=jdbc:jtds:sqlserver://[Listerner DNS Name]:[Port]/[Database]

Кажете, че първоначално възел 1 е първичен, а възел 2 е вторичен. След преместване при срив възел1 става вторичен, а възел2 става основен. Сега приложението все още може да се свързва с базата данни, но може само да извършва четения на базата данни. Приложението хвърля изключения (което е споменато в заглавието), ако се опитаме да направим вмъквания в тази DB.

По принцип това, от което се нуждая, е приложението да може да извършва четене/запис през цялото време, независимо кой възел е основният. Някакви идеи ?


person Crabster    schedule 09.10.2015    source източник


Отговори (1)


Не трябва да има причина да получавате база данни само за четене, когато низът за връзка сочи към слушателя. Това е смисълът на слушателя на avail grp - да насочва потока към базата данни за четене/запис (основна). Изпратете ping на DNS името и проверете дали то се разрешава на слушателя (преди и след AG преход). За съжаление не използвам Java, така че не мога да ви помогна повече. Наздраве, Марк.

person Mark    schedule 11.04.2016