niedziela, 28 maja 2017

[EN] SQL Server 2014 SP2 - Processing data from XML file using OPENXML

Microsoft SQL Server offers opportunity work with data in XML format. One of the T-SQL functions is OPENXML, which allows to navigate through the XML file structure to process the information it contains. The XML file may be loaded into the database using - for example - OPENROWSET. 

In this entry, I show how to import data from an XML file into a database and then display the content of the selected node of XML file.  For training purposes I will use the XML file provided by the National Health Fund, which contains information on blocked prescriptions numbers. This file is possible to download from website http://recepty.nfz.gov.pl/ under the link "pobierz komunikat XML - rozwinięty".


(to see the full size image click on it)

The *.ARZ file will be downloaded. From this ARZ we can extract XML file.


This XML file contains a simple structure.

(to see the full size image click on it)

In order to import the XML file (/komunikat/blokada/zakres-nr/nr-recepty node)  into the database and display its contents as a list of blocked prescriptions numbers, we can use the following script.


DECLARE @idoc int;
DECLARE @out XML;
SELECT @out=BulkColumn
FROM 
OPENROWSET (BULK 'C:\xml\20170528_1557_rozwiniety.xml',SINGLE_BLOB) as import
EXEC sp_xml_preparedocument @idoc OUTPUT, @out;  
SELECT *  
FROM  OPENXML (@idoc, '/komunikat/blokada/zakres-nr/nr-recepty',0) WITH (
numer varchar(255) 
);  

Effect

(to see the full size image click on it)

For more information about OPENXML see offical Microsoft documentation of T-SQL: https://docs.microsoft.com/en-us/sql/t-sql/functions/openxml-transact-sql

sobota, 31 grudnia 2016

[PL] Windows Server 2008 R2 SP1 - podłączenie stacji roboczej do domeny bez dostępu do sieci

Windows Server 2008 R2 umożliwia tzw. offline domain join, czyli podłączenie stacji roboczej do domeny w sytuacji, gdy przyłączany komputer nie posiada aktualnie połączenia z kontrolerem domeny. 

Poniżej zamieszczam krótki opis w jaki sposób można skorzystać z tej metody na przykładzie kontrolera domeny z Windows Server 2008 R2 SP1 x64 Enterprise oraz Windows 8.1 Enterprise x64.

Na serwerze: 

djoin 
/PROVISION 
/DOMAIN "wroblewski.local" 
/MACHINE "AW-TEST" 
/SAVEFILE "C:\test_offline_join\AW-TEST"


Na kliencie:

djoin 
/REQUESTODJ 
/LOADFILE "C:\test_offline_join\AW-TEST" 
/WINDOWSPATH "c:\windows" 
/LOCALOS


Efekt:




niedziela, 18 grudnia 2016

[PL] Windows Server 2008 R2 SP1 - szyfrowanie partycji niesystemowych z użyciem BitLocker

Poniżej umieszczam krótki opis w jaki sposób zaszyfrować partycję niesystemową w Windows Server 2008 R2 SP1 x64 w ten sposób, aby dostęp do niej wymagał wprowadzenia hasła. Dzięki temu, w przypadku kradzieży dysku zawierającego zabezpieczoną w ten sposób partycję, złodziej nie uzyska dostępu do danych znajdujących się na niej, o ile nie będzie znał hasła odzyskiwania. W tym celu skorzystamy z mechanizmu szyfrowania dysku BitLocker wbudowanego między innymi w Windows Server 2008 R2 oraz w Windows 7 (przy czym jedynie w edycjach Enterprise, Ultimate).

Na początek - korzystając z Server Managera - powinniśmy zainstalować funkcję BitLocker.  Otwieramy więc Server Manager - naciskamy prawym przyciskiem myszy na Features - Add Features. W oknie Add Features Wizard na ekranie Select Features zaznaczamy BitLocker Drive Encryption, wybieramy Next i postępujemy zgodnie z bieżącymi wskazówkami instalatora.





 


Kolejnym krokiem jest zaszyfrowanie partycji. Odszukujemy w systemie i otwieramy BitLocker Drive Encryption. W BitLocker Drive Encryption naciskamy Turn on BitLocker obok partycji, którą chcemy zaszyfrować.


System wyświetla zapytanie czy chcemy rozpocząć korzystanie z BitLockera, ponieważ powinno być ono używane jedynie na serwerach cechujących się wysoką wydajnością oraz w sytuacji gdy serwer nie znajduje się w bezpiecznej lokalizacji fizycznej. Odpowiadamy Yes na pytanie Do you want to start BitLocker setup?

Na ekranie BitLocker Drive Encryption - Choose how you want to unlock this drive zaznaczamy Use a password to unlock the device i wprowadzamy hasło, które będzie służyć do uzyskania dostępu do partycji, którą wybraliśmy. Klikamy Next.


Na ekranie BitLocker Drive Encryption - How do you want to store your recovery key? wybieramy sposób zabezpieczenia klucza odzyskiwania, który może przydać się w sytuacji awaryjnej. Jedną z możliwości jest wydrukowanie go (Print the recovery key), umieszczenie na pendrive (Save the recovery key to a USB flash drive) lub zapisanie do pliku tekstowego (Save the recovery key to a file).  Na potrzeby tego wpisu, skorzystam z ostatniej ze wspomnianych opcji i wskażę zapisanie pliku na pulpit, ale nie jest to rekomendowane w środowisku produkcyjnym, o czym informuje mnie system i wymaga potwierdzenia chęci wykonania takiej czynności na ekranie z pytaniem Do you want to save the recovery key on this computer?, gdzie odpowiadam Yes.



Po wybraniu interesującej nas opcji zabezpieczenia klucza powinniśmy ujrzeć informację w tej sprawie po czym klikamy Next. W moim przypadku jest to informacja You recovery key has been saved oraz fakt pojawienia się na pulpicie pliku tekstowego z kluczem odzyskiwania BitLockera.


BitLocker wymaga jeszcze tylko potwierdzenia, że chcemy zaszyfrować wskazaną partycję. Na ekranie BitLocker Drive Encryption - Are you ready to encrypt this drive naciskamy Start Encrypting.


W tym momencie powinno rozpocząć się szyfrowanie partycji, którego postęp możemy obserwować na bieżąco.


Po pomyślnym zakończeniu procesu szyfrowania powinien zostać wyświetlony komunikat BitLocker Drive Encryption - Encryption of X: is complete (gdzie X: to litera partycji), na którym klikamy Close.


Od tej pory w oknie BitLocker Drive Encryption w Panelu Sterowania przy zaszyfrowanej partycji powinny być dostępne opcje Turn Off BitLocker i Manage BitLocker zamiast Turn On BitLocker.


Gdy zrestartujemy serwer i otworzymy okno Komputer nasza zaszyfrowana partycja nie będzie widoczna tak jak wszystkie inne, niezaszyfrowane partycje, ale będzie posiadać kłódkę, a przy próbie uzyskania dostępu do danych na niej się znajdujących zostanie wyświetlony ekran wymagający wprowadzenia hasła i naciśnięcia Unlock.


Najczęściej zadawane pytania
Q: Czy w trakcie szyfrowania partycji zostaną usunięte dane, które się na niej znajdują?
A: Nie - w moim przypadku nie nastąpiła utrata danych, ale oczywiście warto profilaktycznie wykonać wcześniej kopie bezpieczeństwa, jeżeli na partycji którą chcemy zaszyfrować znajdują się ważne dane.

Q:  Czy są inne, bezpłatne rozwiązania, które można zastosować w innych edycjach Windows, nie tylko Enterprise & Ultimate?
A: Tak. Alternatywnym rozwiązaniem - działającym we wszystkich edycjach  Windows  (również Home)  -  jest bezpłatny program VeraCrypt, który opisywałem jakiś czas temu w artykule "Szyfrowanie dysków i wolumenów z użyciem VeraCrypt" na łamach "IT Professional".

Q: W jaki sposób można dokonać wyboru algorytmu szyfrowania?
A: Służy do tego poniżej wymienione ustawienie Group Policy:

Computer Configuration - Administrative Templates - Windows Components - BitLocker Drive Encryption - Choose drive encryption method and cipher strength.


Q: Czy i w jaki sposób można sprawdzić aktualnie wykorzystany algorytm szyfrujący względem konkretnej partycji?
A: Jest taka możliwość - służy do tego polecenie manage-bde -status


Q: Kiedy zachodzi potrzeba skorzystania z klucza odzyskiwania?
A: Na przykład gdy chcemy uzyskać dostęp do danych znajdujących się na zaszyfrowanej partycji z poziomu środowiska odzyskiwania Windows (chodzi o opcję Napraw (Repair) po uruchomieniu komputera z płyty instalacyjnej Windows)







Q: Czy istnieje możliwość odszyfrowania partycji?
A: Tak - w tym celu w oknie BitLocker Drive Encryption należy skorzystać z opcji Turn Off BitLocker po czym potwierdzić swój wybór wybierając Decrypt Drive w oknie Turn Off BitLocker.





Q: Czy istnieje możliwość zmiany hasła, które służy do uzyskiwania dostępu do partycji?
A: Tak - aby tego dokonać należy otworzyć  BitLocker Drive Encryption i skorzystać z opcji Manage BitLocker na wysokości interesującej nas partycji, po czym wybrać Change password to unlock the drive, wprowadzić nowe hasło i kliknąć Next. Powinien zostać wyświetlony komunikat Your password has been changed.



sobota, 3 grudnia 2016

[EN] How solve problem in Windows 8.1 with connect to WSUS 3.0 SP2 (Code 80096002)?

If you see error "Windows could not search for new updates There was a problem checking for updates Error(s) found: Code 80096002 Windows Update ran into a problem" in Windows Update on Windows 8.1 x64 after configure that this client computer will use WSUS 3.0 SP2 (Windows Server 2008 R2 x64 SP1), you should install  download and install Update for Windows Server Update Services 3.0 SP2 for x64-based Systems (KB2734608).


Additionally you ensure that settings "Specify intranet Microsoft update service location" in the GPO they are correct and is according to the settings selected during installation of WSUS.


poniedziałek, 28 listopada 2016

[EN] Windows Server 2008R2 SP1 - How solve error "The description for Event ID from source Microsoft-Windows-EventForwarder cannot be found." when is used event subscription

If after configuring Event subscription, you see  in Event Viever  event with description "The description for Event ID XXX from source Microsoft-Windows-EventForwarder cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer." to solve this problem you should execute this command from Command Line (CMD) on machine who is collector:   

wecutil ss YOUR_SUBCRIPTION_NAME /l:en-US

This method was tested on Windows Server 2008 R2 x64 SP1 with English United States regional / language settings.

sobota, 26 listopada 2016

[EN] How install Red Hat VirtIO Network Ethernet Adapter on 64-bit Windows Server 2008R2 SP1?

On Windows Server 2012 R2 you should: 1) insert virtio-win ISO into optical drive, 2) browse content optical drive for find NetKVM driver for your operating system, right click on netkvm.inf and select Install.  On Windows Server 2008 R2 after select Install from right click on netkvm.inf you see  error The INF file you selected does not support this method of installation.

 
Solution:
1) On virtual machine, open Device Manager 
2)  Right Click on Other Devices - Ethernet Controller and select Update Driver Software

3) On screen How do you want to search for driver software? select Browse my computer for driver software - Locate and install driver software manually
 4) On screen Browse for driver software on your computer specify path for NetKVM driver on optical drive, e.g: D:\NetKVM\2k8R2\amd64 and click Next
 5) On screen Installing driver software you agree of installation driver from Red Hat Inc. and wait for end of installation.
 6) In Device Manager you should appear Network adapters \ Red Hat VirtIO Ethernet Adapter