Thread View: pl.comp.bazy-danych
11 messages
11 total messages
Started by Cezary Grądys
Fri, 05 Feb 2021 18:28
SQL Server zrzut bazy
Author: Cezary Grądys
Date: Fri, 05 Feb 2021 18:28
Date: Fri, 05 Feb 2021 18:28
16 lines
1643 bytes
1643 bytes
Witam. Sorry za lamerskie pytanie, ale potrzebuje zrobić zrzut bazy w formie czytelnej dla człowieka, żeby znaleźć w której konkretnie tabeli sa zapisywane wartości. Tak, żeby się dało użyć grep (pewnie jakiegoś odpowiednika z windy) i znaleźć. Widze możliwość eksportu do pliku, ale tam trzeba podać tabelę, a jakbym wiedział którą, to już bym tego nie potrzebował robić, od razu bym zrobił SELECT ;) Pomożecie? Grozi mi spisywanie z ekranu ok 100 wartości co miesiąc. -- Cezary Grądys czarekgr@wa.onet.pl
Re: SQL Server zrzut bazy
Author: Adam
Date: Fri, 05 Feb 2021 21:33
Date: Fri, 05 Feb 2021 21:33
101 lines
3460 bytes
3460 bytes
W dniu 2021-02-05 o 19:28, Cezary Grądys pisze:
> Witam.
>
> Sorry za lamerskie pytanie, ale potrzebuje zrobić zrzut bazy w formie
> czytelnej dla człowieka, żeby znaleźć w której konkretnie tabeli sa
> zapisywane wartości. Tak, żeby się dało użyć grep (pewnie jakiegoś
> odpowiednika z windy) i znaleźć.
> Widze możliwość eksportu do pliku, ale tam trzeba podać tabelę, a jakbym
> wiedział którą, to już bym tego nie potrzebował robić, od razu bym
> zrobił SELECT ;)
>
> Pomożecie? Grozi mi spisywanie z ekranu ok 100 wartości co miesiąc.
>
>
Zrzut bazy?
Może wystarczy Ci skrypt, pokazujący ilość rekordów w tabelach, a
później będziesz porównywał liczniki bazy starszej z nowszą.
/*
--------------------------------------------------------------------------------
Script : ListTableInBase.sql
Author : Dariusz 'DBSoft' Brejnak (c) 2010
Created : 2010-09-01
Skrypt wyświetla listę tabel zawartych w aktualnej bazie danych.
Za pomocą procedura sp_spaceused
zwracane są informacje o liczbie wierszy, wielkości plików bazy danych
w KB lub obiektów bazodanowych i liczbie pustych stron w
poszczególnych plikach.
wynik:
servername basename name rows reserved data
index_size unsed
MSSQLEXPRESS AdventureWorks Address 19614 4984
2224 2472 288
MSSQLEXPRESS AdventureWorks AddressType 6 48
8 40 0
MSSQLEXPRESS AdventureWorks AWBuildVersion 1 16
8 8 0
........
*/
use Twoja_Baza_SQL
CREATE TABLE #tmp
(
[name] varchar(50),
[rows] int,
[reserved] varchar (20),
[data] varchar (20),
[index_size]varchar(20),
[unsed] varchar(20)
)
CREATE TABLE #tmprows
(
[servername] varchar(50),
[basename] varchar(50),
[name] varchar(50),
[rows] int,
[reserved] varchar (20),
[data] varchar (20),
[index_size]varchar(20),
[unsed] varchar(20)
)
INSERT #tmp EXEC sp_MSforeachtable 'exec sp_spaceused ''?'''
INSERT #tmprows SELECT @@SERVERNAME,
DB_NAME(),
[name],
[rows],
replace(reserved,'KB',''),
replace(data,'KB',''),
replace(index_size,'KB',''),
replace(unsed,'KB','')
FROM #tmp
SELECT [servername],
[basename],
[name],
[rows],
[reserved],
[data],
[index_size],
[unsed]
FROM #tmprows
ORDER BY [name]
DROP TABLE #tmp
DROP TABLE #tmprows
--
Pozdrawiam.
Adam
Re: SQL Server zrzut bazy
Author: Cezary Grądys
Date: Sat, 06 Feb 2021 08:12
Date: Sat, 06 Feb 2021 08:12
22 lines
1711 bytes
1711 bytes
W dniu 05.02.2021 o 22:33, Adam pisze: > > Zrzut bazy? > > Może wystarczy Ci skrypt, pokazujący ilość rekordów w tabelach, a > później będziesz porównywał liczniki bazy starszej z nowszą. > > > /* Dzięki, w poniedziałek postaram się sprawdzić, ale pewnie nie zadziała, raczej granta na tworzenie tabel i INSERT nie mam. Mam wytypowaną jedną tabelę z względnie dużą liczbą wierszyn nawet wydaje się, że wiem która kolumna, ale na razie machnąłem ręką, bo wartosci liczbowe są typu varchar ;) Ale kierunek dobry, można wszelkie małe tabele odrzucić. -- Cezary Grądys czarekgr@wa.onet.pl
Re: SQL Server zrzut bazy
Author: Adam
Date: Sat, 06 Feb 2021 14:14
Date: Sat, 06 Feb 2021 14:14
41 lines
2176 bytes
2176 bytes
W dniu 2021-02-06 o 09:12, Cezary Grądys pisze:
> W dniu 05.02.2021 o 22:33, Adam pisze:
>
>>
>> Zrzut bazy?
>>
>> Może wystarczy Ci skrypt, pokazujący ilość rekordów w tabelach, a
>> później będziesz porównywał liczniki bazy starszej z nowszą.
>>
>>
>> /*
>
> Dzięki, w poniedziałek postaram się sprawdzić, ale pewnie nie zadziała,
> raczej granta na tworzenie tabel i INSERT nie mam.
Możesz jeszcze raz, ale po polsku bądź angielsku?
Nie bardzo rozumiem, co masz na myśli.
> Mam wytypowaną jedną tabelę z względnie dużą liczbą wierszyn nawet
> wydaje się, że wiem która kolumna, ale na razie machnąłem ręką, bo
> wartosci liczbowe są typu varchar ;)
> Ale kierunek dobry, można wszelkie małe tabele odrzucić.
>
Możesz tabelę albo wynik zapytania SELECT wyrzucić do pliku csv bądź xml:
bcp "SELECT ... from ... [where ...] [ORDER BY ...]" queryout
"c:\pliki\plik.csv|xml"
dla xml dodaj w zapytaniu:
for xml raw, root('JAKIS_STRING')
Oczywiście w pytaniu możes zawrzeć jeszcze inne warunki, np JOIN.
Ewentualnie choćby kursorem jechać, korzystać z dodatkowej tabeli i
szukać zmian.
--
Pozdrawiam.
Adam
Re: SQL Server zrzut bazy
Author: Cezary Grądys
Date: Sun, 07 Feb 2021 11:39
Date: Sun, 07 Feb 2021 11:39
35 lines
2166 bytes
2166 bytes
W dniu 06.02.2021 o 15:14, Adam pisze: > Możesz jeszcze raz, ale po polsku bądź angielsku? > Nie bardzo rozumiem, co masz na myśli. > Granta mam chyba tylko na SELECT i prawdopodobnie nic innego. > > Możesz tabelę albo wynik zapytania SELECT wyrzucić do pliku csv bądź xml: > > bcp "SELECT ... from ... [where ...] [ORDER BY ...]" queryout > "c:\pliki\plik.csv|xml" > Problemem jest, ze nie wiem, która to tabela, muszę to ustalić, wtedy nie będę potrzebował tworzyć plików, tylko od razu napiszę zapytanie. Nie wiem co dać we FROM... Na razie wytypuję tabele mające powiedzmy powyżej kilku tysięcy wierszy (na pewno mało ich będzie) i te tabele pobadam. Konkretnie chcę znaleźć odczyty liczników prądu i ciepła. Nawet nie mam pewności, czy są one trzymane w bazie, ale raczej tak. Bo jak tego nie znajdę, to będe musiał spisywać z ekranu, na 2 komputer ;) Typowy sposób w firmie, w której teraz pracuję ;) Gdyby to był postgres to pg_dump|grep załatwiły by problem. -- Cezary Grądys czarekgr@wa.onet.pl
Re: SQL Server zrzut bazy
Author: Adam
Date: Sun, 07 Feb 2021 14:40
Date: Sun, 07 Feb 2021 14:40
45 lines
2339 bytes
2339 bytes
W dniu 2021-02-07 o 12:39, Cezary Grądys pisze: > W dniu 06.02.2021 o 15:14, Adam pisze: > >> Możesz jeszcze raz, ale po polsku bądź angielsku? >> Nie bardzo rozumiem, co masz na myśli. >> > > Granta mam chyba tylko na SELECT i prawdopodobnie nic innego. > Zdefiniuj pojęcie "grant". > >> >> Możesz tabelę albo wynik zapytania SELECT wyrzucić do pliku csv bądź xml: >> >> bcp "SELECT ... from ... [where ...] [ORDER BY ...]" queryout >> "c:\pliki\plik.csv|xml" >> > > > Problemem jest, ze nie wiem, która to tabela, muszę to ustalić, wtedy Na znalezienie tabeli dostałeś rozwiązanie w pierwszym poście. > nie będę potrzebował tworzyć plików, tylko od razu napiszę zapytanie. > Nie wiem co dać we FROM... > > Na razie wytypuję tabele mające powiedzmy powyżej kilku tysięcy wierszy > (na pewno mało ich będzie) i te tabele pobadam. > > Konkretnie chcę znaleźć odczyty liczników prądu i ciepła. Nawet nie mam > pewności, czy są one trzymane w bazie, ale raczej tak. Bo jak tego nie > znajdę, to będe musiał spisywać z ekranu, na 2 komputer ;) Typowy sposób > w firmie, w której teraz pracuję ;) > Gdyby to był postgres to pg_dump|grep załatwiły by problem. > > > -- Pozdrawiam. Adam
Re: SQL Server zrzut bazy
Author: Cezary Grądys
Date: Sun, 07 Feb 2021 16:24
Date: Sun, 07 Feb 2021 16:24
15 lines
1580 bytes
1580 bytes
W dniu 07.02.2021 o 15:40, Adam pisze: > Zdefiniuj pojęcie "grant". No co tu definiować? Komenda do nadawania uprawnień. https://www.postgresql.org/docs/13/sql-grant.html Może niezrecznie użyte, ale każdy chyba wie o co chodzi. -- Cezary Grądys czarekgr@wa.onet.pl
Re: SQL Server zrzut bazy
Author: Adam
Date: Sun, 07 Feb 2021 17:26
Date: Sun, 07 Feb 2021 17:26
22 lines
1637 bytes
1637 bytes
W dniu 2021-02-07 o 17:24, Cezary Grądys pisze: > W dniu 07.02.2021 o 15:40, Adam pisze: >> Zdefiniuj pojęcie "grant". > > > No co tu definiować? Komenda do nadawania uprawnień. > > https://www.postgresql.org/docs/13/sql-grant.html > > Może niezrecznie użyte, ale każdy chyba wie o co chodzi. > Sorry, nie znałem. To może następnym razem zacznij od tego, o jaki SQL Ci chodzi, bo nie wszystko jest zgodne z ANSI. Ja pisałem w kontekście MS-SQL. -- Pozdrawiam. Adam
Re: SQL Server zrzut bazy
Author: DarekPn
Date: Mon, 08 Feb 2021 19:12
Date: Mon, 08 Feb 2021 19:12
25 lines
2198 bytes
2198 bytes
W dniu 07.02.2021 o 18:26, Adam pisze: > W dniu 2021-02-07 o 17:24, Cezary Grądys pisze: >> W dniu 07.02.2021 o 15:40, Adam pisze: >>> Zdefiniuj pojęcie "grant". >> >> >> No co tu definiować? Komenda do nadawania uprawnień. >> >> https://www.postgresql.org/docs/13/sql-grant.html >> >> Może niezrecznie użyte, ale każdy chyba wie o co chodzi. >> > > Sorry, nie znałem. > To może następnym razem zacznij od tego, o jaki SQL Ci chodzi, bo nie > wszystko jest zgodne z ANSI. > Ja pisałem w kontekście MS-SQL. > > Dobre ;) -- Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Re: SQL Server zrzut bazy
Author: Adam
Date: Tue, 09 Feb 2021 11:58
Date: Tue, 09 Feb 2021 11:58
50 lines
2536 bytes
2536 bytes
W dniu 2021-02-08 o 20:12, DarekPn pisze:
> W dniu 07.02.2021 o 18:26, Adam pisze:
>> W dniu 2021-02-07 o 17:24, Cezary Grądys pisze:
>>> W dniu 07.02.2021 o 15:40, Adam pisze:
>>>> Zdefiniuj pojęcie "grant".
>>>
>>>
>>> No co tu definiować? Komenda do nadawania uprawnień.
>>>
>>> https://www.postgresql.org/docs/13/sql-grant.html
>>>
>>> Może niezrecznie użyte, ale każdy chyba wie o co chodzi.
>>>
>>
>> Sorry, nie znałem.
>> To może następnym razem zacznij od tego, o jaki SQL Ci chodzi, bo nie
>> wszystko jest zgodne z ANSI.
>> Ja pisałem w kontekście MS-SQL.
>>
>>
>
> Dobre ;)
>
Wiesz, różne ciekawostki wychodzą. Nawet w kontekście różnych wersji
tego samego silnika, jak chociażby AdHoc w MS-SQL, które można sprawdzić np:
select objtype,
count(*) as number_of_plans,
sum(cast(size_in_bytes as bigint))/1024/1024 as size_in_MBs,
avg(usecounts) as avg_use_count
from sys.dm_exec_cached_plans
group by objtype
Natomiast polecenie
DBCC FREESYSTEMCACHE('SQL Plans')
działa OIDP dopiero od wersji ms-sql 2008.
Też mam ciekawe zapytania ze składnią:
select ... where ... and 1=1 and ...
i bez tego 1=1 nie działa. Nie wiem, dlaczego.
A nie znam innych wersji SQL, więc niechcący mogę coś źle powiedzieć.
--
Pozdrawiam.
Adam
Re: SQL Server zrzut bazy
Author: DarekPn
Date: Tue, 09 Feb 2021 19:14
Date: Tue, 09 Feb 2021 19:14
55 lines
3233 bytes
3233 bytes
W dniu 09.02.2021 o 12:58, Adam pisze:
> W dniu 2021-02-08 o 20:12, DarekPn pisze:
>> W dniu 07.02.2021 o 18:26, Adam pisze:
>>> W dniu 2021-02-07 o 17:24, Cezary Grądys pisze:
>>>> W dniu 07.02.2021 o 15:40, Adam pisze:
>>>>> Zdefiniuj pojęcie "grant".
>>>>
>>>>
>>>> No co tu definiować? Komenda do nadawania uprawnień.
>>>>
>>>> https://www.postgresql.org/docs/13/sql-grant.html
>>>>
>>>> Może niezrecznie użyte, ale każdy chyba wie o co chodzi.
>>>>
>>>
>>> Sorry, nie znałem.
>>> To może następnym razem zacznij od tego, o jaki SQL Ci chodzi, bo nie
>>> wszystko jest zgodne z ANSI.
>>> Ja pisałem w kontekście MS-SQL.
>>>
>>>
>>
>> Dobre ;)
>>
>
> Wiesz, różne ciekawostki wychodzą. Nawet w kontekście różnych wersji
> tego samego silnika, jak chociażby AdHoc w MS-SQL, które można sprawdzić
> np:
>
> select objtype,
> count(*) as number_of_plans,
> sum(cast(size_in_bytes as bigint))/1024/1024 as size_in_MBs,
> avg(usecounts) as avg_use_count
> from sys.dm_exec_cached_plans
> group by objtype
>
> Natomiast polecenie
> DBCC FREESYSTEMCACHE('SQL Plans')
> działa OIDP dopiero od wersji ms-sql 2008.
>
> Też mam ciekawe zapytania ze składnią:
>
> select ... where ... and 1=1 and ...
>
> i bez tego 1=1 nie działa. Nie wiem, dlaczego.
> A nie znam innych wersji SQL, więc niechcący mogę coś źle powiedzieć.
>
>
W sumie moja uwaga dotyczyła polecenia "grant". Nie wiedziałem, że to
taka egzotyka...
--
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads