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.
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’

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
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.

Czytaj dalej »
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”.

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.

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
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
2014-02-18
Oto, co mnie dzisiaj spotkało.

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 »
2014-02-10
Co zrobić gdy SQL Server nie chce wystartować? Zajrzeć do Event Viewera!

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?
Czytaj dalej »