2014-01-29 96 views
0

我安裝了用於幾個不同應用程序的SQL Server 2012。需要我們的一個應用程序被安裝,但該公司說:SQL Server 2012-服務器整理和數據庫整理

的SQL排序規則是不正確的,它需要:SQL_Latin1_General_CP1_CI_AS

您只需卸載SQL Server數據庫引擎&重新安裝後選擇正確的排序規則。

這家公司有什麼可能想更改數據庫引擎本身的排序規則?

+2

他們是不專業的,而不是固定他們的軟件來處理一系列的排序規則,決定客戶有過錯? –

+1

tempDB從服務器繼承排序規則。如果您的應用程序數據庫與服務器的排序規則不同,則臨時表上的連接可能不起作用。也許這就是爲什麼他們要求你在整個服務器範圍內進行排序。 – Ralf

回答

1

是的,您可以在數據庫級別設置排序規則。要做到這一點,這裏有一個例子:

USE master; 
    GO 
    ALTER DATABASE <DatabaseName> 
    COLLATE SQL_Latin1_General_CP1_CI_AS; 
    GO 
1

您可以更改數據庫整理您使用下面的查詢

USE master; 
GO 
ALTER DATABASE Database_Name 
COLLATE Your_New_Collation; 
GO 

欲瞭解更多有關數據庫排序規則創建的數據庫即使Read here

+0

謝謝,是的,這就是我的想法,但我不明白爲什麼他們會希望在數據庫引擎本身上更改排序規則?有任何想法嗎? – Lock

+0

沒有問題,不知道爲什麼他們有這個奇怪的要求,只要應用程序數據庫有正確的整理設置他們的應用程序應該運行得很好。如果公司提供的應用程序將使用此數據庫,並且他們要求您這樣做,那麼稍後如果應用程序出現任何問題,他們可以將這些責任歸咎於您的整理設置。現在只需使用這個'Alter Database'來進行整理更改,但是如果他們仍然反對,那麼只要做他們想要的:)從經驗談話。 –

+0

好吧,我收到了他的回覆:反過來,當將數據庫附加到數據庫時,您需要新的SQL實例歸類來匹配舊的SQL歸類。 排序規則用於數據庫的功能,而不僅僅是創建時設置的東西。 – Lock