Administratorzy baz danych

Pytania i odpowiedzi dla profesjonalistów baz danych, którzy chcą poprawić swoje umiejętności baz danych i uczyć się od innych w społeczności


1
Fizyczne sprawdzanie tylko checkdb kończy się niepowodzeniem, ale pełne zakończyło się pomyślnie
Wykonuję checkdb z opcją physical_only i kończy się niepowodzeniem z wieloma błędami, takimi jak poniżej: Msg 8965, poziom 16, stan 1, wiersz 1 Błąd tabeli: identyfikator obiektu 1557580587, indeks ID 1, identyfikator partycji 72057594088456192, identyfikator jednostki 72057594177454080 (wpisz dane w wierszu). Węzeł danych poza wierszem na stronie (1: 13282192), szczelina …

2
Wyświetlenie szacowanego planu wykonania generuje CXPACKET, PAGELATCH_SH i LATCH_EX [ACCESS_METHODS_DATASET_PARENT] czeka
Używam Microsoft SQL Server 2016 SP2-CU6 (13.0.5292.0) na maszynie wirtualnej 4 vCPU z max degree of parallelismustawioną 2i cost threshold for parallelismustawioną na 50. Rano, gdy próbuję wyświetlić szacunkowy plan wykonania dla zapytania SELECT TOP 100 , napotykam ogromne oczekiwania, a operacja renderowania szacowanego planu zajmuje minuty, często w zakresie …

1
Czy SQL Server 2017, w tym starsze wersje, obsługuje rozmiary sektorów dysku 8k?
Napędy dyskowe (luźno sformułowane, że obejmują nie tylko nośniki obrotowe, ale także nośniki nierotacyjne [SSD, NVMe itp.]), Wciąż ewoluują w swoich podstawowych formatach i sprzęcie. Częścią tego było „ulepszenie” z 512-bajtowych rozmiarów sektorów fizycznych do 4k wielkości sektorów fizycznych, co zmienia układ dysku (512n, 512e, 4kn). Kolejna ewolucja polega na …

1
SET NOCOUNT Błąd w obsłudze połączenia SQL po aktualizacji
Aktualizujemy nasze środowisko testowe o nowy serwer i zaktualizowaną wersję Microsoft SQL Server i napotkaliśmy problem. Na nowym serwerze nasz stary kod otrzyma „operacja nie jest dozwolona, ​​gdy obiekt jest zamknięty” podczas wykonywania niektórych procedur przechowywanych. Ta wiadomość nigdy nie pojawiła się na starym serwerze. Po wyśledzeniu go problem można …

1
Dlaczego PostgreSQL wybiera droższe zamówienie na dołączenie?
PostgreSQL używa domyślnych ustawień plus default_statistics_target=1000 random_page_cost=1.5 Wersja PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Odkurzyłem i przeanalizowałem. Zapytanie jest bardzo proste: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s ON "as".id …

1
Czy indeksy skompresowane programu SQL Server pozostają kompresowane podczas odbudowywania bez określania kompresji danych?
Po odbudowaniu indeksów programu SQL Server za pomocą kompresji strony ( ALTER INDEX IX1 REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)), czy kolejne przebudowy (wykonywane przez niektóre skrypty konserwacji powyżej pewnego progu fragmentacji) muszą ponownie określać kompresję danych? Czy w przeciwnym razie indeksy byłyby skutecznie zdekompresowane?

3
Dlaczego wybranie wszystkich wynikowych kolumn tego zapytania jest szybsze niż wybranie jednej kolumny, na której mi zależy?
Mam zapytanie, w którym użycie select *nie tylko znacznie mniej odczytów, ale także zużywa znacznie mniej czasu procesora niż użycie select c.Foo. To jest zapytanie: select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId = b.OrderId …

2
Przywracanie strony online osiąga limit 1000
Zadanie polegało na próbie odzyskania bazy danych, która uległa uszkodzeniu (z powodu awarii we / wy, która została naprawiona od tego czasu). Nie znam bazy danych ani jej zawartości. Otrzymałem starą (~ 3 tygodnie) pełną kopię zapasową i serię dzienników transakcji ... jednak brakuje dzienników transakcji, więc mogę odzyskać dane …


2
Problem oszacowania liczności przy złączeniu wewnętrznym
Próbuję zrozumieć, dlaczego szacowanie wierszy jest tak bardzo błędne, oto mój przypadek: Proste dołączanie - przy użyciu SQL Server 2016 sp2 (ten sam problem na sp1), dbcompatiblity = 130. select Amount_TransactionCurrency_id, CurrencyShareds.id from CurrencyShareds INNER JOIN annexes ON Amount_TransactionCurrency_id = CurrencyShareds.Id option (QUERYTRACEON 3604, QUERYTRACEON 2363); SQL szacuje 1 wiersz, …

2
Czy istnieje skuteczny sposób, aby zobaczyć przyczynę „Ciąg znaków lub dane binarne zostałyby obcięte”?
Jest to kontynuacja tego pytania . Jest to również związane z tym żądaniem funkcji od firmy Microsoft. Minęło jednak wiele lat i od czasu zgłoszenia pojawiło się na rynku kilka ważnych wydań. Pytanie: czy SQL Server 2017 zapewnia jakiś mechanizm ułatwiający znalezienie podstawowej przyczyny tego błędu? Czy jest to tak …


1
Nazwa tabeli programu SQL Server rozpoczynająca się od # w bazie danych użytkowników, nie w tempdb, nie w tabeli tymczasowej
Jakiś dekad temu w naszej bazie danych utworzono tabelę zaczynającą się od #. Pokazuje się w Object Explorer w bazie danych aplikacji, a nie w tempdb. Z jakiegoś powodu Azure nie zaimportuje takiej bazy danych. Nie możemy go upuścić, zmienić jego nazwy ani wchodzić w interakcje. Próbowałem usunąć z Object …

1
PostgreSQL 9.5 nie uruchomi się po jesiennej aktualizacji systemu Windows 10
Zainstalowałem aktualizację Windows 10 Fall (1709) i teraz mój serwer PostgreSQL 9.5 nie chce się uruchomić. Działało wczoraj przed aktualizacją i nie wprowadziłem żadnych zmian w konfiguracji. Sprawdziłem przeglądarkę zdarzeń i znalazłem następujące komunikaty o błędach: 2017-10-19 11:32:32 CEST LOG: invalid value for parameter "lc_monetary": "Czech_Czech Republic.1250" 2017-10-19 11:32:32 CEST …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.