2016-07-14 80 views
2

我們正試圖將我們的數據庫放在sql azure中,並且遇到問題。我們有一個存儲過程是整理Latin1_General_CI_AI的,並在那裏是做一些加入與sys.objects中這似乎有SQL_Latin1_General_CP1_CI_AS歸類。當我們試圖創建存儲過程,我們得到的錯誤更改Azure SQL Server排序

無法解析規則「SQL_Latin1_General_CP1_CI_AS」和「Latin1_General_CI_AI」在等於操作之間的排序規則衝突。

我們可以通過在sys.object加入的末尾添加COLLATE SQL_Latin1_General_CP1_CI_AS來創建存儲過程,但我們有多個地方使用sys.object和我也看到了該臨時表可能有同樣的問題。

所以我的問題是,有沒有辦法改變「服務器」上的排序規則,創建新的SQL Server(邏輯服務器)時看不到任何東西。這將爲我們省去在任何地方強制整理的麻煩。

+0

如果您想更改數據庫的排序規則,您應該創建一個票據。支持團隊會在合理的時間內爲您提供幫助。 – Pio

回答

1

我能用bacpac做到這一點。

  1. 出口Management Studio中使用「導出數據層應用程序」數據庫
  2. 充分利用BACPAC
  3. 的副本通過更改擴展名重命名副本爲.zip
  4. ,打開拉鍊和打開model.xml文件(使用7-Zip打開拉鍊,然後雙擊打開記事本中的XML。編輯和保存)
  5. 更改屬性名稱=「歸類」 VALUE =「Latin1_General_CS_AS」
  6. 拉鍊重命名回到bacpac
  7. bacpac包含一個校驗和,它用來驗證包。這需要更新。當然還有一個dacchksum.exe實用程序的git副本。只需運行新的bacpac即可獲得校驗和值。
  8. 重命名BACPAC回拉鍊
  9. Zip文件裏,打開origin.xml並更新校驗
  10. 重命名的zip回BACPAC
  11. 嘗試再次進口!
+0

第7步只是一個澄清使用「計算」​​而不是「存儲」,它完美的作品! – Jonathan