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