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



2
Dlaczego funkcje o wartościach skalarnych wymagają uprawnień do wykonywania, a nie wyboru?
Zastanawiam się, dlaczego w przypadku funkcji o wartości skalarnej muszę przyznać użytkownikowi wykonanie, a nie tylko wybór? tymczasem funkcje cenione w tabeli działają dobrze, tylko z uprawnieniami do wyboru lub db_datareaderczłonkostwem. dla lepszego wyjaśnienia oto mój przykład: potrzebuję użytkownika, który ma uprawnienia tylko do odczytu do bazy danych. więc utworzyłem …

1
Zapytania współdzielone przez użytkownika: Dynamiczny SQL vs. SQLCMD
Muszę przeformułować i udokumentować szereg foo.sqlzapytań, które będą udostępniane przez zespół wsparcia technicznego DB (w przypadku konfiguracji klienta i tym podobnych). Istnieją rodzaje biletów, które przychodzą regularnie, gdy każdy klient ma własne serwery i bazy danych, ale poza tym schemat jest taki sam we wszystkich obszarach. Procedury przechowywane nie są …

3
Wdrożenie systemu kontroli wersji za pomocą MySQL
Wiem, że pytano o to tu i tutaj , ale mam ten sam pomysł z inną możliwą implementacją i potrzebuję pomocy. Początkowo miałem swój blogstoriesstół o tej strukturze: | Column | Type | Description | |-----------|-------------|------------------------------------------------| | uid | varchar(15) | 15 characters unique generated id | | title | …

2
Jednoczesne wywołania tej samej funkcji: w jaki sposób występują zakleszczenia?
Moja funkcja new_customerjest wywoływana kilka razy na sekundę (ale tylko raz na sesję) przez aplikację internetową. Pierwszą rzeczą, jaką robi, jest zablokowanie customertabeli (wykonanie „wstaw, jeśli nie istnieje” - prosty wariant upsert). Rozumiem te dokumenty, że inne wywołania new_customerpowinny po prostu stać w kolejce, aż wszystkie poprzednie połączenia zakończą się: …

2
Indeks trwałej kolumny obliczeniowej nie jest widoczny
Mam tabelę o nazwie Address, która ma utrwaloną kolumnę obliczeniową o nazwie Hashkey. Kolumna jest deterministyczna, ale nieprecyzyjna. Ma unikalny indeks, którego nie można zobaczyć. Jeśli uruchomię to zapytanie, zwracam klucz podstawowy: SELECT @ADDRESSID= ISNULL(AddressId,0) FROM dbo.[Address] WHERE HashKey = @HashKey Dostaję ten plan: Jeśli wymuszę indeks, otrzymam ten jeszcze …


1
sp_cursoropen i równoległość
Występuje problem z wydajnością związany z zapytaniem, które wydaje się niemożliwe. Wyciągnąłem zapytanie z definicji kursora. Wykonanie tego zapytania zajmuje kilka sekund SELECT A.JOBTYPE FROM PRODROUTEJOB A WHERE ((A.DATAAREAID=N'IW') AND ((A.CALCTIMEHOURS<>0) AND (A.JOBTYPE<>3))) AND EXISTS (SELECT 'X' FROM PRODROUTE B WHERE ((B.DATAAREAID=N'IW') AND (((((B.PRODID=A.PRODID) AND ((B.PROPERTYID=N'PR1526157') OR (B.PRODID=N'PR1526157'))) AND (B.OPRNUM=A.OPRNUM)) …

4
Jak przekonwertować klucz w raporcie zakleszczenia programu SQL Server na wartość?
Mam raport impasu, który mówi mi, że wystąpił konflikt dotyczący waitresource = "KEY: 9: 72057632651542528 (543066506c7c)" i widzę to: <keylock hobtid="72057632651542528" dbid="9" objectname="MyDatabase.MySchema.MyTable" indexname="MyPrimaryKeyIndex" id="locka8c6f4100" mode="X" associatedObjectId="72057632651542528"> w ramach <resource-list>. Chcę być w stanie znaleźć rzeczywistą wartość klucza (na przykład id = 12345). Jakiej instrukcji SQL musiałbym użyć, aby uzyskać …

4
Dlaczego klucz powinien być wyraźny?
Jestem bardzo nowy w temacie baz danych, więc może to zabrzmieć nieświadomie, ale jestem ciekawy, dlaczego klucz powinien być wyraźnie określony w tabeli. Czy to przede wszystkim po to, aby powiedzieć użytkownikowi, że podana wartość kolumny ma (miejmy nadzieję) niepowtarzalność w każdym wierszu? Ta wyjątkowość powinna nadal istnieć, nawet jeśli …

1
Czy jest jakaś różnica między „LIMIT 0, 1” a „LIMIT 1”?
Ostatnio natknąłem się na przykładowe kody, które różniły się tymi notacjami. SELECT * FROM table LIMIT 0, 1 SELECT * FROM table LIMIT 1 Pierwszy argument należy uznać za przesunięcie, jeśli się nie mylę, celem tych dwóch zapytań jest ograniczenie wyboru do pierwszego wiersza table Czy pomijanie offsetu ma jakiś …
15 mysql 


2
Unikaj wyjątkowych naruszeń transakcji atomowych
Czy możliwe jest utworzenie transakcji atomowej w PostgreSQL? Rozważ, że mam kategorię tabeli z tymi wierszami: id|name --|--------- 1 |'tablets' 2 |'phones' A nazwa kolumny ma unikalne ograniczenie. Jeśli spróbuję: BEGIN; update "category" set name = 'phones' where id = 1; update "category" set name = 'tablets' where id = …

1
Przeczytaj częściowo zaktualizowany wiersz?
Powiedzmy, że mam dwa zapytania uruchomione w dwóch osobnych sesjach w SSMS: Pierwsza sesja: UPDATE Person SET Name='Jonny', Surname='Cage' WHERE Id=42 Druga sesja: SELECT Name, Surname FROM Person WITH(NOLOCK) WHERE Id > 30 Czy to możliwe, że SELECTinstrukcja może odczytać częściowo zaktualizowany wiersz, na przykład jeden z Name = 'Jonny'i …

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.