2015-05-27
Problem: Zapytanie zwraca informacje o komputerach i dyskach w kolejnych wierszach. Chcemy, aby nazwy dysków powędrowały do kolumn.
Rozwiązanie:
Załóżmy, że struktura tabeli wygląda następująco:
CREATE TABLE #disks
(machineid int,
letter CHAR(2),
size int,
label char(16),
comment char(20))
INSERT #disks VALUES(1,'c:',100,'system','backup'), (1,'d:',200,'data','backup')
Żeby litery dysków pojawiły się w kolumnach użyj tabeli przestawnej:
SELECT machineid, [c:],[d:] FROM
(SELECT machineid, letter,label FROM #disks) x
PIVOT
(MIN(label) FOR letter in ([c:],[d:])) p
Czytaj dalej »
2015-05-17
Bardzo przydatny zestaw zapytań diagnostycznych dla SQL publikowany co miesiąc przez Glena Berry’ego:
http://www.sqlskills.com/blogs/glenn/sql-server-diagnostic-information-queries-for-april-2015/
2015-05-05
Jeśli posiadasz certyfikat MCSE, to pamiętaj, że jest on ważny tylko przez 3 lata. Potem należy się recertyfikować. Do tej pory odświeżenie certyfikatu wiązało się z kolejnym egzaminem, a więc 100$ z kieszeni + trochę stresu.

Aktualnie recertyfikować można się rozwiązując quizy z kursów publikowanych na Microsoft Virtual Academy. Nie dość, że taniej, bo aż za darmo, to jeszcze z domu, bez stresu i z dowolną ilością prób. Miły krok ze strony Microsoft Learning. Jeśli uznasz to za potrzebne możesz przejrzeć same kursy, ale jeśli uważasz, że znasz materiał wystarczy po prostu rozwiązać quizy.
Dziwi tylko trochę zestaw wymaganych szkoleń. W przypadku certyfikatu MCSE Data Platform wymagane są np. dość proste szkolenia MTA oraz standardowe szkolenia z administracji, zapytań, czy projektowania baz danych. Dopiero wda ostatnie szkolenia odnoszą się do nowości w SQL 2014. Niemniej polecam tą ścieżkę recertyfikacji.
Więcej szczegółów:
https://www.microsoft.com/learning/en-us/recertification-virtual-academy.aspx
2015-04-18
Problem: Mamy tabelę Variants, w której użytkownik może wpisać warianty liczników, które zostaną następnie użyte przy budowie kostki do zaprezentowania np. kilku wariantów przewidywanych miar.
Załóżmy, że tabela Variants ma następującą strukturę:
CREATE TABLE dbo.Variants
( VariantName NVARCHAR(30),
Factor Decimal(18,8))
INSERT dbo.Variants VALUES (’50% increase’, 1.5), (’20% increase’, 1.2), (’no increase’,1)
Krok 1 – dodaj tabelę do Data Source View:
zauważ, że tabela nie ma relacji do pozostałych tabel

Krok 2 – zdefiniuj wymiar:
zwróć uwagę na ukrycie kolumny Factor oraz zmiany w ValueMember i NameMember. Dzięki temu uzyskujesz ładniejsze raporty
Czytaj dalej »
2015-04-14
Poniżej nazwy kont wirtualnych wykorzystywanych przez SQL w przypadku instancji domyślnej i nazwanej:
| Usługa |
Konto dla instancji domyślnej |
Konto dla instancji nazwanej |
| Agent |
NT Service\SQLSERVERAGENT |
NT SERVICE\SQLAGENT$INSTANCE |
| SQL Engine |
NT Service\MSSQLSERVER |
NT SERVICE\MSSQL$INSTANCE |
| SSAS |
NT Service\MSSQLServerOLAPService |
NT Service\MSOLAP$INSTANCE |
| SSRS |
NT Service\ReportServer |
NT Service\ReportServer$INSTANCE |
| SSIS |
NT Service\MsDtsServer120 |
— |
| Full Text Search |
NT Service\MSSQLFDLauncher |
NT SERVICE\MSSQLFDLauncher$INSTANCE |
| Browser |
NT AUTHORITY\LOCAL SERVICE |
— |
Szczegóły: https://msdn.microsoft.com/en-us/library/ms143504.aspx
W przypadku problemów ze zmianą konta dla usługi w Configuration managerze można spróbować wykorzystywać services.msc, wpisywać pełną nazwę np:
NT SERVICE\MSSQLSERVER
lub używać wyszukiwarki (Browse) wpisując początek nazwy usługi np:
NT SERVICE\MS
Patrz też : https://connect.microsoft.com/SQLServer/feedback/details/680877/configuration-manager-cant-select-default-of-nt-service-mssqlserver-again
2015-04-11
Jeśli łączysz się do SQL podając:
- tylko nazwę hosta => klient łączy się do instancji domyślnej TCP 1433
- nazwę hosta i port w postaci host,port => klient łączy się do hosta na określony numer portu
- nazwę hosta i nazwę instancji => klient pyta SQL Browser UDP 1434 o numer portu dla danej nazwy instancji, a potem łączy się na otrzymany port (TCP)
http://www.mssqltips.com/sqlservertip/2182/network-communications-mechanisms-for-sql-server/
2015-04-11
Ile się naszukałem tej tabelki….:
| Task |
Description |
| Consume reports |
Reads report definitions. |
| Create linked reports |
Create linked reports that are based on a non-linked report. |
| Manage all subscriptions |
View, modify, and delete any subscription for reports and linked reports, regardless of who owns the subscription. This task also supports the creation of data-driven subscriptions. |
| Manage data sources |
Create and delete shared data source items, view and modify data source properties and content. |
| Manage folders |
Create, view, and delete folders, and view and modify folder properties. |
| Manage models |
Create, view, and delete models, and view and modify model properties. |
| Manage individual subscriptions |
Create, view, modify, and delete user-owned subscriptions to reports and linked reports. |
| Manage report history |
Create, view, and delete report history, view report history properties, and view and modify settings that determine snapshot history limits and how caching works. |
| Manage reports |
Add and delete reports, modify report parameters, view and modify report properties, view and modify data sources that provide content to the report, view and modify report definitions, and set security policies at the report level. |
| Manage resources |
Create, modify, and delete resources, and view and modify resource properties. |
| Set security policies for items |
Define security policies for reports, linked reports, folders, resources, and data sources. For more information, see Securable Items. |
| View data sources |
View shared data source items in the folder hierarchy. |
| View reports |
Run reports and view report properties. |
| View models |
View models in the folder hierarchy, use models as data sources for a report, and run queries against the model to retrieve data. |
| View resources |
View resources and resource properties. |
| View folders |
View folder contents and navigate through the folder hierarchy. |
https://technet.microsoft.com/en-us/library/ms157363(v=sql.110).aspx