DBCC UPDATEUSAGE – naprawa bazy danych

2014-03-19

DBCC zgłasza bład:

Executing the query „DBCC CHECKDB(’MyDb’, NOINDEX)” failed with the following error: „The In-row data RSVD page count for object „XX40300”, index ID 0, partition ID 14181197782299, alloc unit ID 14181193482240 (type In-row data) is incorrect. Run DBCC UPDATEUSAGE.

Opss, baza uszkodzona. Zazwyczaj w tym momecie pomysły są następujące:

  • Repair_Rebuild jeżeli do uszkodzenia dochodzi na indeksach nonclustered
  • Repair_Allow_Data_Loss jeżeli do uszkodzenia dochodzi w samej tabeli, ale zgadzasz się na utratę części danych
  • Restore bazy danych, ale to też nie jest fajne

Sugestia zawarta w komunikacie może jednak odkryć kolejną metodę naprawy bazy:

Komenda

DBCC UPDATEUSAGE(’MyDb’) WITH NO_INFOMSGS

naprawia liczniki ilości rekordów i ilości wolnych/zajętych stron w tabelach. Jest niegroźna (raczej) ale backup przed jej uruchomieniem dla własnego dobra każdy DBA powinien wykonać.

W moim przypadku baza się naprawiła. Kolejne uruchomienie

DBCC CHECKDB(’MyDb’) WITH NO_INFOMSGS

nie wykazuje więcej błędów.

 

By Rafał Kraik in SQL

Maintnance plan się nie wykonuje. Alter failed for Server 'servername’

2014-03-17

Poprzez maintnance plan zaplementowano sprawdzanie baz przez DBCC

Job kończył się błędem:

Executing query „DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp…”.: 100% complete End Progress DTExec: The package execution returned DTSER_FAILURE (1) Started: 10:54:43 Finished: 10:54:44 Elapsed: 0.624 seconds. The package execution failed. The step failed.

W maintenance plan zaglądając do historii mamy

Alter failed for Server 'servername’

maintnance_plan_history

W error logu znajduje się z kolei wpis

Configuration option 'user options’ changed from 0 to 0. Run the RECONFIGURE statement to install.

 

To DBCC próbuje wysłać poprzez sp_configure polecenie zmiany ustawień. Trzeba mu pomóc 

SP_CONFIGURE 'ALLOW UPDATE',0
RECONFIGURE

 

Opcja allow update = 0 oznacza, że użytkownicy nie mogą pisać po systemowych tabelach SQL Servera, więc zmiana tego ustawienia na 0 nic nie zepsuje.

Po takiej zmianie, job zaczął pracować poprawnie.

http://technet.microsoft.com/en-us/library/aa196704(v=sql.80).aspx

http://gursethi.blogspot.com/2011/03/sql-2008-maintenance-plan-error-alter.html

 

By Rafał Kraik in SQL

Jak naprawić uszkodzony plik excel (xls xlsx)

2014-03-01

No cóż, stało się. Nie możesz otworzyć skoroszytu nad którym tyle pracy zostało włożone…

Krok 0

Utwórz kopię pliku. To ważne bo każda kolejna próba otwarcia pliku może go jeszcze bardziej uszkodzić.

Metoda 1. automatyczna, ale nie zawsze zadziała

1. Uruchom Excel

2. Wybierz polecenie Plik >> Otwórz

3. Kliknij strzałkę obok polecenia Otwórz i wybierz Otwórz i napraw.

otworz i napraw 1

 

Czytaj dalej »

By Rafał Kraik in Helpdesk

Odblokowanie loginu SQL bez zmiany hasła

2014-02-24

SQL też ma swoje password policy. Hasło może wygasnąć lub konto może się zablokować po kilkukrotnym podaniu błędnego hasła. W errorlogu znajdziesz wtedy zapis

Login failed for user XYZ because the account is currently locked out. The system administrator can unlock it.  [CLIENT: 10.10.10.10].

Jeśli otworzysz właściwości loginu zobaczysz pole „Login is locked out”.

locked_login

Możesz je odznaczyć, ale w gorszym przypadku, gdy masz włączone „password policy” otrzymasz komunikat o błędzie:

Reset password for the login while unlocking.

A co jeśli nie chcesz zmieniać hasła bo jest głędoko zaszyte w aplikacji? Zrób sztuczkę. Wyłącz password policy, kliknij OK,  a potem włącz password policy i kliknij OK.

password_policy

Zauważ, że ta operacja odblokowała konto. Problem rozwiązany. Jeśli wolisz TSQL:

USE [master]

GO

ALTER LOGIN [XYZ] WITH CHECK_POLICY=OFF

GO

ALTER LOGIN [XYZ] WITH CHECK_POLICY=ON

GO

 

By Rafał Kraik in SQL

Kiedy zmieniano hasło dla konta SQL

2014-02-18

Informacje o loginie SQL (login SQL Server – nie Windows Login) znajdują się w widoku

sys.syslogins

Niestety nie ma tu informacji o ostatniej dacie zmiany hasła.

Za to mamy funkcję

LOGINPROPERTY ( 'login_name' , 'property_name' )

Wśród właściwości o które można zapytać jest PasswordLastSetTime.

Np zapytanie

 SELECT LOGINPROPERTY ( 'sa' , 'PasswordLastSetTime' )

wyświetli datę, kiedy ostatnio zmieniał hasło użytkownik sa.

Więcej:

http://technet.microsoft.com/en-us/library/ms345412.aspx

 


			
By Rafał Kraik in SQL

Błąd podczas instalacji SQL Server w trybie UNATTEND

2014-02-18

Oto, co mnie dzisiaj spotkało.

setup_error

Chciałem wykonać instalację nienadzorowaną (UNATTEND). Mając przygotowany plik ini wpisuję więc polecenie:

setup.exe /configurationFile=c:\MSSQL.ini

a tu wyskakuje błąd!

An error occurred during the SQL Server 2008 R2 Setup operation.

Error result: -2067529698
Result facility code: 1220
Result error code: 30 Czytaj dalej »

By Rafał Kraik in SQL

Nie startuje SQL Server – Access is denied System error 5 has occured

2014-02-10

Co zrobić gdy SQL Server nie chce wystartować? Zajrzeć do Event Viewera!

error_event_vwr

Gorzej, jeśli komunikat niewiele nam mówi… Zawsze jakimś rozwiązaniem na tego rodzaju problem jest próba uruchomienia sql serwera z linii komend. A nuż wyświetli się coś więcej?

error_command_line Czytaj dalej »

By admin in SQL