2013-04-04 117 views
2

我有一個CRM 2011數據庫集合,所有這些數據庫都安裝在運行SQL 2008 R2的同一SQL服務器上。其中一個數據庫的排序規則爲Modern_Spanish_Cl_Al,而其他所有數據庫的排列規則爲Latin1_General_Cl_Al。我希望所有這些都設置爲Latin1,所以我想回去修復西班牙語數據庫,使其與其他人一樣。如何更改CRM 2011 SQL數據庫的排序規則?

如何將數據庫排序規則從Modern_Spanish_Cl_Al更改爲Latin1_General_Cl_Al

我嘗試使用UI在數據庫級別做,但我收到一百萬這樣的錯誤:

統計「TeamBase.fndx_Sync_VersionNumber」是依賴於數據庫歸類。如果模式綁定對象依賴於該數據庫,則無法更改數據庫排序規則。刪除數據庫歸類的依賴關係,然後重試該操作。

我試圖同時使用UI將列級別,但接收到的不同的錯誤消息:

保存更改是不允許的。您所做的更改需要將以下表格刪除並重新創建...

我在測試環境中處理此問題,因此我願意嘗試,並且我意識到我在嘗試如果不打破CRM,可能無法做到。

回答

1

你嘗試創建一個新的數據庫使用正確的排序規則

CREATE DATABASE DatabaseName COLLATE Latin1_General_Cl_Al; 

然後備份恢復使用不正確的排序規則,DB到新的?
如果要進行此項工作,則必須使用Deployment Manager中的導入組織嚮導,根據新數據庫導入新組織。

編輯

尋找到在此之後,它似乎很難改整理,做備份,即使/恢復。
如果你想改變數據庫級別的排序規則,唯一的選擇似乎是一個

ALTER DATABASE ... COLLATE 

但這隻會影響新對象。然後您將不得不使用ALTER TABLE來更改現有的表。此外,由於整理規定了數據的排序和存儲方式,因此需要導出所有數據並再次將其導入(例如,使用BCP和BULK INSERT)。要添加到此,列的某些屬性可防止更改排序規則(例如某些約束和模式綁定函數引用)。如果您想要更改整個數據庫的排序規則,最簡單的方法可能是編寫數據庫腳本並使用正確的排序規則創建一個新規則,然後將數據整理到新的數據庫中。

+0

有沒有人曾經爲CRM 2011數據庫成功完成過此任務? – nairware 2014-03-09 07:52:55

+0

完成了什麼?腳本和重新創建? – 2014-03-25 13:31:34

+0

按照本答覆中概述的過程更改了CRM 2011 SQL數據庫的排序規則。 – nairware 2014-03-25 14:53:36

相關問題