V našem IS narážím prakticky neustál na to, že uživatelé zadávají emailové adresy ve špatném formátu, používají špatné oddělovače mezi adresama, nebo tam zadávají úplně jiná data (telefonní čísla, webové stránky atd)

Chyba se samozřejmě ukáže vždy, když už se řeší proč dotyčný zákazník nedostal mail s fakturou, avízo, dokumentace atd tedy maily, které generuje povětšinou systém. A tak nezbývá než kontrolovat tyto údaje buď přímo při zadávání nebo při nějaké další operaci.

 

Dlouho jsem testoval různé scripty až jsem si postupně vykradl to nejlepší a přizpůsobil to nějak univerzálněji. Třeba se vám to hodí ;-)

 

Okomentování:

Procedura vrací v proměnné @Valid hodnotu 0 = chyba 1 = adresy jsou v pořádku

Vše je zpracováno kurzorem. Ten nejprve oddělí jednotlivé emailové adresy oddělené středníkem a použije je jako vstupní proměnnou @EmailAddress. K tomu je použita funkce STRING_SPLIT. Pozor, tato funkce je podporovaná až od SQL 2016, takže si krom verze SQL zkontrolujte i v jaké kompatibility levelu máte spuštěnu databázi. Ten by měl být minimálně 130, jinak nebude tato funkce funkční.

SELECT value FROM STRING_SPLIT(@Email, ';')  

Poté kurzor vyhodnotí jednotlivé adresy a pokud nalezne chybu, povýší počítadlo @CountError +1. Nakonec je vyhodnoceno, zda je nějaká chyba a dle toho je nastavena výstupní proměnná @Valid

ROBOCOPY je robusní nástroj pro kopírování dat, který je obsažen ve Windows již několik let (dříve byla nutná doinstalace). 

Nástroj má nesčetné možnosti parametrizování a je neskutečně rychlý a v jeho neprospěch hovoří pouze to, že je nutné jej ovládat přes příkazovou řádku, protože nemá grafické rozhraní. 

Naopak oceníte pokročilé funkce, které v normálních kopírovacích programech a managerech nenajdete. Např.možnost zachovat či přepsat časová razítka, rozhodovat o kopírování podle atributů, měnit atributy souborů, použít vícevláknové kopírovaní, definovat počet pokusů o kopírování nebo metodu přístupu k datům, pokud jsou použita práva na složky a soubory atd. 

Pokud často kopírujete data, vytváříte dávky pro zálohování a nebo chcete využít rychlé vícevláknové kopírování, Robocopy si jistě oblíbíte

 

Nejjednodušší použití robocopy bez parametrů je (pozor, nekopíruje podadresáře, pouze soubory)

robocopy c:\zdrojovy_adesar d:\cilovy_adresar

 

Funkce automatické dokončování emailových adres neboli našeptávač funguje tak, že když někomu odešlete email Outlook si adresu příjemce zapamatuje a při příštím odesílání mailu (při vyplňování adresy příjemce) vám tuto adresu nabídne.

Hodně uživatelů si myslí, že se tyto adresy berou z kontaktů, ale není to tak. Proto při migraci emailového účtu na jiný počítač způsobem přenosu PST souboru se tento seznam nepřenese. 

A jak tedy tyto adresy přenést? Viděl jsem několik postupů. Mezi nimi například i fígl s vykopírováním adres z odeslané pošty, odstraněním duplicit a vložení těchto adres do nové zprávy (bez odeslání) přičemž se defacto naplní našeptávač (musí se provést kontrola adres příjemce).

Mě se osvědčil sice méně přehledný ale ne zas tak složitý postup použitím oficiálního nástroje Mirosoftu MFCMAPI

 

MS SQL Express je bezplatná verze SQL, která je jednak omezena harwarově a velikostí dababází a dále je ochuzena o některé funkce jako např. nástroj Maintenance Plans pro automatizaci zálohování databází.

Automatické zálohy se v SQL Express dají řešit pomocí nástroje příkazové řádky osql.exe.

Musíme vytvořit jednoduchý bat soubor (např. zaloha.bat) a ten spouštět plánovačem úloh.

 

Obsah spustitelného souboru:

cd C:\Program Files\Microsoft SQL Server\100\Tools\Binn

osql -S DBServer\SQLEXPRESS -U sa -P Heslo -Q "BACKUP DATABASE [Nazev-DB] TO DISK = N'D:\Backup\zaloha_DB.bak' WITH INIT,NOUNLOAD,NAME = N'Popis zalohy',NOSKIP ,STATS = 10,NOFORMAT"


Vysvětlivky:

V prvním řádku musíme nastavit cestu k adresáři BINN - v cestě zvolte: pro SQL 2005 zadejte 90, pro SQL 2008 i 2008R2 zadejte 100 a pro SQL 2012 zadejte 110

osql – příkazový řádek pro SQL

-S – jméno SQL serveru; pokud je SQL v pojmenované instanci, zadejte plný název ve tvaru “SQL\INSTANCE”

-U – uživatel SQL (např. sa), mající právo zálohovat na SQL Serveru

-P – heslo uživatele SQL

-Q – query (samotný příkaz v transact SQL)

V query je nutné změnit název databáze a umístění souboru zálohy.

 

Po odzkoušení funkčnosti souboru zaloha.bat, je potřeba ho přidat do naplánovaných úloh systému Windows.

Pozor – tato dávka přepisuje cílový soubor zálohy při každém spuštění! 

 

 

Na jednom menším serveru jsem řešil problém, kdy po chybě jednoho z disků v konfiguraci RAID1 nešel nastartovat systém - systém neviděl žádný disk k nabootování.

 

 

Z úvodní informace je patrné, že Raid je rozsypaný, protože jeden z disků je vadný.

Během startu serveru je možné spustit konfigurační utilitu pomocí CTRL+I

 

 

Pomocí volby Reset Disk to Non-RAID můžete zdravý disk z Raidu vyřadit a vytvořit z něj samostatný disk, ze kterého již lze systém normálně spustit. 

V mém případě jsem ještě musel disk přepojit na SATA0 

 

Nutno podotknout, že takto lze zachránit data pouze když je použit RAID1. V ostatních případech nedojde k zachování dat.

 

Původně to měla být kategorie o cestách, které podniknu na svém starém kole-dědkovi. Pak se mě název zalíbil a říkám si, že jednou budu taky dědek, vlastně syna už na to mám dost velkýho, a tak nadčasově tuto kategorii nechám pojmenovanou takto. Takže zde nalezneš zápisky z cest. 

Zde je můj blog o SQL. Je to takový můj tahák.

Moje poznámky z instalací