ПредишенСледващото

За да изпълните се показва първоначално свързване към базата данни, клиентът трябва да предостави низ връзка, която трябва да съдържа името на модел на сървъра. Това изисква име на сървъра трябва да идентифицира текущия основен сървър инстанция, наречена оригиналното име на участника.

Ако е необходимо, низ връзка може също да включва друго име на сървъра, например, който идентифицира текущата инстанция на огледало сървър използва в случаите, когато оригиналният партията не е на разположение още при първото свързване. Второто име е наречена на името на партньор срив.

низ връзка трябва да съдържа и името на базата данни. Това е необходимо, за да се даде възможност на доставчика достъп до данни, за да се опита да извърши срив.

След получаване на доставчика на низа за свързване на достъп до данните си запазва оригиналното име на участника и името на защита при срив на партньора ви (ако се има предвид) в кеша в енергонезависимата памет (за управляван код, кеша, съдържаща се в областта на приложение). След кеширане на първоначалния достъп потребителско име доставчик на данни не се актуализира. Ако клиентът осигурява името на срив участник в случай, че доставчикът на достъп до данни не може да се свърже с помощта на името на първоначалния страна, доставчикът също спестява името на защита при срив на партньор.

огледало база данни сесия не осигурява защита срещу проблемите, свързани с достъпа на клиента до сървъра, например, ако на клиентския компютър има проблеми с мрежата. Опитът да се свърже с базата на дисплея може да се провали поради много причини не са свързани с доставчика на достъп до данни, например, опит за връзка може да успее, ако инстанция на първичния сървър е активен; Това се случва, когато се прави преход към друга база данни, или в резултат на грешки на мрежата.

Когато се опитате да се свържете с доставчика на достъп до данни се опитва да се свърже с помощта на първото име на първоначалните участници. Ако определен сървър инстанция е на разположение и на настоящата инстанция на основния сървър, опит за връзка обикновено успява.


Ако отразявайки сесия е на пауза, клиентът обикновено се свързва с главния сървър и изтегля името на участника. Въпреки това, в базата данни няма да бъдат достъпни за клиента, до момента, докато не се възобнови процеса отразявайки.

Ако опит е неуспешен, доставчик на опитите за достъп до данни, за да се свържете с помощта на името на защита при срив на партньор, ако има такъв. Ако името на другата страна идентифицира правилно текущия сървър главница, доставчикът на достъп до данни обикновено не се отвори първоначално свързване. След приключване на тези данни за връзка доставчик достъп зарежда името на потребителския модел на текущата огледалото. Това име се съхранява в кеш паметта като име партньор срив на, името на клиент, предоставена от защита при срив на партньор, ако има такъв, се презаписва. След това .NET Framework Доставчик на данни Доставчик на данни за SQL Server не актуализира името на защита при срив на партньор. Въпреки това, SQL Server Native Client актуализира кеша когато последваща връзка или връзка се връща, за да преинсталирате друго име.

Следната диаграма показва клиент връзка към оригиналния участник в база данни за показване Db_1. Схемата илюстрира случай, че оригиналното име на участника, на клиентите правилно идентифицира текущия основен сървър държава А. Първоначално връзката е успешна, както и достъп доставчика на данни запазва името на текущия огледало сървъра (държава Б) в локалния кеш и името на участника, за да се гарантира защита при срив , И накрая, клиентът се свързва с първичното копие на базата данни Db_1.

Свързване на клиентите да сесийната база данни огледало (SQL Server)

Опитът първоначално свързване може да се провали, например чрез мрежова грешка или поради факта, че на сървъра инстанция не е активен. От първоначалния партията не е на разположение, клиентът трябва да предостави името на защита при срив на партньор в низа за връзка с доставчика на достъп до данни се опитва да се свърже с преодоляване на срив на партньор.

Ако името на партньора на срив не е на разположение, първоначалните опити за връзка да продължи толкова дълго, колкото няма грешка (подобно на свързване, за да спрете показването на базата данни) ще изтече времето за изчакване мрежова връзка или не се връщат.

Ако низа за връзка се дава името на защита при срив на партньор, поведението на доставчика на достъп до данни зависи от операционните системи, мрежови протоколи и клиентски, както следва:

За TCP / IP протокол опити за свързване регламентирани връзки повторение алгоритъм специфични за дублиране на база данни. повторно включване алгоритъм определя максималното време (време за повторение), разпределени за да отворите връзка в рамките на даден опит за връзка.

За други мрежови протоколи

Ако възникне грешка или член на оригинала не е на разположение, се опитва първоначална връзка продължава толкова дълго, колкото е изтекло времето на чакане, или връзката с мрежата изтече Вход изчакване на доставчика на достъп до данните. Обикновено този период на изчакване е около 20-30 секунди. След това, ако времето в очакване да получи достъп до данни не е изтекъл доставчика, доставчикът се опитва да се свърже с партньор срив. Ако връзката е с час на успешното приключване на връзката, или възстановяване след срив на партньор не е на разположение, опит за връзка е неуспешна. Ако преди края на партньор за преодоляване на срив на входния латентност на разположение и в момента е основният сървър, опит за връзка обикновено успява.

низ връзка с базата данни за огледало

Казва низ свързване на клиента съдържа информация, която се използва от достъп на данни, за да се свърже с базата данни. Този раздел описва ключовите думи, които се отнасят до съединение с база данни огледало с помощта на драйвера за Native Client ODBC SQL Server.

атрибут Network

низ на свързване трябва да съдържа атрибут Network. което показва, мрежов протокол. Това ще осигури определен мрежов протокол, когато се свързвате към различни участници. TCP / IP протокол - най-добрият протокол за свързване към дисплея на база данни. За да се гарантира вашето запитване към клиента на TCP / IP всеки път, когато се свържете с участниците, трябва да бъдат включени в низа за връзка следния атрибут:


Тъй като именувани канали не използват повторение алгоритъм на TCP / IP протокола, а в много случаи опита за свързване чрез име тръба завършва преди свързването към базата данни на дисплея.

атрибут сървър

низ връзка трябва да съдържа атрибут сървър, което е оригиналното име на участника, който трябва да идентифицира текущия основен модел на сървър.

Най-лесният начин да се идентифицират модел на сървъра - е да се уточни името му, <имя_сервера> [\<имя_экземпляра_SQL_Server> ]. Например:


Query Browser SQL Server се изисква, ако низ връзка е посочено име, например име, а не на пристанището.

За съединения с протокола TCP / IP, когато имената на двете страни са в кеша, доставчикът на достъп до данните установява връзка за повторно включване алгоритъм. Това се отнася както за първоначално свързване със сесията, както и за възстановяването на връзката след загуба на комуникация. След като връзката е извършване на предварителни стъпки и основната връзка изисква допълнително време.


Като време, за да се създаде връзка може да надвишава времето за повторен опит поради външни фактори, като бавно DNS търсене, бавно домейн контролер или KDC, времето, необходимо за комуникация с браузъра SQL Server, претоварване на мрежата, и така нататък. Такива външни фактори могат да попречат на клиент свързване с огледална база данни. Също така, външни фактори могат да направят време, за да се създаде връзка по-дълго от времето за повторение. За повече информация за DNS прекосява и браузър SQL Server, като се свържете с оригиналния партията да се види. Как да инсталирате първоначално свързване с базата данни на сесията отразявайки по-рано в тази тема.

Ако връзката е неуспешна или времето за повторен опит изтече преди успешното изграждане на връзката, опитите за доставчик на данни, за да се свържете с друг участник. Ако създадете връзка е неуспешна, доставчикът се опитват да променят оригиналните имена на участника и партньор в срив, докато връзката е установена, или до момента на влизане. Срокът за влизане на изчакване по подразбиране е 15 секунди. Препоръчително е да се определи стойността на интервала за проверка на не по-малко от 5 секунди. Задаването на по-малък интервал от време в чакане може да попречи на успешното изпълнение на всички опити за връзка.

време на дрямка - е процентът от времето на влизане. опитайте време за опит за връзка се увеличава с всеки следващ цикъл. В първи път повторение на цикъла за всеки от двата опита е 8% от общото време на въвеждане. На всеки следващ цикъл на повторение алгоритъм увеличава максималното време за повторен опит от един и същ номер. Следователно времето за повтаряне за първите осем опитите за свързване е както следва:

8%, 8%, 16%, 16%, 24%, 24%, 32%, 32%

Повторението време се изчислява по следната формула:

където PreviousRetryTime първоначално равна на 0.

Например използването на влизане латентност на 15 секунди LoginTimeout = 15. В този случай времето за повторение насрочено за първите три цикъла, ще бъде както следва:

Следващата фигура показва периодите повторения за успешните опити за свързване, всеки от времето за изчакване изтече.

Свързване на клиентите да сесийната база данни огледало (SQL Server)

За изтече периодът от влизането, максималното време по подразбиране, определен за първите три цикъла на опити за връзка е 14.4 секунди. Ако всеки опит да се използват всички определеното му време, той щеше да има само 0.6 секунди преди времето на изтичане на влизане. В този случай, на четвъртия цикъл ще бъде намален, което позволява само окончателно бърз опит да се свърже с помощта на оригиналното име на участника. Въпреки това, опитът за връзка може да се провали по време на преиграването, по-малко назначения, особено в следващите цикли. Например, появата на грешка в мрежата може да доведе до прекратяване на опитите да се повтаря времето на валидност. Ако предишните опити не успяха поради грешки в мрежата, за четвърти и вероятно повече цикли ще бъде на разположение за допълнително време.

Друга причина за неуспешните опити - неактивна сървър например, това, което се случва, когато превод сървърна единица на друг ресурс от своята база данни. В този случай срокът за повторно да се избегне претоварване на участниците бързо прилагане на опитите за свързване.


Ако е възможно имената на участниците, така и за времето, в очакване на входа е безкрайна, клиентът се опитва да се свърже с сървърите непрекъснато преминават от оригиналното име на участника и името на защита при срив на партньор.
)

Забавяне се повтаря по време на срив

Ако клиентът се опитва да се свърже с участника, преход към друг ресурс, партията веднага отговаря, че не е налице. В този случай, всеки цикъл на опитите за свързване ще бъде значително по-кратък от определеното време за повторение. Това означава, че преди време на срока на годност на влизане може да бъде много цикли на опитите за свързване. За да се избегне претоварване на участниците бърза серия от опити за връзка по време на срив, доставчик на достъп до данни, добавя кратък повторен опит закъснение след всеки нов опит цикъл. Продължителност забавяне предварително определен повторен опит определя забавяне повторение алгоритъм. След първото забавяне цикъл е 100 милисекунди. След всяка от следващите три кръга повтарям забавяне е удвоил - до 200, 400 и 800. За всички последващи цикли на повторение забавяне 1 секунда до успешното изпълнение на опитите за свързване или времето на срока на годност.


Ако модел на сървъра е спрян, заявката за свързване се прекратява веднага.

Диаграмата по-долу показва как се повтаря забавяне повлияят опита за връзка по време на срив ръчно, което партньорите пренасочват своите роли. Периодът на изчакване е 15 секунди.

Свързване на клиентите да сесийната база данни огледало (SQL Server)

Свързани статии

Подкрепете проекта - споделете линка, благодаря!