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

Vô hiệu hóa tất cả các chỉ mục không được phân nhóm

Bạn có thể xây dựng các truy vấn thành một câu lệnh chọn, như sau:

DECLARE @sql AS VARCHAR(MAX)='';

SELECT @sql = @sql + 
'ALTER INDEX ' + sys.indexes.name + ' ON  ' + sys.objects.name + ' DISABLE;' +CHAR(13)+CHAR(10)
FROM 
    sys.indexes
JOIN 
    sys.objects 
    ON sys.indexes.object_id = sys.objects.object_id
WHERE sys.indexes.type_desc = 'NONCLUSTERED'
  AND sys.objects.type_desc = 'USER_TABLE';

EXEC(@sql);

Các ký tự 13 và 10 là dòng-feed / xuống dòng, vì vậy bạn có thể kiểm tra kết quả bằng cách thay thế EXEC với PRINT và nó sẽ dễ đọc hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cần một cột ngày giờ trong SQL Server tự động cập nhật khi bản ghi được sửa đổi

  2. Bộ xử lý truy vấn không thể tạo kế hoạch truy vấn do các gợi ý được xác định trong truy vấn này. Gửi lại truy vấn và không sử dụng SET FORCEPLAN

  3. Làm thế nào tôi có thể truy xuất tất cả nhân viên có tuổi sẽ là 21 trong thời gian một tháng?

  4. Sử dụng UDF cho giá trị mặc định của một cột

  5. Một câu lệnh SQL Server duy nhất có phải là nguyên tử và nhất quán không?