Ciao ragazzi![]()
Devo creare uno script che elimini relazioni, indici e chiavi da un db per poi ricrearle ad hoc secondo degli standard prefissati. Fin qui nessun problema, lo script riesco a farlo da sola.
Durante la scrittura di questo script sono incappata in un errore di esecuzione.
In particolare stavo eseguendo una DELETE sulla tabella sysobjects. Il query analyzer mi ha restituito questo errore:
In pratica l'errore viene generato perchè bisogna "fleggare" una proprietà sulla registrazione del server alla quale appartiene il db da modificare sull' Enterprise Mananger. In particolare, cliccando col destro sul nome della registrazione del server e cliccando poi su Proprietà si apre la relativa finestra. Nella tab "Server Settings" ci sono diverse impostazioni personalizzabili. Al centro in particolare c'è un frame con titolo "Server behavior"; il flag in questione è quello con la dicitura "Allow modifications to be made directly to the system catalogs". Ecco, spuntando questa proprietà l'operazione di DELETE va a buon fine.
Server: Msg 259, Level 16, State 2, Line 1
Ad hoc updates to system catalogs are not enabled. The system administrator must reconfigure SQL Server to allow this.
Ciò che vorrei fare io è un controllo, sempre tramite l'sql e quindi all'inizio del mio script, che verifichi se questo flag è spuntato o meno; qualora non lo fosse deve spuntarlo in modo da abilitare le modifiche sulle tabelle di sistema e a fine script deve riportare la situazione all'origine.
Voi sapete dirmi come si accede via codice a questa proprietà?
Grazie a tutti
lady![]()