Domanda

Secondo MSDN BOL (Books Online) su SET ANSI_PADDING ,

  

In una versione futura di Microsoft SQL Server ANSI_PADDING sarà sempre ON e tutte le applicazioni che impostano esplicitamente l'opzione su OFF produrranno un errore. Evita di utilizzare questa funzione nel nuovo lavoro di sviluppo e pianifica di modificare le applicazioni che attualmente utilizzano questa funzione.

Non ho mai usato questa opzione ma sembra che possa effettivamente salvare molti spazi del database per i campi char e varbinary se usato correttamente.

Perché SET ANSI_PADDING sta diventando obsoleto, a parte il fatto che non è conforme ANSI?

Ci sono dei buoni motivi per cui?

È stato utile?

Soluzione

Non una risposta, solo un'opinione:

Personalmente vorrei credere che lo stiano rimuovendo perché è un dolore nullo nel nulla. Se un oggetto di database viene creato, utilizzato, referenziato o qualsiasi altra cosa con esso ON, un secondo viene fatto con esso OFF e si tenta di lavorare con entrambi contemporaneamente (due tabelle, tabella di riferimento alla procedura, ecc.), i tuoi risultati potrebbero essere incoerenti o non avere senso e ti occorrerà per sempre per capire cosa sta succedendo.

(Esistono altre impostazioni SET come questa e, peggio ancora. Spero che le abbiano eliminate tutte.)

Altri suggerimenti

Quella funzione non è stata utilizzata affatto e non è conforme anche ANSI, quindi la rimuoveranno. Lo spazio risparmiato può essere effettuato indipendentemente da ansi_padding, il server sql può rimuovere il padding internamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top