Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

C'è un modo per modificare i valori per FixedLenNullInSource e TrimTrailingBlanks?

TrimTrailingBlanks si riferisce al SET ANSI_PADDING opzione quando è stata creata la tabella. Potresti essere in grado di cambiarlo senza ricreare l'intera tabella in modo simile a la mia risposta qui per modificare il ANSI_NULL opzione.

Altrimenti dovresti ricreare la tabella con la semantica desiderata selezionata.

Osservando la definizione di sp_help

   'FixedLenNullInSource' = 
   CASE
        WHEN Type_name(system_type_id) NOT IN ( 'varbinary', 'varchar', 'binary', 'char' ) THEN '(n/a)'
        WHEN is_nullable = 0 THEN @no
        ELSE @yes
    END 

quindi appaiono valori diversi per FixedLenNullInSource basta indicare che la capacità di nulla della colonna è diversa e che è uno dei 4 tipi di dati specificati. Dovresti risolverlo con ALTER TABLE ... ALTER COLUMN

Probabilmente è molto meglio utilizzare uno strumento di terze parti per confrontare i database come Redgate SQL Compare o SQL Server Data Tools o anche semplicemente eseguire query su sys.tables e sys.columns te stesso piuttosto che usare sp_help però.