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
Kompresja kopii zapasowej powodująca uszkodzenie w bazie danych TDE SQL 2017
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 …

4
Co robi% w tej klauzuli WHERE?
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.
13 sql-server  t-sql 

2
Ani DBCC FREEPROCCACHE, ani DBCC FREESYSTEMCACHE („Plany SQL”) nie robią nic, aby zwolnić pamięć CACHESTORE_SQLCP
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 …



1
Niepoprawne zachowanie programu SQL Server 2016 z tabelami zoptymalizowanymi pod kątem pamięci
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 …

3
Automatycznie wykonuj zapytanie w MS SQL Studio co godzinę
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 …

3
Pokonaj ograniczenie długości znaków JAK
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 …

1
Co faktycznie mierzy licznik Perfmon „Nieoptymalne plany / s”?
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 …
13 sql-server 

2
Dlaczego upuszczanie kluczy obcych trwa długo?
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 …


1
Jak mogę zapobiec przekształceniu UNPIVOT w UNION ALL?
Mam nieco złożone zapytanie Oracle, którego wypełnienie zajmuje około pół godziny. Jeśli wezmę wolną część zapytania i uruchomię je osobno, zakończy się w ciągu kilku sekund. Oto zrzut ekranu raportu SQL Monitor dla izolowanego zapytania: Oto ta sama logika podczas uruchamiania w ramach pełnego zapytania: Kolory odpowiadają tym samym tabelom …

4
Jak przekonwertować pierwsze 100 milionów dodatnich liczb całkowitych na ciągi?
Jest to trochę odwrócenie uwagi od prawdziwego problemu. Jeśli pomaga kontekst, generowanie tych danych może być przydatne do testowania wydajności metod przetwarzania ciągów, do generowania ciągów, które wymagają pewnej operacji zastosowanej wobec nich w obrębie kursora, lub do generowania unikalnych, anonimowych zamienników nazw dla wrażliwych danych. Interesują mnie tylko wydajne …


1
Różnica między „i” a „&”
Próbuję zrozumieć kolejność wykonywania operacji logicznych i mam następujący kod: declare @T bit ='TRUE' declare @F bit ='False' print @T and @F i zwraca błąd jako Niepoprawna składnia w pobliżu słowa kluczowego „i”. Zamieniłem „i” na „&”, a kod znów działa. Dlaczego poprzedni kod nie działał? Używam serwera SQL.
13 sql-server  t-sql 

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.