Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy istnieje sposób na zmianę wartości FixedLenNullInSource i TrimTrailingBlanks?

TrimTrailingBlanks odnosi się do SET ANSI_PADDING opcja podczas tworzenia tabeli. Możesz to zmienić bez ponownego tworzenia całej tabeli w sposób podobny do moja odpowiedź tutaj do zmiany ANSI_NULL opcja.

W przeciwnym razie konieczne byłoby odtworzenie tabeli z wybraną żądaną semantyką.

Patrząc na definicję 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 

więc pojawiają się różne wartości dla FixedLenNullInSource po prostu wskaż, że wartość null kolumny jest inna i że jest to jeden z 4 określonych typów danych. Musisz to naprawić za pomocą ALTER TABLE ... ALTER COLUMN

Prawdopodobnie znacznie lepiej byłoby użyć narzędzia innej firmy do porównywania baz danych, takiego jak Redgate SQL Compare lub SQL Server Data Tools, a nawet po prostu odpytywać sys.tables i sys.columns siebie zamiast używać sp_help chociaż.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz się z bazą danych SQL Server z Node.js

  2. MSSQL cast([varcharColumn] to int) w SELECT jest wykonywany przed klauzulą ​​WHERE odfiltrowującą złe wartości

  3. Zadanie skryptu SSIS C# 2012 odwołujące się do pliku WinSCPnet.dll kończy się niepowodzeniem po uruchomieniu z programu SQL Server Agent z wyjątkiem zostało zgłoszone przez obiekt docelowy wywołania

  4. Parse Datetime do JAVA Date

  5. Wybierz z jednej tabeli i wstaw do kolejnych dwóch tabel