Crearea și modificarea scripturilor bazei de date

Scripturile de bază de date sunt fișiere suplimentare care conțin instrucțiuni sau utilitare Transact-SQL, cum ar fi SQLCMD, care nu fac parte din definiția schemei de bază de date. Dezvoltatorul poate folosi scripturile bazei de date în cadrul implementării etapei de implementare (scripturi și scripturi înainte de implementare care se execută după implementare) sau stochează scripturi de control comune în proiectul bazei de date.







La redenumirea unui obiect de baze de date, puteți apela la refactorizarea bazei de date pentru a actualiza automat toate referințele la acel obiect din script.

Când creați un proiect de bază de date, scriptul care rulează înainte de implementare, definițiile obiectului de bază de date și scriptul care rulează după implementare sunt compilate într-un singur fișier de schemă de bază de date DBSCHEMA. Puteți specifica numai un script care rulează înainte de implementare și un script care rulează după implementare, dar cu SQLCMD puteți include și alte scripturi în fiecare. Pentru mai multe informații, consultați Includerea mai multor scripturi în etapa de pre-implementare sau post-implementare. Atunci când construiți un proiect de bază de date, toate scripturile incluse sunt îmbinate într-un script de construire.







În mod implicit, proiectul bazei de date conține un script gol care se execută înainte de implementare și un script gol care rulează după implementare. Aceste scripturi se numesc script.predeployment.sql și script.postdeployment.sql.

Specificați un script care să se execute înainte de implementare prin setarea proprietății Build Action a fișierului script la "PreDeploy". În mod similar, specificați un script care să se execute după implementare prin setarea proprietății Build Action a fișierului script la "PostDeploy". Dacă scriptul este rulat înainte sau după implementare, este atribuit primul script și apoi celălalt, pentru primul script, acțiunea de construcție "Nu în construcție" este setată automat. Acest comportament este implementat deoarece, pentru fiecare proiect, poate exista doar un script care rulează înainte de implementare și un script care rulează după implementare.

Dacă schimbați numele sau caracteristicile obiectelor la care se referă scripturile de implementare, nu actualizați linkurile din aceste scripturi, implementarea poate eșua. Să presupunem, de exemplu, că datele sunt inserate în tabela de script care este executată după implementare. Dacă redenumiți acum acest tabel fără actualizarea scriptului, folosirea instrucțiunii INSERT va duce la o eroare. Când redenumiți o tabelă folosind rename refactoring, scriptul de implementare este actualizat automat.

Activarea mai multor scripturi într-un pas înainte sau după implementare

Pentru a utiliza mai multe script-uri într-un pas înainte sau după implementare, trebuie să atribuiți un script de nivel superior care include și alte script-uri care se execută înainte sau după implementare utilizând următoarea instrucțiune:

SQLCMD: r. \ FileName.sql







Articole similare

Trimiteți-le prietenilor: