SkillsTest.pl SQL pytania i zadania rekrutacyjne Jak zabezpieczyć skrypt TSQL przed wykonaniem na bazie produkcyjnej?

: 2017-10-07 | Nr 20 z 24

Pytanie

Jak zabezpieczyć skrypt TSQL przed wykonaniem na bazie produkcyjnej? SQL

W przypadku gdy na jednym serwerze trzymamy zarówno bazę produkcyjną jak i testową powinniśmy skorzystać z funkcji DB_NAME(). Oczywiście sprawdzi się to jedynie w przypadku gdy baza produkcyjna będzie właściwie nazwana, np. DB_Produtction.

Na początku procedury, funkcji bądź innej instrukcji SQL powinien pojawić się blok decyzyjny - IF - w przypadku gdy funkcja DB_NAME() zwróci nazwę bazy produkcyjnej, skrypt powinien przerwać działanie.


Gdy kod nie ma się wykonywać na bazie produkcyjnej

IF DB_NAME() = 'DB_Production'
BEGIN
     PRINT '*** WARNING! Production Database detected! Execute has stopped***'
     RETURN
END

Gdy kod ma się wykonywać tylko na bazie produkcyjnej

IF DB_NAME() <> 'DB_Production'
BEGIN
     PRINT '*** WARNING! This is not Production Database***'
     RETURN
END

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka