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

5
Próby odzyskania nieużywanego miejsca powodują znaczne zwiększenie używanego miejsca w programie SQL Server
Mam tabelę w produkcyjnej bazie danych o wielkości 525 GB, z czego 383 GB jest nieużywane: Chciałbym odzyskać trochę tego miejsca, ale zanim zacznę działać z produkcyjną bazą danych, testuję niektóre strategie na identycznej tabeli w testowej bazie danych z mniejszą ilością danych. W tej tabeli występuje podobny problem: Niektóre …

2
SQL Server 2017 z 500 bazami danych - częste AG rozłącza się od CU9
Witam wszystkich i z góry dziękuję za pomoc. Mamy problemy z grupami dostępności programu SQL Server 2017. tło Firma jest detalicznym oprogramowaniem zaplecza B2B. Około 500 baz danych dla pojedynczych najemców i 5 wspólnych baz danych używanych przez wszystkich najemców. Charakterystyka obciążenia jest czytana głównie, a większość baz danych ma …



2
Indeks magazynu kolumn w grupie plików tylko do odczytu zapobiega CheckDB
Wygląda na to, że ustawia grupę plików, aby read_onlyzapobiegać dbcc checkdbcałej bazie danych, jeśli grupa plików zawiera indeks magazynu kolumn. Podczas próby uruchomienia checkdblub checkfilegroup( dla dowolnej grupy plików w bazie danych, w tym plików pomocniczych do odczytu i zapisu oraz[PRIMARY] ), zwracany jest następujący błąd ... Msg 8921, Level …

2
Jak znaleźć zapytanie, które nadal trzyma blokadę?
Zapytanie sys.dm_tran_locksDMV pokazuje nam, które sesje (SPID) blokują zasoby, takie jak tabela, strona i wiersz. Czy dla każdej nabytej blokady jest jakiś sposób ustalenia, która instrukcja SQL (usuń, wstaw, aktualizuj lub wybierz) spowodowała tę blokadę? Wiem, że most_recent_query_handlekolumnasys.dm_exec_connections DMV podaje nam tekst ostatnio wykonanego zapytania, ale kilka razy inne zapytania …

1
Słabo wydajne podzapytanie z porównywaniem dat
Podczas korzystania z podzapytania w celu znalezienia całkowitej liczby wszystkich poprzednich rekordów z pasującym polem wydajność jest okropna na stole z zaledwie 50 000 rekordów. Bez podzapytania zapytanie jest wykonywane w ciągu kilku milisekund. W przypadku podzapytania czas wykonania jest wyższy niż minuta. W przypadku tego zapytania wynik musi: Uwzględnij …

1
Dlaczego COALESCE w podzapytaniu zwraca NULL?
Biorąc pod uwagę ten schemat: CREATE TABLE #TEST_COALESCE ( Id int NOT NULL, DateTest datetime NOT NULL, PRIMARY KEY (Id, DateTest) ); INSERT INTO #TEST_COALESCE VALUES (1, '20170201'), (1, '20170202'), (1, '20170203'), (2, '20170204'), (2, '20170205'), (2, '20170206'); Jeśli użyję COALESCE w podzapytaniu, zwraca NULL. SELECT t1.Id, t1.DateTest, (SELECT TOP …
15 sql-server 


3
Ścieżka binarna w preferencjach pgAdmin
Zainstalowałem PostgreSQL, ponieważ muszę przywrócić duży .backupplik, który otrzymałem do przesłania na inną platformę (to 38 milionów wierszy, które najwyraźniej były zbyt duże, aby osoba mogła je wyeksportować w inny sposób). Kiedy próbuję „przywrócić” w pgAdmin 4, pojawia się komunikat: Skonfiguruj ścieżkę binarną PostgreSQL w oknie dialogowym Preferencje. Czy to …

6
Zapytanie wyszczególniające różnice między wierszami dla dużej ilości danych
Mam wiele dużych tabel, każda z> 300 kolumnami. Aplikacja, której używam, tworzy „archiwa” zmienionych wierszy, tworząc kopię bieżącego wiersza w tabeli pomocniczej. Rozważ prosty przykład: CREATE TABLE dbo.bigtable ( UpdateDate datetime, PK varchar(12) PRIMARY KEY, col1 varchar(100), col2 int, col3 varchar(20), . . . colN datetime ); Tabela archiwów: CREATE …


2
Dołącz do zapytania zajmującego 11 minut, aby uruchomić tabelę 300 000 wierszy
Wykonanie poniższego zapytania zajmuje ponad 11 minut. SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS next_day FROM `tms_emp_badge_card` …


2
Jak można usunąć SQL za pomocą zapytania podrzędnego
Jeden z naszych programistów dodał następujący kod, aby usunąć zduplikowane rekordy z tabeli: DELETE SubQuery FROM ( SELECT ID ,FK1 ,FK2 ,CreatedDateTime ,ROW_NUMBER() OVER(PARTITION BY FK1, FK2 ORDER BY CreatedDateTime) AS RowNumber FROM Table ) AS SubQuery WHERE RowNumber > 1 Przeglądając kod, założyłem, że nie zadziała, jednak testowanie go …

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.