Wszystkie wersje Microsoft SQL Server (nie MySQL). Dodaj również tag specyficzny dla wersji, np. Sql-server-2016, ponieważ często jest on odpowiedni dla pytania.
Pytanie: declare @X xml = ' <item ID = "0"/> <item ID = "1"/> <item/> <item/>'; select I.X.value('@ID', 'int') from @X.nodes('/item') as I(X); Wynik: ----------- 0 1 NULL NULL Plan wykonania: Górna gałąź niszczy XML do czterech wierszy, a dolna gałąź pobiera wartość atrybutu ID. To, co wydaje mi się …
W wystąpieniu programu SQL Server 2014 z wystarczającą ilością pamięci RAM i szybkimi dyskami ponad 160 użytkowników ma dostęp do bazy danych. Z jakiegoś powodu mi nie wiadomo, uruchomienie polecenia DROP USER [username]w tej bazie danych trwa do 5 sekund na użytkownika. Ponowne przypisywanie użytkowników do loginów i przywracanie ich …
To kolejna zagadka optymalizatora zapytań. Może po prostu przeszacowuję optymalizatory zapytań, a może coś mi brakuje - więc zamieszczam to. Mam prosty stół CREATE TABLE [dbo].[MyEntities]( [Id] [uniqueidentifier] NOT NULL, [Number] [int] NOT NULL, CONSTRAINT [PK_dbo.MyEntities] PRIMARY KEY CLUSTERED ([Id]) ) CREATE NONCLUSTERED INDEX [IX_Number] ON [dbo].[MyEntities] ([Number]) z indeksem …
Natknąłem się na problem, w którym CASEwyrażenie nie zwraca tego, czego oczekuję. W ramach testu dodałem zmienną dziesiętną i uruchomiłem CASEprzeciwko niej to samo wyrażenie i działa ono dobrze, zwracając wyniki zgodnie z oczekiwaniami (zaokrąglając wartość w górę, kiedy IsGun=1. Ale kiedy uruchamiam to samo CASEwyrażenie względem innej wartości dziesiętnej, …
Czy ktoś może zacytować mi scenariusz z prawdziwego świata, gdy zmiana wielu grup plików na tylko do odczytu jest dobrą opcją i kiedy z nich korzystać? Jakie są korzyści, jeśli ustawisz opcję tylko do odczytu? Czy w bazie danych z wieloma aplikacjami musisz wykonać kopie zapasowe dla całej bazy danych, …
Mam wymaganie biznesowe, aby każdy rekord w tabeli faktur miał identyfikator, który wygląda jak YYYYNNNNNN. Część NNNNNN musi zostać uruchomiona ponownie na początku każdego roku. Tak więc pierwszy wiersz wprowadzony w 2016 roku będzie wyglądał jak 2016000001, a drugi jak 2016000002 itd. Powiedzmy, że ostatni rekord dla 2016 roku to …
Mam tabelę SQL Server z ponad 3 miliardami wierszy. Jedno z moich zapytań zajmuje bardzo dużo czasu, dlatego rozważam jego optymalizację. Zapytanie wygląda następująco: SELECT [Enroll_Date] ,Count(*) AS [Record #] ,Count(Distinct UserID) AS [User #] FROM UserTable GROUP BY [Enroll_Date] [Data rejestracji] to kolumna o niskiej selektywności z mniej niż …
Przykład Mam stolik ID myField ------------ 1 someValue 2 NULL 3 someOtherValue oraz wyrażenie logiczne T-SQL, które może mieć wartość PRAWDA, FAŁSZ lub (ze względu na logikę potrójną SQL) NIEZNANE: SELECT * FROM myTable WHERE myField = 'someValue' -- yields record 1 Jeśli chcę uzyskać wszystkie inne rekordy , nie …
Mam zapytanie, które korzysta z funkcji w predykacie, mniej więcej tak: commentType = 'EL' AND commentDateTime >= DATEADD(month,datediff(month,0,getdate()) - 13,0) Mam filtrowany indeks na commentType, który ma 40 tys. Wierszy, a kiedy uruchamiam zapytanie, szacunkowa liczba wierszy dla szukania indeksu jest bardzo dokładna (około 11 tys.), Ale w następnym kroku …
Mamy instancję, która losowo przyspiesza procesor. Chcę utworzyć alert, który uruchamia się na procesorze powyżej 90% i automatycznie wywołuje zadanie, które uruchamia się sp_AskBrenti wysyła mi wiadomość e-mail z danymi wyjściowymi. Jednak wynik jest nieczytelny ani w tekście, ani w formacie HTML. Nie pasuje nawet do arkusza kalkulacyjnego Excel. Jak …
Mam do czynienia z kilkoma powtarzającymi się zakleszczeniami, z których jeden to Keylock i zawiera zapytanie SELECT z podpowiedź XLOCK, która staje się ofiarą impasu. Drugą instrukcją jest INSERT w jednej z tabel, która jest częścią widoku pierwszego zapytania. Widok: create view dbo.viewE as select * from dbo.E where myValue …
Czy są jakieś zalety używania Narzędzi stron trzecich do tworzenia kopii zapasowych? Nie odnoszę się w szczególności do jednego, ale chcę wiedzieć, czy ktoś używa ich do DB większej niż 200 GB. Serwery to głównie MSSQL 2008R2, Standard i Enterprise Edition.
W projekcie bazy danych, nad którym obecnie pracuję, wymagana jest zmiana „starych” danych na „tylko do odczytu”. Czy jest to możliwe w SQL Server? Nie mogę zmienić uprawnienia do tabeli, ponieważ uprawnienie tylko do odczytu powinno mieć zastosowanie tylko do danych starszych niż określony próg, tzn. Użytkownicy powinni nadal mieć …
Mam na nim tabelę i indeksowany widok Create table mytable1 (ID int identity(1,1), Name nvarchar(100)) Create table mytable2 (ID int identity(1,1), Name nvarchar(100)) Create view myview with schemabinding as select a.name, b.name from mytable1 a join mytable2 b on a.Id = b.Id Teraz jeśli uruchomię następujące zapytanie select a.name, b.name …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.