Category: system

Szinonima hivatkozások cseréje

Gyakran használjuk a szinonimákat arra, hogy egy másik adatbázis objektumaira úgy hivatkozhassunk, mintha sajátunk volna. Pl: CREATE SYNONYM dbo.TAG FOR [DB].[dbo].[TAG]; Így a programban vagy az adatbázisunk többi objektumaiban csak a TAG-re hivatkozhatunk.  Viszont, ha le kell cserélni az összes hivatkozást mondjuk a DB2 adatbázisra, akkor arra a következő script tud segíteni: — SIS_HRINTERFACE és az SWORK2SIS szinonimák hivatkozásainak cseréje a SIS_DB-re SET NOCOUNT ON declare @prn int […]

WMI Alert

Az SQL Server eseményei a Windows Management Instrumentation (WMI) szolgáltatáson keresztül is figyelhető. Tipikus példa az adatbázis tükrözés státusz változásának figyelése. Példa a következő linken: https://technet.microsoft.com/en-us/library/cc966392.aspx Az események szűrését a WMI Query Language-el (WQL) tudjuk megvalósítani. A WQL szintaktikája hasonló az SQL-hez (annál jóval egyszerűbb link: https://msdn.microsoft.com/en-us/library/aa394606(VS.85).aspx) A fenti példában például a tükrözéskor bekövetkező Automatic Fail Over státuszt […]

Szöveg keresése tároltakban

DECLARE @Search varchar(255) SET @Search=’keresett string’ SELECT DISTINCT o.name AS Object_Name,o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id=o.object_id WHERE m.definition Like ‘%’+@Search+’%’ ORDER BY 2,1 […]

Objektumok függőségei

Az alábbi sciptek agják vissza pédául a SISConstans objektumra való hivatkozásokat: sp_depends ‘dbo.SISConstants’ GO SELECT * FROM information_schema.routines ISR WHERE CHARINDEX(‘dbo.SISConstants’, ISR.ROUTINE_DEFINITION) > 0 GO SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent FROM sys.dm_sql_referencing_entities (‘dbo.SISConstants’, ‘OBJECT’); […]

Beragadt replikáció

A probléma az, hogy ez esetben a LOG fájl folyamatosan nő és nem is shrink-elhető. Detektálása: SELECT name, log_reuse_wait_desc, * FROM sys.databases where name=’db_name’ Visszaadott log_reuse_wait  érték REPLICATION. A beragadást a következő parancs szünteti meg:  EXEC sp_repldone @xactid = NULL, @xact_sgno = NULL, @numtrans = 0, @time = 0, @reset = 1; Ezzel kapcsolatos linkek: […]

Amit a TempDB-ről tudni kell

Nem sokat figyelünk rá, mivel észrevétlenül dolgozik A TempDb adatbázis olyan, mint a Windows-ban a temp könyvtár. Beledobálunk ideiglenesen dolgokat, dolgozunk vele, majd töröljük. Ugyanez a szerepe az SQL Server Temdb adatbázisának is. Viszont nem vesszük észre, de számtalan esetben használja a rendszer a saját feladatai elvégzésére. Az alábbi linken olvashatunk ezekről: https://technet.microsoft.com/en-us/library/ms345368(v=sql.105).aspx Leginkább akkor […]

View frissítése

Ha változik a view-ban használt objektum struktúrája (pl. törlünk egy oszlopot), akkor az egyik megoldás a view frissítése: SP_RefreshView ‘view_name’ A másik megoldás a WITH SCHEMABINDING  opció használata. […]

Indexek fregmentációjának kezelése

A következő lekérdezés egy adatbázis tábla indexeinek a frementációját írja ki %-osan: SELECT a.index_id, name, avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(N’SIS_DB’), OBJECT_ID(N’TEVENT’), NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id; A példa eredménye pl: 1      PK_TEVENT    19,8322163007709 2      EVNEVNTYP_FK 93,5590496958568 3      EVNDEV_FK    89,5302222395205 4      EVNPRS_FK    42,6671763645796 5      EVN_TAG_FK   […]

1 2