SQL Server

Nedokumentované uložené procedury

Každá edice SQL Serveru zahrnuje množství uložených a extended procedur, které nejsou zmíněny v oficiální dokumentaci, což znamená především to, že jsou určeny pouze pro interní potřebu Microsoftu a mohou být kdykoliv změněny nebo odstraněny. Přesto je spousta z nich nebývale užitečná a používána široce i komunitou. Dnes se podíváme na některé z nich.

sp_Msgetversion

  • vrátí verzi serveru, nahrazeno @@VERSION

xp_dirtree

  • vrátí seznam adresářů včetně podadresářů do všech levelů
  • EXEC master..xp_dirtree ‘C:\’

xp_subdirs

  • na rozdíl od xp_dirtree vrací složky pouze do hloubky  = 1
  • EXEC master..xp_dirtree ‘C:\’

xp_enum_oledb_providers

  • zobrazí seznam OLE DB providerů v systému

xp_enumcodepages

  • zobrazí seznam kodových stránek serveru

xp_enumerrorlogs

  • zobrazí seznam serverových logů

xp_enumgroups

  • zobrazí NT skupiny

xp_fileexist

  • zjistí, zda soubor existuje
  • EXEC master..xp_fileexist ‘c:\boot.ini’

xp_fixeddrives

  • zobrazí písmeno a velikost systémových disků

xp_getnetname

  • zobrazí WINS name SQL serveru

xp_readerrorlog

  • přečte aktuální error log

xp_regdeletekey

  • vymaže klíč z registru
  • EXEC master..xp_regdeletekey @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARE\Test’

xp_regdeletevalue

  • vymaže hodnotu klíče v registru
  • EXEC master..xp_regdeletevalue @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARE\Test’, @value_name=’TestValue’

xp_regread

  • přečte hodnotu z registru
    • DECLARE @test varchar(20)
      EXEC master..xp_regread @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARE\Test’, @value_name=’TestValue’, @value=@test OUTPUTSELECT @test

xp_regwrite

  • zapíše hodnotu do registru
  • EXEC master..xp_regwrite @rootkey=’HKEY_LOCAL_MACHINE’, @key=’SOFTWARE\Test’, @value_name=’TestValue’, @type=’REG_SZ’, @value=’Test’

sp_MShasdbaccess

  • vypíše všechny databáze, ke kterým má uživatel přístup

Leave a Reply

Your email address will not be published. Required fields are marked *