Mamy komputery z systemem SQL Server (SP4 2008 i SP1 2016), które regularnie tracą moc. Oczywiście czasami prowadzi to do (indeksowania) uszkodzenia bazy danych SQL Server, którą musimy później przywrócić.
Wiem, że SQL Server nie jest przeznaczony do takich scenariuszy, a poprawnym rozwiązaniem jest usunięcie przyczyny utraty zasilania (więcej na ten temat, jeśli jesteś ciekawy). Niemniej jednak, czy są jakieś opcje dostrajania w SQL Server, które mogę ustawić, aby zmniejszyć ryzyko uszkodzenia bazy danych w przypadku utraty zasilania ?
Tło: „PC” to tablet Windows zamontowany na wózku widłowym. Gdy użytkownik wyłączy wózek widłowy, tablet traci moc. Próbowaliśmy nauczyć użytkowników, jak prawidłowo zamykać system Windows przed wyłączeniem wózka widłowego, ale nie powiodło się (prawdopodobnie dlatego, że wyłączenie go „działa” przez większość czasu). Obecnie badamy również inne opcje, takie jak dodanie zasilacza UPS, który sygnalizuje tabletowi wyłączenie w przypadku utraty zasilania.
źródło
Jeśli tablet ma działającą baterię , system Windows można skonfigurować tak, aby wyłączał się, gdy poziom naładowania baterii jest niski .
Jeśli tablet ma niedziałającą baterię , rozważ wymianę baterii. (Miałem takie laptopy - zdziwiłbyś się, jak tanie mogą być baterie wymienne w serwisie eBay. Nie działają one tak dobrze jak OEM, ale hej, w tej sytuacji wszystko jest lepsze niż nic.)
Jeśli tablet w ogóle nie ma zasilania bateryjnego , rozważ dodanie małego zasilacza awaryjnego (UPS) z wyjściami USB, które mogą komunikować się z systemem Windows i informować go, kiedy jest zasilany z akumulatora. (Na przykład mam własny pulpit skonfigurowany do wyłączania się, gdy UPS ma niski poziom naładowania baterii - w ten sposób wyłącza się w przypadku awarii zasilania, nawet jeśli nie ma mnie w domu.)
Jeśli żadna z tych opcji nie jest możliwa, masz trochę szczęścia. To stara księga, ale SQL Server 2000 Podstawy We / Wy od Microsoft w zasadzie wyjaśnia, że potrzebujesz podsystemu We / Wy, który z łatwością poradzi sobie z przerwami w dostawie prądu.
Istnieją opcje, których możesz użyć, aby zwiększyć ryzyko - takie jak Opóźniona trwałość lub tabele zawierające tylko pamięć (nietrwałe) - ale domyślnie SQL Server już robi wszystko, aby zmaksymalizować niezawodność przy każdym zapisie w dzienniku transakcji. Jeśli nawet zapisy dziennika transakcji nie mogą być zagwarantowane z powodu przypadkowych awarii zasilania, wydaj 100 USD na akumulator UPS.
źródło
Zakładając, że masz lokalną bazę danych na wózku widłowym, a nie na serwerze z powodu nieregularnych połączeń bezprzewodowych? Oczywiście najlepszym rozwiązaniem byłoby zejście z SQL z wózka widłowego.
W każdym razie, jak sugerował Brent, ustaw tablet, aby sam się wyłączał po x minutach zasilania z baterii lub z podobnych kryteriów.
W przeciwnym razie mały UPS, który może zainicjować normalne wyłączenie, prawdopodobnie będzie najlepszym wyborem w tym przypadku. Poleganie na takich rzeczach wymaga niepowodzenia.
źródło
Podstawowy system operacyjny musi gwarantować pomyślny zapis lub zwrócenie błędu. Z kolei system operacyjny opiera się na sterownikach, które z kolei opierają się na oprogramowaniu sprzętowym zależnym od sprzętu. Jeśli sterowniki, oprogramowanie układowe leżą, nie ma na to nic wspólnego z systemem Windows lub serwerem SQL.
Dlatego musisz skontaktować się z producentem sterownika / oprogramowania układowego / sprzętu.
Należy również zagwarantować kolejność zapisu na wszystkich warstwach, więc należy to również sprawdzić.
Nawet pamięci podręczne zasilane bateryjnie mogą zawieść, np. Podczas burz nowojorskich niektóre centra danych były niedostępne przez kilka dni, a baterie wyczerpałyby się, potencjalnie tracąc dojazdy do pracy
https://www.postgresql.org/docs/devel/static/wal-reliability.html
https://brad.livejournal.com/2116715.html
http://rhaas.blogspot.com/2010/10/wal-reliability.html?m=1
źródło
Aby rozwinąć inne odpowiedzi:
Najpierw spróbuj usunąć SQL z wózka widłowego, jeśli to w ogóle możliwe. Pomyśl, że odzyskanie po utracie zasilania jest złe, spróbuj to zrobić po tym, jak laptop zostanie przejechany przez ponad 7000 funtów. Z godzinami pracy magazynu, bez kopii zapasowej ...
Po drugie, i tak powinien istnieć mechanizm automatycznego wyłączania się laptopa po x czasie pracy na baterii.
Po trzecie, czy podłączenie laptopa do nieprzełączanego źródła zasilania wózka widłowego byłoby opcją? Należy wziąć pod uwagę przepisy bezpieczeństwa (środowisko może wymagać wszystkiego poza kluczem do wózka widłowego) oraz czas, przez jaki wózek widłowy jest używany pomiędzy użytkami (szczególnie w weekendy i święta), aby uniknąć rozładowania akumulatora maszyny.
źródło