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
Plan wykonania z wieloma brakującymi indeksami
Jeśli uruchomisz zapytanie z „Uwzględnij rzeczywisty plan wykonania”, plan zasugeruje również brakujące indeksy. Szczegóły indeksu znajdują się wewnątrz MissingIndexesznacznika w pliku XML. Czy zdarza się sytuacja, gdy plan zawiera wiele propozycji indeksu? Próbowałem różnych zapytań SQL, ale nie mogłem znaleźć żadnego zapytania, które generuje dwa lub więcej brakujących indeksów.

2
Jak sprawdzić, czy nie ma znaków Ascii
Jaki jest najlepszy sposób sprawdzenia, czy pole VARCHAR zawiera postacie inne niż ascii? CHAR(1)poprzez CHAR(31)i CHAR(127)dzięki CHAR(255). Próbowałem użyć PATINDEXi napotkałem następujący problem. Sprawdzanie dolnego zakresu działało poprawnie. SELECT * FROM mbrnotes WHERE PATINDEX('%[' + CHAR(1)+ '-' +CHAR(31)+']%',LINE_TEXT) > 0 Moje dane miały trzy rekordy z 0x1E i wszystkie trzy …


2
Nowsza wersja programu SQL Server jest mniej stabilna?
Nasz architekt bazy danych powiedział naszemu klientowi, że SQL Server 2014 jest złym wyborem w stosunku do 2012 r., Ponieważ brakuje mu lepszej wydajności i stabilności niż 2012. Wszystko, co przeczytałem, przeczy temu. Aaron Bertrand mówi dokładnie odwrotnie i zgadzają się też wszystkie białe księgi, które przeczytałem ze stwardnienia rozsianego …

1
Wskaźniki potwierdzające lub obalające potrzebę dodatkowych DBA?
Obecnie mamy 2 DBA, ja i jeszcze jednego faceta, i oboje odczuwamy potrzebę dodatkowego zasobu (lub dwóch). Kilka razy rozmawiałem na ten temat z moim bezpośrednim kierownikiem, ale mam trudności ze sprzedażą tego pojęcia. Ostatnio nasz menedżer powiedział nam, że naprawdę dobrze jest wymyślić listę „miękkich wartości” rzeczy, które chcemy …

3
Dlaczego moje zapytanie EXISTS wykonuje skanowanie indeksu zamiast wyszukiwania indeksu?
Pracuję nad optymalizacją niektórych zapytań. W przypadku poniższego zapytania SET STATISTICS IO ON; DECLARE @OrderStartDate DATETIME2 = '27 feb 2016'; DECLARE @OrderEndDate DATETIME2 = '28 feb 2016'; SELECT o.strBxOrderNo , o.sintOrderStatusID , o.sintOrderChannelID , o.sintOrderTypeID , o.sdtmOrdCreated , o.sintMarketID , o.strOrderKey , o.strOfferCode , o.strCurrencyCode , o.decBCShipFullPrice , o.decBCShipFinal , …

3
Kopie zapasowe dziennika transakcji Szeregowe czy równoległe?
Zdarza się, że używamy SQL Server 2012 Standard Edition. Zdarza się również, że używam skryptów Oli Hallengren do zapewnienia łatwej, bardziej elastycznej struktury do wykonywania kopii zapasowych i konserwacji. To pytanie dotyczy nie tyle skryptów Oli, ile najlepszych praktyk. Zdaję sobie sprawę, że ostateczną odpowiedzią jest „to zależy od wymagań …

3
Procedura przechowywana bazy danych z „trybem podglądu”
Dość powszechnym wzorcem w aplikacji bazy danych, z którą pracuję, jest potrzeba utworzenia procedury składowanej dla raportu lub narzędzia, które ma „tryb podglądu”. Gdy taka procedura dokonuje aktualizacji, ten parametr wskazuje, że wyniki akcji powinny zostać zwrócone, ale procedura nie powinna faktycznie wykonywać aktualizacji bazy danych. Jednym ze sposobów na …
15 sql-server  t-sql 


1
Domyślna pula zasobów nie ma wystarczającej ilości pamięci systemowej do uruchomienia tego zapytania
Używam SQL Server 2014 - 12.0.2269.0 (X64) w systemie Windows Server 2012 i mam problemy z pamięcią. Po uruchomieniu procedury składowanej, która wykonuje dość „ciężkie” obliczenia, pojawia się błąd po około 10 minutach: Domyślna pula zasobów jest niewystarczająca do uruchomienia tego zapytania. Mój SQL Server ma wiele baz danych (np. …

2
Głębokość rekurencyjnego potomka PostgreSQL
Muszę obliczyć głębokość potomka na podstawie jego przodka. Kiedy rekord ma object_id = parent_id = ancestor_id, jest uważany za węzeł główny (przodek). Próbowałem WITH RECURSIVEuruchomić zapytanie w PostgreSQL 9.4 . Nie kontroluję danych ani kolumn. Schemat danych i tabeli pochodzi z zewnętrznego źródła. Stół stale rośnie . Obecnie około 30 …

2
DDL_admin vs uprawnienia db_owner
Przejmuję projekt polegający na usuwaniu i ograniczaniu uprawnień wszystkich użytkowników baz danych w naszej farmie serwerów. (dobre czasy) Jednym z obecnie ograniczanych uprawnień są uprawnienia db_owner. To uprawnienie jest sprawdzane indywidualnie dla każdego przypadku, ale częstą zmianą jest zastąpienie uprawnień db_owner następującymi: db_datareader db_datawriter db_ddladmin db_executor Chciałbym zdefiniować dokładną różnicę …

4
jak zapytać SSISDB, aby znaleźć błędy w pakietach?
Widziałem to pytanie SSIS 2012 - jak zapytać o aktualnie uruchomione pakiety w T-SQL? Daje mi następujący skrypt: SELECT E.execution_id , E.folder_name , E.project_name , E.package_name , E.reference_id , E.reference_type , E.environment_folder_name , E.environment_name , E.project_lsn , E.executed_as_sid , E.executed_as_name , E.use32bitruntime , E.operation_type , E.created_time , E.object_type , E.object_id …

5
Tworzenie kopii zapasowych i przywracanie 10-20 baz danych SQL Server do ~ stanu synchronicznego?
Muszę wykonać kopię zapasową 10-20 baz danych SQL Server 2008 R2 o rozmiarach między 10-50 GB, podczas gdy są one online i są używane jednocześnie przez jedną aplikację dla przedsiębiorstw. Muszę też przywrócić je do stanu, który jest w dużej mierze zsynchronizowany we wszystkich bazach danych (mogę sobie pozwolić na …

2
Dlaczego szacunki wierszy programu SQL Server zmieniają się, gdy dodam wskazówkę dotyczącą przyłączenia?
Mam zapytanie, które łączy kilka tabel i działa dość źle - oszacowania wierszy są znacznie (1000 razy) wyłączone, a połączenie zagnieżdżonych pętli jest wybrane, co powoduje wielokrotne skanowanie tabeli. Kształt zapytania jest dość prosty, wygląda mniej więcej tak: SELECT t1.id FROM t1 INNER JOIN t2 ON t1.id = t2.t1_id LEFT …

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.