Kończy się job i chcesz wysłać maila na kilka adresów pocztowych… Wszystko fajnie, ale… na karcie Notification po zakończeniu joba można powiadomić tylko jednego operatora.
Agent Job: Wysłanie powiadomienia do wielu operatorów (na wiele adresów email)
Zmiany w certyfikatach MCSA Windows 2012 i MCSA SQL 2012
Microsoft wprowadził zmianę w zakresie certyfikacji MCSA, wydaje się że korzystne. Aby zdobyć MCSA należy zdać dwa egzaminy obowiązkowe (np. dla SQL 461 i 462), a następni jeden z listy do wyboru 411 lub 412 lub 463 lub 483. ładniej prezentuje to ilustracja:
Więcej informacji:
Zmiana wchodzi w życie od 15 IX
Strona MCSA SQL 2012:
https://www.microsoft.com/learning/pl-pl/mcsa-sql-certification.aspx
Powershell – analiza pliku z regex i switch
Masz plik tekstowy o następującej zawartości:
server1.warsaw.pl
server2.berlin.de
server3.krakow.pl
serwer4.gdansk.pl
serwer5.tokyo.jp
Chcesz wczytać go i jeżeli linijka kończy się na PL wyświetlić napis POLSKA, a jeśli adres kończy się na DE wyświetlić napis NIEMCY. Jeśli napis nie kończy się ani na PL ani na DE, należy wyświetlić INNY.
Dobrze nadaje się do tego switch. Switch może wczytać plik oraz dokonać analizy wyrażeniem regularnym. Zadanie jest rezliowane np. przez następujący skrypt:
switch -file .\servers.txt -Regex
{
„.+\.pl$” {Write-Host „POLSKA” -BackgroundColor Red}
„.+\.de$” {Write-Host „NIEMCY” -BackgroundColor Yellow}
default {Write-Host „INNY” -BackgroundColor Blue}
}
-file instruuje switch, że dane wejściowqe należy wczytać z pliku
-regex mówi o tym, że decyzja o wykonaniu odpowiednij instrukcji switch będzie podejmowana w oparciu o dopasowanie do wyrażenia regularnego.
„.+\.pl$” to wyrażenie regularne określające teksty składające się co najmniej z jednej litery, a za nią ciągu.pl
Efekt skryptu z naszymi danymi wejściowymi:
Powershell i wyrażenia regularne
Dajmy na to, że masz listę numerów telefonów:
$list = '+48 123456789′,’123456789′,’0048 123456789′,’+48123456789′
Chcesz z niej wylistować tylko te, które mają budowę:
- +48 123456789 lub
- 0048 123456789
Czyli na początku +48 lub 0048, po czym występuje spacje i 9 cyfr. Odpowiada za to maska \+48 [0-9]{9}|0048 [0-9]{9}
Definiujemy więc zmienną $mask:
$mask = [regex]”\+48 [0-9]{9}|0048 [0-9]{9}” Czytaj dalej »
Wyrażenia regularne – bardzo krótki przewodnik
Kiedy musisz przeszukiwać teksty, dopasowywać je do maski, szybko okaże się, że metaznaki * i ? znane chociażby jako symbole jednoznaczne rozumiane przez system operacyjny podczas operacji na plikach nie są wystarczające. I wtedy z pomocą przychodzą wyrażenia regularne, a wraz z nimi dziesiątki i setki zupełnie nowych problemów….
Najprostsze wyrażenie regularne to – dokładnie ten sam napis, który chcesz dopasować np.
Tekst Janosik pasuje do wyrażenia regularnego Janosik
Budując wyrażenia regularne możesz korzystać z symboli specjalnych. Należą do nich
\^$.*+|?()[]{}
Dokładniej ich znaczenie opisujemy poniżej:
\ backslash
Pozbawia symbolicznego znaczenia kolejnego znaku. Aby stworzyć wyrażenie do którego pasuje tekst 1+2 chciałoby się skorzystać z wyrażenia regularnego 1+2 ale przecież + ma inne znaczenie (przedstawimy je dalej). Dlatego należy pozbawić + tego specjalnego znaczenia. Poprawne wyrażenie regularne to więc 1\+2 Czytaj dalej »
SQL: Zapytanie do AD
Podziękowania dla Tomka i Rafała, którzy podsunęli to rozwiązanie 🙂
Potrzebujesz w SQL listę użytkowników z AD. To proste. Definiujesz linked server wskazujący na usługi AD, apotem piszesz zapytania:
Do połączenia użyj poświadczeń aktualnego użytkownika
No i gotowe. Można pisać zapytania do AD:
SELECT displayname, samaccountname
FROM OPENQUERY( ADSI, 'SELECT extensionAttribute3,SAMAccountName,displayname FROM ”LDAP://intranet.domain/OU=Folder3,OU=Folder2,OU=Folder1,DC=intranet,DC=domain”
Where objectCategory = ”Person” AND objectClass = ”user” AND department=”Departament name”’)
MSDTC – zagadkowa usługa
MSDTC jest jedną z bardziej tajemniczych usług wykorzystywaną przez między innymi MS SQL server. Administrator Windows woli tego nie dotykać, bo to SQL, a administrator SQL uparcie twierdzi, że to komponent modelu COM, więc Windows…
Ponieważ jednak w przypadku problemów z MSDTC cierpi baza danych czasami trzeba wziąć zadanie w swoje ręce. W moim przypadku uruchamiana była procedura, która miała zmodyfikować dane na serwerze SQL zdalnym. Ta procedura wywoływana była w lokalnym triggerze. Jest to transakcja rozproszona i MSDTC jestt tu konieczne. Polecenia kończyły się błędem:
OLE DB provider „SQLNCLI10” for linked server „XYZ” returned message „The partner transaction manager has disabled its support for remote/network transactions.”.
Msg 7391, Level 16, State 2, Procedure SyncClientList, Line 42 The operation could not be performed because OLE DB provider „SQLNCLI10” for linked server „XYZ” was unable to begin a distributed transaction.
Po piwersze należy sprawdzić czy usługa Distributed Transaction Coordinator jest włączona na obu serwerach.
Po drugie skonfigurować obie usługi do tego, aby ze sobą rozmawiały. W tym celu:
1. Start >> Administrative tools >> Component Services
2. Kliknij prawym na Local DTC i wybierz properties

3. Skonfiguruj opcje, jak widać na obrazku



































