[AppHarbor]修改SQL Server的定序

在資料庫輸入了中文,卻無意間變成了問號

心裡猜想應該是因為定序的問題

但是AppHarbor會讓我們直接從屬性中修改嗎?

從官方的問題回答 看起來是我們可以直接用Command 來修改資料庫的定序

來記錄一下這項修改吧

如果你很常使用SQL Server 相信修改定序應該難不倒你的!~

對現存資料庫按右鍵點選『屬性』,並點選左邊的『選項』頁面,第一個就是定序 直接選就好了吧?

就選擇Chinese_Taiwan_Stroke_BIN吧,按下確定~

ㄟ..好像不行耶!說我沒有權限..

系統掛在別人那 就是可能會有這樣的問題.....Appharbor上的SQL 權限想必不會開最大權限給我們


那怎麼辦哩

原來我們可以下command來修改資料庫中的定序,其中

  1. YourDatabaseName : 你想要修改資料庫的定序的資料庫名稱
  2. YourCollation : 你想要設定的定序名稱
ALTER DATABASE YourDatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE YourDatabaseName COLLATE YourCollation
ALTER DATABASE YourDatabaseName SET MULTI_USER

執行起來 會長這樣(如下圖)

至於為什麼要三行呢?
第一行中 Set SingleUser是一種保護模式,設定目前只有單一使用者可以使用
執行設定後,再回到多個使用者~ 相信應該不太難理解

再看一下屬性~ 設定完成!

參考資料

微軟文件
https://docs.microsoft.com/zh-tw/sql/relational-databases/databases/set-a-database-to-single-user-mode
https://docs.microsoft.com/zh-tw/sql/relational-databases/collations/collation-and-unicode-support
https://docs.microsoft.com/zh-tw/sql/relational-databases/collations/set-or-change-the-database-collation
Appharbor 技術支援網站
https://support.appharbor.com/discussions/problems/4450-change-collation-on-database-on-shared-server

-----------------------------------------

有時在會走之前你就得跑

你不解決問題 就等問題解決你