Szkolenia SQL 2014

2014-12-27

Microsoft ogłosił wycofanie szkoleń z SQL 2012 i zastąpienie ich nowymi szkoleniami z SQL 2014. Oto skopiowana z artykułu tabelka ze starymi i nowymi szkoleniami:

 

SQL Server 2012 Course# SQL Server 2012 Title SQL Server 2014 Course# SQL Server 2014 Title SQL Server Exam (in market)
10774A Querying Microsoft SQL Server 2012 20461C Querying Microsoft SQL Server 70-461
10775A Administering Microsoft SQL Server 2012 Databases 20462C Administering Microsoft SQL Server Databases 70-462
10777A Implementing a Data Warehouse with Microsoft SQL Server 2012 20463C Implementing a Data Warehouse with Microsoft SQL Server 70-463
10776A Developing Microsoft SQL Server 2012 Databases 20464C Developing Microsoft SQL Server Databases 70-464
20465B Designing Database Solutions for SQL Server 2012 20465C Designing a Data Solution with Microsoft SQL Server 70-465
10778A Implementing Data Models and Reports with Microsoft SQL Server 2012 20466C Implementing Data Models and Reports with Microsoft SQL Server 70-466
20467B Designing Business Intelligence Solutions with Microsoft SQL Server 2012 20467C Designing Self-Service Business Intelligence and Big Data Solutions 70-467

http://pages.email.microsoftemail.com/page.aspx?QS=38dfbe491fab00ea2a47f1ea8bd86c9a9fbfdac1c1554482f65d74c18d68d0fb&ArticleID=b9d251d5-598b-4b59-9e46-36dc33c437d0

By Rafał Kraik in Aktualności

Gdzie jest Remote Desktop Session Configuration w Windows 2012?

2014-12-24

RemoteDesktopSessionConfigurationHost_1

W Windows Server 2008 można było zmienić konfigurację Terminal Services tak, aby w przypadku braku aktywności użytkownika pulpitu zdalnego sesja nie została wylogowana, a wraz  z tym, aby nie zostały pozamykane programy otwarte w tej sesji. Sesja mogła przejść w stan disconnected, aż wreszcie po upływie jeszcze dłuższego czasu mogło dojść do rzeczywistego wylogowania nieaktywnego użytkownika.

RemoteDesktopSessionConfigurationHost_2

Narzędzie pozwalające na wykonanie takiej konfiguracji to Remote Desktop Session Host Configuration. Niestety w Windows Server 2012 to narzędzie zniknęło. Czytaj dalej »

Problem z datą podczas wywoływania zapytań WMI

2014-12-23

Aplikacja .NET C# powinna przeczytać i wyfiltrować zdarzenia z EventLog systemu lokalnego i zdalnego. Pomysł prosty, może można lepiej, ale składam zapytanie WMI, które następnie jest uruchamiane przez System.Management.ManagementObjectSearcher. Wygląda to mniej więcej tak (daty i inne wartości filtra zostawiam celowo „na sztywno”):

scope = new ManagementScope(„\\\\”+serverName+”\\root\\cimv2”);
scope.Connect();
query = „Select * from Win32_NTLogEvent Where Logfile = 'System’ AND TimeWritten >= '2014-12-01′ AND TimeWritten <=’2015-01-01′”;
query += ” AND EventCode = 7040 ” ;
query += ” AND SourceName = 'Service Control Manager”;
query+= ” AND Message LIKE '%SQL%'”;

Potem uruchomienie zapytania:

queryObj = new ObjectQuery(query);
eventsWMI = new System.Management.ManagementObjectSearcher(scope,queryObj);
foreach (System.Management.ManagementObject e in eventsWMI.Get())
{ //….
}

I…. błąd! Probemem okazały się daty. Niektóre systemy nie potrafią zrozumieć daty podanej napisami, tak jak zrobiłem to powyżej. Zmiana polega na wcześniejszym skonwertowaniu dat:

string wmi_startDate = System.Management.ManagementDateTimeConverter.ToDmtfDateTime(DateTime.Now.AddDays(-10));
string wmi_finishDate = System.Management.ManagementDateTimeConverter.ToDmtfDateTime(DateTime.Now);

Teraz zapytanie zmianiam na:

query = „Select * from Win32_NTLogEvent Where Logfile = 'System’ AND TimeWritten >= '” + wmi_startDate + „’ AND TimeWritten <='” + wmi_finishDate + „'”;

 i to działa…. Super!

 

Pomogło: http://powershell.com/cs/blogs/tips/archive/2009/03/11/filtering-events-by-date-and-time.aspx

Quick Code Sharing

2014-12-17

Chcesz „na żywo” dzielić się kodem?

Wejdź na stronę:

http://www.codeshare.io/

Zostaniesz przekierowany na nieco inny adres, np. http://www.codeshare.io/7xwPk

Podaj ten adres tym, którzy razem z tobą tworzą kod i od tej pory macie wspólną „tablicę”, na której można wklejać kod!. Super!

By Rafał Kraik in Aktualności

Windows 7/8: Synchronizacja czasu z Internetu

2014-12-13

Aby włączyć lub wyłączyć synchronizację czasu z Internetem kliknij zegar wyświetlany na pasku zadań i wybierz „Zmień ustawienia daty i godziny”. Na ostatniej zakładce „Czas z Internetu” kliknij „Zmień ustawienia” i zaznacz lub odznacz pole „Synchronizuj z internetowym serwerem czasu”.

czas_z_internetu

Domyślnie czas będzie synchronizowany co 7 dni czyli co 604800 sekund. Jeżeli chcesz zmienić ten interwał wpisz odpowiednią ilość sekund w rejestrze do klucza SpecialPollInterval w HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W32Time\TimeProviders\NtpClient:

time_pool_interval

By Rafał Kraik in Helpdesk

The client was unable to reuse a session with SPID 157, which had been reset for connection pooling. The failure ID is 29

2014-12-12

Oj zdarzało się walczyć z tym błędem… Ale dopiero teraz trafiłem na jakikolwiek opis znaczeń numerycznych kodów tego błedu. Znajduje się on na http://blitzkrieged5.rssing.com/chan-3991667/latest.php Żeby „nie uciekły” zamieszczam je niżej: Czytaj dalej »

By Rafał Kraik in SQL

Aktualizacja statystyk zablokowała inne transakcje w środku dnia

2014-12-12

Paczka SSIS miała właśnie wykonać pewną czynność wymagającą założenia locka exclusive na całej tabeli, co zwykle trwało kilka chwil. Niestety tym razem proces zatrzymał się i stoi już tak od 20 minut… Rzut oka w Activity monitor, a może lepiej w sys.dm_exec_connections lub sp_who2 i już wiadomo co się dzieje. Proces zablokowany przez proces ze spid=18. No ale hola hola… przecież SPID<51 to system! Czy możemy tak po prostu killować proces systemowy!? Osobiście nie polecam takiego postępowania.

Baza danych miała ustawione Auto Create Statistics i Auto Update Statistics na true. Ponieważ tabela nie była mała, przeliczanie statystyk trochę serwerowi zajęło. Trzeba było po prostu cierpliwie poczekać.I tu widać, że Auto Update Statistics warto w takim przypadku wyłączyć, tym bardziej, jeśli administrator zaplanował przeliczanie statystyk jako job w Agencie.

Najtrudniejszym krokiem w tym przypadku było stwierdzenie, że blokującym procesem są rzeczywiście statystyki. Można to było wywnioskować po:’

  • dużej liczbie odczytów zapisów do danego pliku z tego procesu
  • sesji profilera łapiącej zdarzenia związane ze statystykami.

Pamiętajmy, że można pozwolić SQL na utrzymywanie statystyk małych tabel automatycznie, duże zaś oznaczyć jako NORECOMPUTE i utrzymywać w nich statystyki ręcznie. Dokkładniej opisuje to np http://www.mssqltips.com/sqlservertip/1056/norecompute-option-of-update-statistics-in-sql-server/

A tu też ładne demo o statystykach: https://www.simple-talk.com/sql/performance/managing-sql-server-statistics/

By Rafał Kraik in SQL