Latin1_General_CI_AS (standart harmanlama) tek bir harmanlama tüm veritabanlarını standardize etmeye çalışıyorum. SQL_Latin1_General_CP1_CI_AS içinde olan bazı veritabanları var.
Ben veritabanı harmanlama değiştirmek için ALTER DATABASE kullanabilirsiniz biliyorum, ama bu sadece yeni nesneleri etkiler. Anladığım kadarıyla mevcut sütunları değiştirmenin tek yolu, her tablodaki her sütunda ALTER COLUMN yapmaktır - ve bunu yapmak için tüm dizinleri bırakıp yeniden oluşturmanız gerekir.
Sanırım böyle bir şey olurdu:
DROP INDEX indexname ON tablename
GO
ALTER TABLE tablename ALTER COLUMN columname varchar(50) COLLATE Latin1_General_CI_AS NULL
GO
CREATE CLUSTERED INDEX indexname ON tablename (columname ASC)
ve tüm veritabanındaki her varchar, char, text, nvarchar, nchar ve ntext sütunu için tekrarlayın. Bu muazzam bir SQL betiği olurdu .
Bunu yapmanın daha kolay bir yolu var mı, yoksa herkes bunu yapmak için bir SQL komut dosyası oluşturmayı otomatikleştirmenin bir yolunu önerebilir mi?