W dniu 2021-02-05 o 19:28, Cezary Grądys 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ą.
/*
--------------------------------------------------------------------------------
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