Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Có cách nào để thay đổi giá trị cho FixedLenNullInSource và TrimTrailingBlanks không?

TrimTrailingBlanks liên quan đến SET ANSI_PADDING khi bảng được tạo. Bạn có thể thay đổi điều đó mà không cần tạo lại toàn bộ bảng theo cách tương tự với câu trả lời của tôi ở đây để thay đổi ANSI_NULL tùy chọn.

Nếu không, bạn sẽ cần tạo lại bảng với ngữ nghĩa mong muốn được chọn.

Nhìn vào định nghĩa của 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 

vì vậy nó xuất hiện các giá trị khác nhau cho FixedLenNullInSource chỉ cho biết rằng khả năng vô hiệu của cột là khác nhau và nó là một trong 4 kiểu dữ liệu được chỉ định. Bạn sẽ cần khắc phục điều đó bằng ALTER TABLE ... ALTER COLUMN

Bạn có lẽ tốt hơn nhiều nên sử dụng công cụ của bên thứ ba để so sánh cơ sở dữ liệu như Redgate SQL Compare hoặc SQL Server Data Tools hoặc thậm chí chỉ truy vấn sys.tablessys.columns thay vì sử dụng sp_help mặc dù.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo mặt nạ dữ liệu động trong SQL Server cho người dùng nâng cao

  2. SQL động với vòng lặp trên tất cả các cột trong một bảng

  3. Cách dừng thông báo Cơ sở dữ liệu đã thay đổi thành ...

  4. Tính toán khoảng cách với cơ sở dữ liệu SQL Server khổng lồ

  5. Có cách nào để chuyển đổi varchar thành DATETIME trong SQL SERVER 2008 không?