#sqlserver najlepsze najnowsze

vinteris123 2025-04-16 18:59:18 +1
Cześć wszystkim,
Czy mógłby ktoś polecić jakiś kurs na udemy z SQL?
Samego SQL ogarniam całkiem nieźle, chodzi mi bardziej o zaawansowane rzeczy typu indeksowanie, sprawdzanie obciążeń zapytań, etc.
Na udemy są kursy, ale bez właśnie tej zaawansowanej wiedzy.
#sql #sqlserver #pracait
Jaskolka_wiony_nie_czyni 2025-04-16 19:06:04 +1
@vinteris123:
Masz dokumentację techniczną np na stronie mysql. Jest książka "Murach's MySQL".
masiakla 2025-04-16 19:10:19 +2
@vinteris123: jak chcesz wiedzieć więcej o bazach advanced to raczej poszukaj sobie jak działają drzewa btree/btree+. o partycjonowaniu znajdziesz już w dokumentacji, bo to różniej wygląda pomiędzy bazami. do tego coś trochę o hash tables, linked lists, listy "tries and skip", jeszcze kilka bym mógł dorzucić. tutoriale do explain też znajdziesz, performance na różnych bazach się różnie robi. ja bym na twoim miejscu poczytał bardziej o shardingu, partycjonowaniu tabel/całych baz i cap theorem, pecelc, tap model, tuning triangle. te rzeczy bardziej się tobie do pracy przydadzą niż jakieś głębokie zaglądanie jak działa mysql czy inny, ja to robię po latach pracy for fun. jak masz pytania to wal. może dlatego nie możesz znaleźć bo też do końca nie wiesz czego szukać. możesz też normalizacji i denormalizacji
pokaż komentarze (2)
Vojak 2024-11-14 14:47:16 +0
Czy jest jakieś narzędzie w Microsoft SQL Server Express (np. w Data Management Studio) lub ewentualnie pełnej wersji SQL Server, które monitorowałoby folder na dysku Windows, w którym jak pojawi się plik CSV z jednym rekordem to ten rekord zostanie dodany jako wiersz do tabeli w bazie danych?

Zasada działania:

1. W Folderze X pojawia się plik CSV z jednym wierszem danych
2. SQL Server wykrywa, że ten plik się pojawił, pobiera z niego ten wiersz i wpisuje go jako rekord do tabeli w bazie.
3. Po wykonaniu tej operacji najlepiej jakby ten plik został usunięty albo przeniesiony do jakiegoś archiwalnego folderu.

ChatGPT podpowiada skrypt w Powershellu i harmonogram zadań w Windows ale może jest jakieś prostsze narzędzie?

#sql #sqlserver #programowanie #naukaprogramowania
WhiskyRomeo 2024-11-14 14:52:19 +0
@Vojak da się obserwować system plików, np przez C# i dodawać do bazy co tam chcesz. Ale to bardziej program niż narzędzie. Zaleta to zachowanie zbliżone do triggera niż za pomocą schedule.
Loginconajmniej4znaki 2024-11-14 15:00:09 +0
@Vojak: jeżeli akceptujesz rozwiązanie które nie monitoruje folderu tylko jest uruchamiane po prostu co określony czas to można to załatwić paczką ssis uruchamianą np przez sql server agenta, roboty na 5 minut
pokaż komentarze (2)
adiczuk 2024-07-17 14:57:29 +0
Czy ktoś ma do polecenia jakiś w miarę tani hosting, który będzie miał tylko MSSQL Server (bez dodatkowych usług)? #sql #sqlserver #mssql #hosting
c.....s 2024-07-17 15:07:24 +0
@adiczuk: hostowanie sql servera to nie będzie w miare tanie jakkolwiek.. chyba ze się mylę. Albo to jakaś mini wersja ma być, współdzielona baza a nie cały serwer. Powiedź lepiej po co ( ͡° ͜ʖ ͡°)
adiczuk 2024-07-17 15:09:21 +0
@cohontes no jak najbardziej może być współdzielona baza. Po prostu potrzebuję czegoś na zewnątrz pod moj kolejny g---o projekt
pokaż komentarze (2)
tomekszz 2024-01-07 21:05:38 +1
#it #bazydanych #sql #sqlserver #mysql #informatykmops

Siema, mam problem z połączeniem się na serwer MySQL. Próbuję uruchomić przez xamppa serwer MySQL i nie może się uruchomić. Na localhoscie też nie mogę wejść do phpmyadmin i wyskakuje to co na screenie. Wie ktoś w jaki sposób to naprawić? Hasło do roota niestety ale nie wiem jakie jest, a jak próbuję coś zdziałać w terminalu, to prosi mnie o hasło. Jestem początkujący w temacie baz danych, więc proszę o wyrozumiałość.
noipmezc 2024-01-07 21:09:07 +1
@tomekszz: wlacz xampp control panel i kliknij w ten guzik zaznaczony na obrazku to otworzy sie config mysql i tam masz haslo. Domyslnie zdaje sie ze jest bez
tomekszz 2024-01-07 21:21:05 +0
@noipmezc: Na macu jestem i mam tylko coś takiego:
pokaż komentarze (10)
Login_login 2023-12-02 17:55:18 +0
Na świeżo zainstalowanym Windows Serwer 2022 mam SQL Server 2021, no i ze stacji roboczej nie mogę połączyć się z bazą danych na tym serwerze. Jak wyłączę na serwerze firewall to łączy się. Jak tylko włączę firewall to mam błąd połączenia, mimo że w regułach przychodzących mam zezwolenie na porcie TCP 1433. Dodałem również zezwolenie dla aplikacji sqlservr.exe. Co ciekawe na jednej ze stacji roboczych nie występuje ten problem, jednak muszę łączyć się po hoście, a nie po adresie IP serwerze.

#serwery #serwerownia #informatyka #komputery #sql #sqlserver
Docx 2023-12-02 18:15:46 +0
@Login_login proponuje zainstalować Wireshark i będziesz wiedział na czym Ci wycina.
PereReverend 2023-12-06 22:32:06 +1
@Login_login 1433 i 1434. Otwieraj porty ale nie wskakuj aplikacji.
E.....y 2023-10-22 17:31:42 +1
Skończyło się miejsce na bazę danych.
""Dla serwerów Microsoft SQL Server Express maksymalny rozmiar bazy danych wynosi 10 GB""

Gdzie najtaniej kupić licencję?
Serwer to domowy komputer, użytkowników jest trzech:)

#sql #sqlserver #microsoft #bazydanych
Supaplex 2023-10-22 17:57:46 +0
@Eustachy_goli_pachy faktycznie tyle używasz? Czasami się okazuje że miejsce zajmują jakieś tabele z logami, które wystarczyć wyczyścić, albo pliki które można trzymać na jakimś zewnetrZynym zasobie, FTP,smb
E.....y 2023-10-22 19:57:14 +0
@Supaplex: to małe biuro księgowe i coś muszę wymyślić. Nigdy nie kupowałem takiej licencji. Co najwyżej na windowsa za kilkadziesiąt zł ;)
maxiek 2023-05-29 23:45:55 +1
Czołem!
Mam niedługo rozmowę techniczną na staż w pewnej firmie, zadania na owym interview będą głównie z t-SQL oraz z SQL Server Integration Services, być może coś związanego z ETL. Podzieli się jakaś dobra dusza informacją, lub własnymi przypuszczeniami jakiego typu zadań mogą mnie tam spotkać? Dziękuję z góry i pozdrawiam.

#sql #mysql #datascience #bazydanych #tsql #sqlserver
Pomarancza008 2023-05-29 23:52:37 +4
@maxiek: kilka luźnych sugestii

Zapytania t-SQL: Możliwe, że zostaniesz poproszony o napisanie złożonych zapytań SQL, które będą wymagały znajomości różnych funkcji, klauzul i operatorów t-SQL. Przykładowe pytania mogą dotyczyć filtrowania, sortowania, grupowania, łączenia tabel, podzapytań itp.

Tworzenie procedur składowanych: Możliwe, że będą Cię prosić o napisanie procedur składowanych w języku t-SQL. Procedury składowane są użyteczne do wielokrotnego wykonywania określonych operacji na bazie danych.

SSIS i ETL: SSIS to narzędzie do integracji danych w środowisku SQL Server. Możesz spodziewać się zadań związanych z tworzeniem pakietów SSIS, które służą do przeprowadzania procesów ETL (Extract, Transform, Load) - wyodrębniania, przekształcania i ładowania danych. Możesz być poproszony o stworzenie prostego pakietu SSIS, który przenosi dane z jednej tabeli do innej lub o wykonanie bardziej zaawansowanych zadań, takich jak łączenie danych z różnych źródeł, filtrowanie, oczyszczanie itp.

Optymalizacja zapytań: Możliwe, że będziesz musiał zaproponować sposoby optymalizacji zapytań SQL lub pakietów SSIS. Wymaga to znajomości technik indeksowania, optymalizacji struktur baz danych i technik wydajnościowych w celu poprawy szybkości i efektywności operacji na bazie danych.
Skyr 2023-04-19 16:24:41 +0
Mam pytanie odnośnie #sql i #tsql

W kolumnie mam ciąg znakowy, przykład:
1. * abcdef * acd * abcd * 1234 * abbb11 *
2. abcd * abcdef * abc * 123 * abdefhh1 *

Zależy mi, aby wydobyć ostatnią wartość od prawej strony pomiędzy znakami * *.
Czyli w tym przypadku:
1. abbb11
2. abdefhh1

Te ciągi znakowe mogą być różnych długości itd.
Próbowałem z SUBSTRING i RIGHT, ale ciągle mam ciągły rozjazd ...

Dodam jeszcze, że wartości na których mi zależy są zawsze ostatnimi pomiędzy właśnie znakami * *

#programowanie #sqlserver #bazydanych
ip5d 2023-04-19 17:20:27 +0
@Skyr reverse(substring(reverse(@twoj_string),2,charindex('*',reverse(@twoj_string),2)-3))
modzelem 2023-04-19 17:28:01 +2
@Skyr: string split zobacz
pokaż komentarze (2)
ShpxLbh 2023-03-23 15:32:28 +3
ten uczuć gdy misternie rozplanowana struktura tabel sql w modelu danych zapełnia się misternie stworzoną aplikacją.
i te linijki logów które przeglądasz i sprawdzasz jakim cudem tego nie s----------ś że tak wszystko pięknie wpada na swoje miejsce (⌐ ͡■ ͜ʖ ͡■)

#programowanie #sqlserver
pilot1123 2023-03-23 15:34:58 +4
@ShpxLbh: za chwilę posadzą przy tym jakiegoś stażystę, każą dodać 5 nowych funkcji i zobaczysz jak to się przeistoczy w Potwora Spaghetti ( ͡° ͜ʖ ͡°)
przecietnyczlowiek 2023-03-23 15:43:35 +5
@ShpxLbh: poczekaj aż na proda pójdzie xd
pokaż komentarze (1)
H.....e 2023-02-22 17:04:34 +2
#pracait #pracbaza #programista15k #programowanie #bazydanych #sqlserver

Mirki takie pytanie - czy się zajmuje "programista baz danych"?
Bo np. z takich opisow o pracę to nie za bardzo czaje o co chodzi?
Że np. siedzi taki programista baz danych i poprawia zapytania do bazy jakie napisali programisci? Albo przygotowuje jakies raporty biznesowe? Robi prezentacje tych danych?
muwie 2023-02-22 17:12:37 +2
@HeavyMagicMissle: Od agregacji i prezentacji danych jest analityk. Więc taki programista jest od pisania procedur, sql. Może też być odpowiedzialny za dostępność danych. Tak na prawdę to zależy od firmy. W jednej będziesz odpowiadał tylko za pisanie procedur, a w innej będziesz od wszystkiego.
NitrousOxide 2023-02-24 20:09:42 +4
@HeavyMagicMissle jako osoba która się tym zajmuje wyjaśnię pokrótce o co chodzi :) W ogłoszeniach masz głównie SQLa, bo stanowisko może dotyczyć właśnie tworzenia zapytań do raportów lub do użycia przez aplikacje. Często w takich ogłoszeniach jest napisana konkretną baza, czy to Oracle czy SQL Server czy coś innego. Każda baza ma swój silnik, swoje sposoby optymalizacji i tak dalej.
Czy można odbyć się bez osoby, która zna SQLa tworząc aplikacje? Pewnie, że tak, do wyświetlenia danych z tabeli są różne API, ale problem zaczyna się, kiedy to co wyświetlamy nie jest zrzutem. z jednej tabeli, danych z tygodnia na tydzień jest coraz więcej i to co kiedyś działało szybko, teraz mieli coraz dłużej. Wbrew pozorom optymalizacja zapytań to nie jest prosta sprawa. Trzeba znać teoretyczne działanie poszczególnej bazy, wiedzieć czym są indeksy, ale przede wszystkim rozumieć dane i działanie aplikacji. Chodzi o to, aby w danym momencie zapytania, raporty i inne takie działały szybko i tanio (pod względem użycia pamięci i CPU). I to już przekracza znajomość samego SQLa.
Dodatkowo wokół SQLa jest masa narzędzi, na przykład do replikacji danych - aby warstwę transakcyjną oddzielić od warstwy raportowej. W małych apkach to ma mniejsze znaczenie, ale w dużych, gdzie jest masa różnych raportów to już inna bajka.
I jest jeszcze warstwa programowa czyli t-sql na sqlserverze, plsql w Oracle i plpgsql na postgresie. Są ta to proste ale dojrzałe języki programowania w bazie danych. Bo czasem nie ma możliwość albo potrzeby ładowania danych do aplikacji, można to zrobić na bazie. A taka procedura czy pakiet staje się dla aplikacji no. javowej serwisem, który wywolujesz. Obecnie trochę odchodzi się od tego podejścia, ale nie zawsze tak się da. Zresztą jak zawsze można napisac kod, który działa szybko jak i bardzo wolno. Ważne jest rozumienie tekstu, jak zresztą wszędzie:)
pokaż komentarze (15)
zmarnowany_czas 2022-12-28 12:33:39 +1
Zachciało się studiów na stare lata, to teraz mam problemy.

Potrzebuję jakiegoś miejsca zaczepienia, skąd wziąć informacje, ewentualnie podpowiedzi jak to ruszyć, bo sam nie mam pomysłu :/

Mam stworzyć rozproszoną bazę danych w MS SQL Serverze, gromadzącą dane o sprzedaży biletów lotniczych w wielu krajach działania systemu, każdy kraj to osobna baza. Tylko albo jestem debilem, albo na tych wykładach skupiał się na czymś innym, do tego to dał na początku semestru, gdzie nic z tego tematu nie było nawet tknięte.
I jestem skończonym idiotą, bo nie potrafię nawet zacząć.

Jak to w ogóle ruszyć? ( ͡° ʖ̯ ͡°)

#bazydanych #studia #studbaza #programowanie #sql #mssql #sqlserver
cecyl 2022-12-28 12:36:42 +2
@zmarnowany_czas: 1. Nie bać się pytać prowadzacego.
2. Prawdopodobnie to ćwiczenie na tworzenie klastra i rozrzucane danych po węzłach wg. jakiegoś klucza
d.....z 2022-12-28 12:39:40 +1
@zmarnowany_czas: chatgpt spróbuj. ( ͡° ͜ʖ ͡°)
pokaż komentarze (5)
Smartek 2022-12-07 11:03:17 +1
Potrzebuję zmigrować darmowy serwer express MS SQL Server z wersji 2012R2 do wersji co najmniej 2017. Czy wymagane są jakieś grube konwersję czy wystarczy zainstalować nowy serwer i po prostu podpiąć bazy? #serwery #it #informatyka #sql #sqlserver
przecietnyczlowiek 2022-12-07 11:08:40 +1
@Smartek: stawiasz nowy serwer, robisz attach/restore i zmieniasz compatibility level na 2017/2019/2022.
W 99% przypadków powinno się udac.
bysiiu 2022-12-07 11:14:56 +1
@Smartek: zrób sobie backup. detach na starym sql i na nowym attach i tyle. Powinno pójść
pokaż komentarze (8)
przecietnyczlowiek 2022-11-16 11:48:20 +0
Pytanie. Tworzę hurtownię danych na SQL Server/Azure SQL. Na źródle mam pewne kategorie jako nvarchar. Np. typ dokumentu = faktura albo zamówienie. Podczas ładowania ze stagingu do hurtownii, denormalizuję tabele by uzyskać tabelę faktów czyli np. robie joina z jednej tabeli do drugiej, gdzie warunek to typ dokumentu = typ dokumentu. Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np? Czy uzyskałbym lepszy perfomance gain gdybym na wejściu zrobił case when [typ dokumentu] = faktura then 1 itd. i potem po tym joinował?

#sql #datawarehouse #hurtowniadanych #sqlserver
borkovski 2022-11-16 11:55:44 +4
@przecietnyczlowiek:
Czy dostaję jakąś stratę na performancie, że robie takie rzeczy po tekście zamiast jakichś integerach np?
Tak
Czy uzyskałbym lepszy perfomance gain gdybym na wejściu zrobił case when [typ dokumentu] = faktura then 1 itd. i potem po tym joinował?
Nie
Damian8Damian9 2022-11-16 12:19:01 +3
@przecietnyczlowiek: Jeśli to jest DW to z założenia powinieneś tworzyć tabele wymiarów i kolumny typu typ dokumentu właśnie podmieniać na FK
pokaż komentarze (1)
100x 2022-08-07 10:44:08 +0
Czy da się przekazywać parametry do anonimowego bloku plpgsql i używać tego w #java #jpa #springboot,
#csharp #entityframework ?
Ogólnie chodzi o to że nie chcę tworzyć specjalnie funkcji w bazie.

Czy w #sqlserver da się tak zrobić?
Do $$
declare
begin;
$1, $2 --
Return Select cośTam;
end;
Language plpgsql;
$$;

#postgresql #programowanie
Aryo 2022-08-07 11:49:58 +0
@100x: Wydaje mi się że się da z pomocą entity framework ale nie wiem czy dobrze zrozumiałem problem
100x 2022-08-07 11:59:16 +0
@Aryo:
Przykład. Jest funkcja

CREATE OR REPLACE FUNCTION usunKonto (user_id integer)
RETURNS TABLE(res_status integer, res_user_id BIGINT)
AS $xd$
declare
jakasZmienna integer;
BEGIN
DELETE FROM user WHERE id = user_id;
res_status := 1;
res_user_id := user_id;
RETURN SELECT res_status, res_user_id;
END;
$xd$
LANGUAGE plpgsql;

Używam tego jak zwykłe zapytanie: SELECT * FROM usunKonto(2137);


Chciałbym tą część:
DO $xd$
declare
jakasZmienna integer;
BEGIN
DELETE FROM user WHERE id = user_id;
res_status := 1;
res_user_id := user_id;
RETURN SELECT res_status, res_user_id;
END;
$xd$
LANGUAGE plpgsql;

używać jako funkcję anonimową ale widzę, że nie mogę przekazywać parametrów ani pobierać rezultatów z poziomu spring jpa.
pokaż komentarze (2)
M4rcin 2022-03-30 11:44:40 +1
Mirki mam SQL Express 2014. W nim bazę np DEMO. Od godziny próbuję utworzyć skrypt, który wrzucony w harmonogram będzie codziennie robił kopie zapasowe.
Kopie będą na dysku D:\backupSQL Chciałbym aby codziennie tworzył się plik z datą i godziną. Próbowałem już kilku gotowców, ale nic z tego.
Serwer .\SQLExpress
Muszę jeszcze włączyć jakąś opcję w SQL Management aby backup się robił?
#sql #sqlserver #informatyka #serwery
fff112 2022-03-30 11:48:25 +0
@M4rcin: sql backup and ftp- apka fajnie tworzy backup i przywraca
radeks11 2022-03-30 12:05:12 +1
@M4rcin:
Masz problem ze skryptem, czy z harmonogramem? Skrypt może wyglądać np. tak:
DECLARE @dbname VARCHAR(50)
DECLARE @BackupFolder varchar(255)
DECLARE @d VARCHAR(20)
DECLARE @ExpireDate datetime

set @BackupFolder = 'C:\DATA2\Backup\'
set @dbname = 'DEMO'

-- data
SELECT @d = CONVERT(VARCHAR(20),GETDATE(),112)
-- ścieżka do backupu
set @BackupPath = @BackupFolder + @dbname + '.BAK'
-- czas expiracji
SET @ExpireDate = DATEADD(hh, 1, GETDATE())

-- backup
BACKUP DATABASE @dbname TO DISK = @BackupPath WITH EXPIREDATE = @ExpireDate, INIT
pokaż komentarze (9)
przecietnyczlowiek 2022-03-22 18:52:47 +0
Jeszcze nie guglałem stackoverflow jak to zrobić, może ktoś stąd wie. Mam nietrywialny problem. Nie wiem jak zrobić laga (poprzedni wiersz) w partition by albo jakoś inaczej, ale tak by lag ignorował warunek where? SQL Server.

Mam sobie tabelę faktów która jest logiem zamówień z systemu. Każde zamówienia może mieć 1 lub więcej wersji. Wersja się zmienia gdy w zamówieniu zostanie zmieniona kwota (w uproszczeniu). Np. zamówienie było najpierw z kwotą 100, ktoś je zmienił na 30, to w tabeli będę miał dwa wiersze. Version = 1, Amount = 100 i Version = 2, Amount = 30. Moim celem jest policzenie delty czyli o ile spadła/wzrosła kwota. Ostatecznia suma delty dla każdego ID ma dawać amount ostatniej wersji. Przykład na obrazku.

No więc liczę sobie ten Delta Amount poprzez [Amount] - LAG([Amount], 1, 0) OVER (PARTITION BY [ID] ORDER BY [Version])
I wszystko działa i mam dane tak jak chcę.

Ale rozważmy taki scenariusz: ładowanie przyrostowe. Dane ładuje dziennie, biorę max z wartości timestamp i ładuje wiersze tylko większe od max(timestamp) żeby załadować nowe wiersze. Bo stare się nie zmieniają. No, ale tą kalkulację muszę niestety robić po całości.
A chciałbym robić w tym przypadku WHERE dla timestamp > 11, ale tak by nowe wersje np. dla ID = 1, miały dostęp do ostatniej wartości czyli do do Amount = 50 w Version = 3. Jak wiadomo w zwykłym where to nie zadziała bo dane są ucięte przez warunek timestamp = 11. Czyli nowy wiersz nie ma dostępu do wierszy poprzednich gdzie timestamp jest mniejszy niż te 11.

No czyli chciałbym robić to co robię, ale bez jechania partition by po całości. Jak to zrobić? Kursorem (nigdy nie używałem)? Jakieś temp table? Chodzi mi o jak najlepszy performance.

#sql #sqlserver
piotrlionel 2022-03-22 19:13:35 +3
@przecietnyczlowiek: podzapytanie dla ostatniego rekordu sprzed przyrostu może i na left join lub CTE
DarkAlchemy 2022-03-22 19:45:26 +1
@przecietnyczlowiek: CTE z * i ROW_NUMBER PARTITION BY Id ORDER BY Version DESC ze tabeli docelowej (target), potem zapytanie
SELECT * FROM source WHERE Timestamp > (SELECT MAX(timestamp) FROM target)
UNION ALL
SELECT * FROM CTE WHERE rn = 1
I na tym zapytaniu (może być jako drugie CTE) robisz sobie swoje obliczenia LAG

Indeks dla ROW_NUMBER według zasady POC może pomóc (partition -> ordering -> covering)

O ile dobrze zrozumiałem problem
bruce 2022-03-19 11:08:42 +1
Gdzie można tanio zakupić SQL Server wraz z calami? Widadomo na MS, ale widzę, że są też inne polskie sklepy online gdzie można kupić znacznie taniej, jednak nie mam doświadczenia z nimi, ma ktoś coś sprawdzonego?
#it #informatyka #microsoft #serwery #windowsserver #serwerownia #sql #sqlserver
Koliat 2022-03-19 11:18:18 +0
@bruce: 1) Sprawdź czy producent nie ma w opcji na licencje typu Runtime - wtedy taki SQL może być używany tylko pod konkretną aplikację.
2) Jeśli chcesz kupić standarda, to nowe klucze / licencje od dystrybutorów / Partnerów MS powinny być w okolicach: SQL Standard ~€1k, CAL: ~€200

W kwestii używek - są zwykle dobre do pierwszego audytu, zwykle potrzeba dość dużo papierologii żeby było wszystko OK z takimi licencjami
bruce 2022-03-19 11:23:25 +0
@Koliat: np taka oferta. Wygląda legitnie jednak ceny mniejsze bo licząc w taki sposób to 1k + 15*0,2k = 4k euro, a tutaj jest około 1k euro
pokaż komentarze (1)
H.....a 2022-03-04 18:28:46 +1
Szukam narzędzia, dzięki któremu można by zanonimozować dane w bazie.
Najlepiej jeśli byłoby to darmowe narzędzie.
Sprawdzałem już Anonimatron, ale za szybkie to nie jest.
Parę tabel w bazie jest, a jeszcze więcej rekordów w tych tabelach (największa tabela ma ponad 100 000 rekordów).
Może akurat jakiś mirek się znajdzie, co ma coś fajnego do polecenia.
A jak już niczego darmowego i sensownego nie ma, to może też być coś płatnego. Tylko żeby to nie miało jakiejś kosmicznej ceny.
Dzięki.
#sqlserver #mssql #bazydanych
janek_ 2022-03-04 18:33:20 +1
@Hiraga: w jaki sposób zanonimizować? jaki problem chcesz rozwiązać?
Supaplex 2022-03-04 18:57:37 +5
@Hiraga: Eksportujesz bazę, backup czy kopia - zależnie od możliwości.
Otwierasz i zmieniasz dane w tabeli/tableach jakimś prostym skryptem, tylko musisz wiedzieć które dane są wrażliwe i gdzie one są. Żadna aplikacja ci tego nie załatwi - chyba, że baza jest z jakiejś standardowej aplikacji, którą oprogramowanie do anonimizacji zna.

Skrypt to pętla po tabeli/tabelach podmieniająca wartości w rekordach na losowe, a gdy wykonasz to w jeżyku bazy (tsql) to nawet przy kilku milionach i poprawnie napisanej bazie zajmie ci to maks kilkadziesiąt minut.
Taką bazę przekazujesz do firmy trzeciej.


Takie coś ostatnimi czasu to powinien być w organizacji standard jeśli chodzi o sam proces. Opisany, przetestowany i sprawdzony

pokaż komentarze (3)
gokihar 2022-02-28 20:49:49 +1
Jest jakiś poradnik dla osoby która by chciała się aktywować w #sql ?
Jakie są ścieżki rozwoju, co trzeba umieć, jakie technologie znać ? Jaki jest próg wejścia ?
Czy jak w #programista15k jest junior, mid senior ?

E.....r 2022-02-28 20:58:20 +2
janek_ 2022-03-01 00:41:58 +6
@gokihar: Zacznij od SQL-a (po kolei: select, where, case, rodzaje joinów, filtrowanie przez joinowanie, operacje na NULLach (coalesce(), is (not) null itd.),, distinct, operacje union, union all, intersect, except/minus itd., agregowanie danych, funkcje okienkowe, zapytania skorelowane, wspólne wyrażenia tablicowe (common table expressions), zapytania rekursywne, selecty nieodwołujące się do tabel, cross/outer apply), i moze coś jeszcze, ale teraz mi do głowy nie przychodzi.
Naucz się, jakie zadania pełnią klucze główne i klucze obce, do czego wykorzystywane są indeksy (i jak utworzyć indeks, który przyspieszy wykonywanie się twoich zapytań), zrozum co to jest normalizacja danych

Moim zdaniem głównym zadaniem data analysta jest właśnie pisanie mądrych selectów i potem ewentualnie praca z tymi zapytaniami w Excelu lub jakichś narzędziach BI: Tableau, MicroStrategy, Power BI, polegająca na stworzeniu interaktywnego dashboardu prezentującego wyniki tych zapytań w formie tabel i wykresów (z możliwością filtrowania danych przez użytkownika koncowego).

Po tym, gdy się nauczysz dobrze pisać selecty, naucz się pisać inserty (np. insert from select) i update'y (np. update z joinem) oraz merge (delete też ale tego się nauczysz w 10 sekund), zrozum różnicę między delete i truncate
wszystkiego, co wymieniłem powyżej możesz się nauczyć w praktyce, rozwiązując zadania na sql-ex[kropka]ru - serdecznie polecam ten serwis

potem dowiedz się czegoś o modelowaniu danych (sugeruję chociaż przeczytać pierwsze dwa rozdziały książki Data Warehouse Toolkit Kimballa) by zrozumieć co oznaczają pojęcia typu tabela faktowa, tabela lookupowa, granulacja danych, hierarchia, slowly changing dimensions, itd...).

Gdy to już będziesz umieć, przejdź do nauki Pythona. I wtedy, niezależnie od tego, jakich bibliotek i narzędzi będziesz używać (np. pandas, sqlalchemy, pyspark, czy tworzenie wykresów w jakimś seaborn, matplotlib), zorientujesz się, że wszystkie wykonywane przez ciebie operacje na danych będą w pewnym sensie odbiciem poleceń SQL.
pokaż komentarze (8)
c.....o 2022-02-15 15:35:41 +0
Gdyby komuś przestały wysyłać się maile z #sqlserver za pomocą Database Mail i konta Microsoft Exchange, to wyłączyli (Microsoft) TLS1.0 i TLS1.1.
Można wówczas ponownie włączyć to w ustawieniach exchange wchodząc w Mail flow i zaznaczając Turn on use of legacy TLS clients. Wówczas należy w konfiguracji skrzynki pocztowej po stronie Database Mail podać nowy adres serwera pocztowego: smtp-legacy.office365.com.

Wczoraj wieczorem padło mi wysyłanie maili, ale udało się dojść dlaczego i rozwiązać problem, a mocno korzystam z tego rozwiązania.
zyciazyc 2021-12-23 07:26:10 +0
Hej,

Jest jakiś prosty sposób na wrzucenie bazy #oracle na serwer? Mam oracle express lokalnie i wszystko ładnie działa, ale chciałbym mieć dostęp przez internet a nie lokalnie. Jakbyście podrzucili jakieś rozwiązanie, albo miejsce gdzie takie znajdę, bo mój google się chyba zepsół, bo nic nie znalazłem. :(

#SQL #sqlserver
M.....l 2021-12-23 11:15:28 +0
@zyciazyc: VPN?
janek_ 2021-12-23 11:34:45 +0
@zyciazyc: najprościej to by było użyć AWS RDS (ale nie wiem jak dokładnie wygląda kwestia licencji na oracle'a)
gdziemojimbuspiatka 2021-12-15 21:45:01 +0
elo elo 3 2 0 SQLowe świry!
Mam do wykonania do mojej smutnej bazy trzy triggery na zajęcia. No i jeden mi nie działa. Nie wiem gdzie robię błąd.

Struktura tabeli:

`CREATE TABLE brama (
numer INTEGER NOT NULL,
rysunek CHAR(3 CHAR) NOT NULL,
czasookres CHAR(3 CHAR) NOT NULL,
obiekt_id_obj INTEGER NOT NULL,
przedmioty_przeglAdu_id_prz INTEGER NOT NULL,
typ_id_typ INTEGER NOT NULL,
centrala_id_centrala INTEGER NOT NULL
);'


PRzykładowe inserty:
'INSERT INTO BRAMA VALUES(166495, 'TAK', '12M', 7, 7, 3, 3);
INSERT INTO BRAMA VALUES(156549, 'TAK', '12M', 1, 1, 4, 4);
INSERT INTO BRAMA VALUES(214646, 'TAK', '6M', 1, 1, 5, 5);
INSERT INTO BRAMA VALUES(214645, 'TAK', '6M', 1, 1, 6, 6);
INSERT INTO BRAMA VALUES(214644, 'TAK', '6M', 1, 1, 7, 7);'

Jak brama ma numer mniejszy niż 190000, to czasookres musi wynosić 12M.
Więc sobie zrobiłem triggera, który ma to sprawdzać. jak wrzucę nowego inserta np:
'INSERT INTO BRAMA VALUES(132121, 'TAK', '6M', 5, 5, 8, 8);'

to chcę, żeby zmienił czasookres na 12M

Triggera sporządziłem tak:

'CREATE OR REPLACE TRIGGER CZASOOKRES_TRG AFTER
INSERT OR UPDATE ON BRAMA
FOR EACH ROW
WHEN ( (NEW.NUMER < 190000 AND NEW.CZASOOKRES = '6M' ) OR (OLD.NUMER < 190000 AND OLD.CZASOOKRES = '6M' ))
BEGIN
INSERT INTO BRAMA (CZASOOKRES) VALUES ('12M');
END;
/'

No i nie bangla. Wywala mi błąd z obrazka.

Ktoś wie o co cho? :/ #SQL #sqlserver #bazydanych
seniorwykopek 2021-12-15 21:55:05 +0
@gdziemojimbuspiatka: brakuje drop table ( ͡° ͜ʖ ͡°)
gdziemojimbuspiatka 2021-12-15 21:56:19 +1
@seniorwykopek: Dziękuję pan Senior. Zastosuję się na pewno. :)
pokaż komentarze (3)