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.
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 …
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 …
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, …
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 …
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 …
W SQL Server 2017 (CU3), ilekroć włączę kompresję kopii zapasowej w jednej z moich baz danych TDE, proces tworzenia kopii zapasowej zawsze uszkadza określoną stronę w bazie danych. Jeśli uruchomię kopię zapasową bez kompresji, nie zostanie ona uszkodzona. Oto kroki, które podjąłem, aby zweryfikować i odtworzyć ten problem: Uruchom DBCC …
Trenuję, a jeden ze skryptów ma następującą komendę: SELECT SUM(Col2) FROM clust_table WHERE Col1 % 3 = 1 Chciałbym wiedzieć, do czego służy ten fragment w klauzuli WHERE: Col1 % 3 = 1 Przeprowadziłem badania w Internecie i nie znalazłem żadnych odniesień do tego polecenia.
Plany CACHESTORE_SQLCP Sql zajmują> 38 GB po kilku dniach. Już działamy z opcją „optymalizuj pod kątem obciążeń ad hoc”. (Entity Framework i niestandardowe raporty tworzą wiele ad hoców!) SQL Server 2016 SE 3.00.2164.0.v1 na AWS RDS z funkcją kopii lustrzanej wielu serwerów AZ Kiedy biegnę: DBCC FREESYSTEMCACHE('SQL Plans'); lub DBCC …
Korzystam z programu SQL Server 2014 i taka jest sytuacja: Mam serwer A i serwer B. Nocleg ETL jest przetwarzany na serwerze A. Po zakończy proces ładowania, baza X pobiera kopii zapasowej (z CHECKSUMi RESTORE VERIFYONLYaby zapewnić niezawodność) i następnie wysyłane do serwera B. Serwer B odbiera bakplik, a następnie …
Usiłuję lepiej zrozumieć, jak silnik wykonawczy SQL Server zachowuje się w stanie niskiej pamięci. Mówiąc o dotacjach pamięci, zastanawiam się, czy istnieje jakiś sposób, aby zmusić GrantedMemorydo bycia równym RequiredMemory. (Domyślam się, że istnieje nieudokumentowana flaga śledzenia, która to zrobi. Czy ktoś wie, co to jest?)
Proszę spojrzeć na następujące zapytanie SQL: CREATE TYPE dbo.IN_MEMORY_TABLE_TYPE AS TABLE ( source_col INT NULL, target_col INT not NULL INDEX ix_InMemoryTable NONCLUSTERED (target_col) ) WITH (MEMORY_OPTIMIZED = ON) GO DECLARE @t dbo.IN_MEMORY_TABLE_TYPE INSERT @t ( source_col, target_col ) VALUES (10, 0), (0, 0) UPDATE r1 SET target_col = -1 FROM …
Obsługuję aplikację w dużym przedsiębiorstwie, jedną z moich ról jest czyszczenie danych. Jest pytanie, które muszę wykonywać co godzinę i chciałbym je zautomatyzować. Ze względu na zasady organizacji nie mogę tworzyć zadań agenta SQL Server ani modyfikować schematu, mogę jedynie manipulować danymi. Niekończący się WHILE(1=1) BEGIN WAITFOR DELAY '01:00'; --do …
Po przeczytaniu tego ograniczenia długości LIKE tutaj wygląda na to, że nie mogę wysłać tekstu dłuższego niż ~ 4000 znaków w klauzuli LIKE. Próbuję pobrać plan zapytań z pamięci podręcznej planu zapytań dla określonego zapytania. SELECT * FROM sys.dm_exec_cached_plans AS cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) AS qp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) AS …
Co w programie SQL Server mierzy licznik Perfmon „Statystyki grupy obciążeń: plany nieoptymalne / s”? Jest to jeden z liczników Resource Governor , więc jest mierzony w grupie obciążeń (którą masz niezależnie od tego, czy skonfigurujesz RG, czy nie). Nie pytam, co stanowi dobry lub zły plan, ale co konkretnie …
Stworzyłem skrypt, który usuwa wszystkie klucze obce z bazy danych, tak jak poniżej: ALTER TABLE MyTable1 DROP CONSTRAINT FK_MyTable1_col1 ALTER TABLE MyTable2 DROP CONSTRAINT FK_MyTable2_col1 ALTER TABLE MyTable2 DROP CONSTRAINT FK_MyTable2_col2 Zaskakuje mnie to, że skrypt zajmuje dużo czasu: średnio 20 sekund na każde DROP FK. Rozumiem teraz, że utworzenie …
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.