SQL: Diagnozowanie problemów z SPN

2015-12-30

Ot, przydatny artykuł:

Główne idee tej checklisty to:

1. Wiedzieć jakie usługi przesyłają sobie poświadczenia

2. Wiedzieć na jakich kontach pracują dane usługi

3. Sprawdzić zdefiniowane SPN poleceniem setspn -l <domena\konto>

4. Wiedzieć jaką postać ma mieć SPN dla danej usługi

5. Sprawdzić zawartość zakładki Delegation we właściwościach konta w AD Users and Computers

 

 

By Rafał Kraik in SQL

SQL: cross db ownership chaining

2015-12-30

Drobna uwaga na temat tego, co się stanie jeśli właścicielem bazy danych jest sa i dodatkowo masz włączoną opcję serwera cross db ownership chaining

Zaczynamy od założenia 2 baz danych:

CREATE DATABASE DBPUB
GO
USE DBPUB
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
CREATE DATABASE DBPRIV
GO
USE DBPRIV
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false

Teraz w bazach danych zakładamy obiekty: tabelę w bazie DBPRIV, a w bazie DBPUB widok korzystający z tabeli z bazy DBPRIV

USE DBPRIV
GO
CREATE TABLE tblPriv
(id int)
USE DBPUB
GO
CREATE VIEW vwPub AS
SELECT id FROM DBPRIV.dbo.tblPriv
GO

Czy taka konstrukcja zadziała? Tak, w końcu w tej chwili jesteś w roli sysadmin, która ma db_owner w każdej bazie danych:

SELECT * FROM vwPub
GO

Ale czy zadziała to również dla innych użytkowników? Zakładamy login PubLogin, który w bazie DBPUB ma uprawnienia db_owner, ale w bazie DBPRIV jest tylko w roli public, bez żadnych dodatkowych uprawnień, więc nie może np. wykonywać select do tabeli: Czytaj dalej »

By Rafał Kraik in SQL

SQL: CLR: The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE.

2015-12-30

Oto jaki błąd przywitał mnie dzisiaj na pewnym serwerze:

An error occurred in the Microsoft .NET Framework while trying to load assembly id 65541. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error:   System.IO.FileLoadException: Could not load file or assembly 'XXXXXXX, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’ or one of its dependencies.

Exception from HRESULT: 0x80FC3C2C  System.IO.FileLoadException:      at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean

Co u licha!? CLR miewa problemy z rezerwowaniem pamięci, zwłasza jeżeli pamięc zostałaby zeswapowana (brak lock pages in memory dla sql) lub w SQL 2008 R2 Max memory jest ustawione zbyt wysoko. Ponieważ serwer był testowy mogłem zrestartować SQL, ale… nie pomogło! Czytaj dalej »

By Rafał Kraik in SQL

Szkolenie Powershell dla początkujących – kompletny kurs – aktualizacja testów

2015-12-30

Kurs powershell dla początkujących – kompletny kurs doczekało się pierwszej aktualizacji. W pierwszej wersji testy dostępne do rozwiązania po każdej lekcji zawierały między innymi pytania pozwalające na uzupełnianie luk. Niestety Udemy zdecydowało się wycofać ten rodzaj testu, bo takie właśnie były wyniki ankiet wypełnianych przez uczestników szkoleń.

W związku z tym wszystkie testy , w których pojawiał się ten rodzaj pytań zostały przebudowane. Obecnie można rozwiązywać testy wyboru oraz prawda/fałsz.

Test dostępny po zakończeniu lekcji pozwala nie tylko sprawdzić stopień opanowania wiedzy, ale pozwala także na uzyskanie dodatkowych informacji poprzez analizę kolejnych przykładów. Jak najbardziej, podczas rozwiązywania testu można na swoim komputerze zasymulować opisywane zagadnienia i w ten sposób sprawdzić poprawność rozwiązania!

Sprawdź kurs Powershell dla administratora już teraz! Tylko teraz z kuponem PS4PL cena spada do 10 $

 

Kurs_powershell_landscape_620

By Rafał Kraik in Aktualności

Excel: Zamiana kwoty na słownie. Makro słownie.

2015-12-15

Oj… bardzo potrzebowałem dzisiaj prostego rozwiązania do zamiany liczb na polskie teksty. I co znalazłem? Bardzo fajną instrukcję:

https://www.youtube.com/watch?v=FB-yHmCHiv4

Miałem pewne problemy z polskimi literkami, ale koniec końców się udało! Wielkie dzięki. Gdyby komuś nie chciało się przechodzić całej procedury, to tutaj do ściągnięcia gotowy dodatek slownie_excelownia.

Aby zainstalować dodatek

  • zapisz go gdziekolwiek na swoim dysku. Upewnij się, że plik ma rozszerzenie xla. Moja przeglądarka podczas zapisywania pliku zmianiała rozszerzenie na xls.
  • w excelu kliknij PLIK >> Opcje >> Dodatki >> Dodatki programu Excel Przejdź >> Przeglądaj >>
  • Wskaż plik z dodatkiem
  • Upewnij się, że pole wyboru obok Slownie_excelownia jest zaznaczone
  • Kliknij OK
  • Gotowe. Od tej pory możesz wpisywać formułę jak np =słownie(159) lub =słownie(A5)

 

By Rafał Kraik in Helpdesk, VBA

C# Visual Studio 2015 Community i Setup Project (Install Shield Limited Edition)

2015-12-12

Brzydkiego psikusa zrobili programistom na spółkę Microsoft i Flexera Software. Drobni programiści, a nawet i niewielkie firmy mogły w 2013 roku skorzystać z Visual Studia w edycji Community. Było to faktycznie wielkie ułatwienie dla programistów, bo za darmo otrzymywali oni znakomite środowisko programistyczne. Nie ma co ukrywać – Microsoft też miał w tym swój interes, powstawało więcej aplikacji, zwiększało się znaczenie platformy Windows na rynku, popularyzowały się technologie Microsoft. Z kolei Flexera umacniała swoją pozycję, jako jedyna firma, która wie na czym polega instalacja programu w Windows – chyba nawet wiedzą lepiej od Microsoft, skoro Microsoft wycofał swoje instalatory…

W Edycji Community 2013 nie był dostępny projekt instalatora, jednak… Microsoft na spółkę zFlexera Software dawali programistom narzędzie Install Shield Limited Edition, które jest okrojoną wersją produktu Flexery. Wersja Limited wiele funkcjonalności miała zablokowanych, ale z drugiej strony w dość prosty sposób można było wyklikać program instalacyjny. Szkoda, że potencjalnie już wcześniej stworzony projekt instalacyjny nie działał. Trudno, część aplikacji trzeba było przepisać i wszystko byłoby ok, gdyby to była jednorazowa akcja. Czytaj dalej »

SQL: Patching error codes

2015-12-12

Spróbuję tu dokumentować błędy jakie spotykam przypatchowaniu serwerów SQL,wiec się nie dziw, że na początku za wiele tu nie będzie i w gruncie rzeczy, jakoś niespecjalnie mi zależy, żeby było tu dużo błędów…:

0

Działa i nawet restart nie jest wymagany!

3010

Final result: Passed but reboot required, see logs for details
Exit code (Decimal): 3010

Generalnie nic się nie stało. Kod 3010 oznacza, że patchowanie się udało, ale jest wymagany restart serwera.

-2147024882

Exit code (Decimal): -2147024882
Exit facility code: 7
Exit error code: 14
Exit message: Exception of type 'System.OutOfMemoryException’ was thrown.

Moje patchowanie odbywało się powershellowej sesji remotingu. Domyślnie na jedną sesję zdalną jest rezerwowane 150 MB. To trochę mało… Zwiększyłem do 1024:

PS WSMan:\localhost\Shell> Set-Item MaxMemoryPerShellMB 1024

 -2068380094

Exit code (Decimal): -2068380094
Exit facility code: 1207
Exit error code: 1602
Exit message: User has cancelled.

No cóż, z jakiegoś powodu użytkownik zatrzymał instalację. Zdarza się 😉

 

-2067919934

Exit code (Decimal): -2067919934
Exit facility code: 1214
Exit error code: 3010
Exit message: A computer restart is required. You must restart this computer before installing SQL Server.

Komputer wymaga restartu. Uruchom go ponownie i spróbuj jeszcze raz.

 -2068643838

Exit code (Decimal): -2068643838
Exit facility code: 1203
Exit error code: 2
Exit message: No features were updated during the setup execution. The requested features may not be installed or features are already at a higher patch level. Please review the summary.txt logs for further details.

No cóż, na systemie jest już coś nowszego. Próbujesz zainstalować staroć, więc masz bład.

By Rafał Kraik in SQL