Instalacja SQL 2012 SP 1 – Cannot recover the master database. SQL Server is unable to run

2014-06-25

Po instalacji SQL 2012 SP1, chociaż instalacja przebiegła poprawnie SQL serwer nie startuje, a w logu można znaleźć:

Script level upgrade for database 'master’ failed because upgrade step 'u_tables.sql’ encountered error 25641, state 0, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master’ database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.

i

Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.

Ponieważ to nowa instalacja, to przebudowa bazy master jak najbardziej wchodzi w grę. W ruch poszła procedura z:

http://msdn.microsoft.com/en-us/library/dd207003(v=sql.110).aspx

Niestety bez skutku. Okazało się, że problem jest znany:

https://connect.microsoft.com/SQLServer/feedback/details/775401/sql-server-2012-sp1-cu1-installation-failure-instance-will-no-longer-start

W moim przypadku SQL był instalowanay na koncie użytkownika nie będącego administratorem. Wystarczyło na czas instalacji lub na czas naprawy mastera nadać kontu serwisowemu SQL serwera uprawnienia lokalnego administratora, a błąd został naprawiony i SQL serwer startuje!

Ufff

By Rafał Kraik in SQL 2012

Powershell: Uruchomienie z powershella kilku innych skryptów jednocześnie

2014-06-24

W tym przypadku administrator tworzył sobie narzędzie, które jednocześnie ma zrestartować pewną liczbę serwerów, a następnie pingiem sprawdzać, czy serwery odpowiadają i kolorować:

  • na zielono – odpowiada
  • na czerwono – nie odpowiada
  • jeżeli nie odpowiedział na 4 ping pod rząd a potem zaczął odpowiadać, to zmiana koloru na żółty

Problemem było tylko jak uruchomić skrypt badający pingiem odpowiedzi serwerów tak, aby na raz restartować i pingować wiele serwerów, każdy w innym okienku.  Ze skryptu wyrzucam logikę dotyczącą pingowania, skupiam się wyłącznie na jednoczesnym uruchomieniu większej liczby skryptów. Oto rozwiązanie:

multi_script

 

Czytaj dalej »

By Rafał Kraik in Power Shell

Collation conflict

2014-06-24

Collation ustawia się na serwerze, odrębnie dla każdej bazy danych i wreszczie można je przedefiniować dla każdej kolumny tekstowej w tabeli.
Sprawdzenie collation dla baz wykonasz zapytaniem:

SELECT name,collation_name FROM sys.databases

Znalezienie kolumn z określonym dla nich collation możesz wykonać:

use [DBName]
SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLLATION_NAME from INFORMATION_SCHEMA.COLUMNS
WHERE COLLATION_NAME IS NOT NULL
By Rafał Kraik in SQL

Windows 8. Nie działa sklep. Nie można utworzyć konta Microsoft.

2014-06-20

Laptop Lenovo. Na początku zostało założone konto lokalne niepowiązane z kontem Microsoft. Pierwszym objawem problemów, było to że nie dało się zainstalować oprogramowania ze sklepu Microsoft. No ale cóż. Da się przeboleć. Kiedy jednak zainstalowane aplikacje zaczęły zgłaszać informację „Jest dostępna nowa wersja aplikacji. Wykonaj aktualizację.” a bez aktualizacji pracować nie chciały, problem trzeba było rozwiązać.

Zakupy/pobieranie aplikacji ze sklepu Microsoft muszą być powiązane z kontem Microsoft. Jakimś pomysłem na rowiązanie problemu wydawało się stworzenie konta Microsoft, wykonanie aktualizacji na nim i powrót do konta lokalnego. Jednak tworzenie konta Microsoft kończyło się błędem, a właściwie kręcącym się w nieskończoność kółeczkiem.

Zacząłem od udostępnionych przez Microsoft narzędzi do naprawy podobnych problemów. Widać autorzy są świadomi problemów z ich aplikacjami:

Chociaż wyżej wymienione programy znalazły pewne problemy i nawet je ponaprawiały to mój problem został nie naprawiony… Czytaj dalej »

By Rafał Kraik in Helpdesk

Ominięcie wymagany restart – Bypass „Reeboot required”

2014-06-18

Zdarzyło się pewnego razu, że mimo wykonania restartu nadal nie można było odinstalować SQL serwera, ponieważ… był wymagany restart.

Co u mnie pomogło:

1. regedit

2. Otworzyć klucz

HKLM\System\CurrentControlSet\Control\Session Manager

4. Poszukać właściwości PendingFileRenameOperations

5. W tym miejscu są zapisane nazwy plików, z którymi Windows powinien coś zrobić po restarcie.

6. Wyedytuj tą właściwość i wyczyść jej zawartość.

 

U mnie działa!

Powershell: OutOfMemory exception podczas Invoke-Command

2014-06-06

Podczas wykonywania polecenia

Invoke-Command -computer … -script { … }

wyskakuje błąd:

+ CategoryInfo          : NotSpecified: (:String) [], RemoteException

+ FullyQualifiedErrorId : NativeCommandError

 

Unhandled Exception: OutOfMemoryException.

O co chodzi? W skrypcie przekazywanym o zdalnego wykonania wywoływany był program exe, który korzystał z większej ilości pamięci. Błąd OutOfMemory świadczy o tym, że tej pamięci zabrakło. Zauważ, że w takim przypadku wszelkie mechanizmy obsługi błędów po zdalnej stronie zawodzą, bo przecież brakło pamięci na skrypt!

Jak to naprawić?

Komenda:

winrm get winrm/config/winrs

wyświetli ile pamięci może być wykorzystywane przez sesje zdalne.

Zmień ten parametr poleceniem

winrm set winrm/config/winrs `@`{MaxMemoryPerShellMB=`”512`”`}

Oczywiście oba polecenia wykonujemy na zdalnym systemie.

U mnie to działa!

By Rafał Kraik in Power Shell

Linked server – uruchamianie procedur zdalnych

2014-06-03

 

Chcesz utworzyć serwer linkowany, ale w taki sposób aby jeden wybrany użytkownik z lokalnego serwera mógł uruchomić jedną konkretną procedurę na serwerze zdalnym.

1. Na serwerze zdalnym załóż login sql. Nadaj mu odpowiednie minimalne uprawnienia (user w bazie i execute na wybranej procedurze)

2. Na obu serwerach upewnij się, że jest włączona opcja remote access. Dzięki niej uruchamianie procedur przez linked serwer jest możliwe.

exec sp_configure ‘remote access’, 1
RECONFIGURE WITH OVERRIDE

Zmiana opcji wymaga restartu SQL

3. Na serwerze lokalnym zdefiniuj linked server:

remote-server-as-linked Czytaj dalej »

By Rafał Kraik in SQL