Tworzę bazę danych, w której będzie około 30 tabel, z których każda zawiera dziesiątki milionów wierszy, a każda tabela zawiera jedną ważną kolumnę i kolumnę klucza głównego / obcego, aby zmaksymalizować wydajność zapytań w obliczu dużego aktualizacje i wstawienia oraz intensywne wykorzystanie indeksów klastrowych. Dwie tabele będą zawierać dane tekstowe …
Mamy bazę danych dla produktu, który wymaga dużego zapisu. Właśnie kupiliśmy nowy serwer z dyskiem SSD, aby pomóc. Ku naszemu zdziwieniu wstawki nie były szybsze niż na naszej starej maszynie z dużo wolniejszym przechowywaniem. Podczas testów porównawczych zauważyliśmy, że wskaźnik operacji we / wy wykazywany przez proces SQL Server był …
Mamy wiele komputerów, na których wstępnie przypisaliśmy rozmiar dziennika transakcji do 50 GB. Rozmiar stołu, który próbuję zreorganizować, wynosi 55–60 GB, ale będzie się stale zwiększał. Głównym powodem, dla którego chcę się zreorganizować, jest odzyskanie miejsca i wszelkie korzyści związane z wydajnością z tego powodu to dodatkowy bonus. Poziom fragmentacji …
Wyobraź sobie, że masz dwie różne tabele / zapytania, które powinny mieć / zwracać identyczne dane. Chcesz to zweryfikować. Jaki jest łatwy sposób na wyświetlenie niepasujących wierszy z każdej tabeli, tak jak w poniższym przykładzie, porównując każdą kolumnę? Załóżmy, że w tabelach znajduje się 30 kolumn, z których wiele ma …
Mam bazę danych SQL Server 2008, która ma plik danych o wielkości około 2 GB, ale plik dziennika ma ponad 8 GB. W przypadku baz danych sprzed 2008 r. Mogłem skorzystać z „Dziennika kopii zapasowych” i TRUNCATE_ONLYopcji, ale nie jest to już dostępne w przypadku baz danych z 2008 r. …
Mam aplikację ASP.NET MVC, która działa z bazą danych w wersji SQL Server 2008 R2 Express. Istnieje potrzeba regularnego wykonywania aktualizacji niektórych rekordów w bazie danych. Niestety w wersji Express Edition brakuje agenta SQL. Jakie podejście poleciłbyś?
Wybacz, jestem programistą, który przeniósł się do świata SQL. Myślałem, że mogę poprawić trochę SQL, dodając zmienne, ale nie działało to tak, jak się spodziewałem. Czy ktoś może mi powiedzieć, dlaczego to nie działa? Nie chcę się obejść, chcę poznać powody, dla których to nie działa tak, jak wyobrażam sobie, …
Czy dodanie DISTINCTw poniższym przykładzie ma wpływ na czas wykonywania zapytania? Czy czasem warto używać go jako podpowiedzi? SELECT * FROM A WHERE A.SomeColumn IN (SELECT DISTINCT B.SomeColumn FROM B)
Muszę przekonwertować dane między dwoma systemami. Pierwszy system przechowuje harmonogramy jako zwykłą listę dat. Każda data uwzględniona w harmonogramie to jeden wiersz. W sekwencji dat mogą występować różne luki (weekendy, święta i dłuższe przerwy, niektóre dni tygodnia mogą zostać wyłączone z harmonogramu). Nie może być żadnych luk, nawet weekendy mogą …
Przechodzimy z SQL 2005 [Instancja i DB mają sortowanie SQL_Latin1_General_CP1_CI_AS] do SQL 2008 [domyślnie to Latin1_General_CI_AS]. Ukończyłem instalację SQL 2008 R2 i użyłem domyślnego Latin1_General_CI_ASsortowania z przywracaniem bazy danych SQL_Latin1_General_CP1_CI_AS. Wystąpiły wyjątki - tabele #temp, w których Latin1_General_CI_ASznajdował się czas db SQL_Latin1_General_CP1_CI_ASi to jest miejsce, w którym teraz jestem - …
MS SQL 2008 obsługuje TVP: przydatną funkcję do masowego przesyłania danych do przechowywanej procedury przetwarzania. Czy zamiast utworzyć typ zdefiniowany przez użytkownika, można wykorzystać istniejącą definicję tabeli? Na przykład, czy można utworzyć zapisaną procedurę z następującym podpisem? CREATE PROCEDURE usp_InsertProductionLocation @TVP **LocationTable** READONLY Dokumentacja wydaje się sugerować, że nie jest …
Mam problem, z którym spotykam się za każdym razem, gdy decyduję się na zbudowanie sześcianu, i jeszcze nie znalazłem sposobu na jego rozwiązanie. Problem polega na tym, jak zezwolić użytkownikowi na automatyczne definiowanie zakresu rzeczy bez konieczności kodowania ich na stałe w wymiarze. Wyjaśnię mój problem na przykładzie. Mam tabelę …
Czy można utworzyć alias lub synonim bazy danych? Mam nadzieję, że będę w stanie zrobić NewDatabaseName aliasowany jako OldDatabaseName, aby uniknąć konieczności przepisywania ton kodu. Backstory: Klient podszedł do mnie z absurdalnym problemem wywołanym przez samego siebie. Mają aplikację innej firmy, która ma zaplecze serwera SQL. Użytkownicy piszą niestandardowe raporty …
Próbuję utworzyć tabelę w Management Studio i po przeczytaniu o nowej funkcji (od SQL 2005) NEWSEQUENTIALID()pomyślałem, że dam jej szansę. Oto co robię: Ale to nie pozwala mi. Otrzymuję komunikat o błędzie: 'FormTemplate (Forms)' table - Error validating the default for column 'FormTemplateId'. Czy brakuje mi tutaj podstępu? Na pewno …
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.