SQL: Skrypt zmieniający i przywracający konfigurację

13-sie-2021

Zaawansowane skrypty muszą czasami skorzystać z opcji zapisanych w tabeli sys.configurations. Te zmiany wykonuje się procedurą sp_configure. Co istotne, jeśli przed uruchomieniem skryptu jakaś opcja była wyłączona (lub włączona), to po zakończeniu tego skryptu ta opcja powinna być w tym samym nie zmienionym stanie.

Oto propozycja takiego rozwiązania:

--remember original settings for OLE Automation Procedures
DECLARE @initialShowAdvancedOptions sql_variant = (SELECT value_in_use FROM sys.configurations WHERE name='show advanced options')

IF @initialShowAdvancedOptions = 0
BEGIN
              EXEC sp_configure 'show advanced options', 1
              RECONFIGURE WITH OVERRIDE
END

-- do something

--return to original settings
IF @initialShowAdvancedOptions = 0
BEGIN
              EXEC sp_configure 'show advanced options', 0
              RECONFIGURE WITH OVERRIDE
END

 

Komentarze są wyłączone

Autor: Rafał Kraik