我最近安裝了SQL Server 2008,並選擇了排序規則作爲區分大小寫。我想讓整個實例不區分大小寫(不適用於該實例中的數據庫)。如果我更改整理,是否會影響任何現有的數據庫?如果真是這樣,那麼是以哪種方式?將SQL Server排序規則更改爲區分大小寫且區分大小寫?
26
A
回答
47
您基本上需要再次運行安裝以使用新歸類重建master
數據庫。您無法以其他方式更改整個服務器的排序規則。
參見:
更新:如果要更改數據庫的整理,就可以得到使用這段T-SQL進行當前整理:
SELECT name, collation_name
FROM sys.databases
WHERE name = 'test2' -- put your database name here
這將產生一個有價值的東西,如:
Latin1_General_CI_AS
的_CI
的意思是 「不區分大小寫」 - 如果你想區分大小寫的,在它的地方使用_CS
:
Latin1_General_CS_AS
所以你的T- SQL命令是:
ALTER DATABASE test2 -- put your database name here
COLLATE Latin1_General_CS_AS -- replace with whatever collation you need
你可以使用服務器上所有可用的歸類列表:
SELECT * FROM ::fn_helpcollations()
可以看到服務器的當前歸類使用:
SELECT SERVERPROPERTY ('Collation')
2
你可以這樣做,但這些變化將對於插入數據庫的新數據的影響。從長遠來看,按照上面的建議。
此外,還有一些技巧可以覆蓋排序規則,例如存儲過程或函數的參數,別名數據類型和變量都被指定爲數據庫的默認排序規則。要更改別名類型的排序規則,您必須刪除別名並重新創建它。
您可以通過使用COLLATE子句來覆蓋文字字符串的默認排序規則。如果不指定排序規則,則會爲該文字指定數據庫默認排序規則。您可以使用DATABASEPROPERTYEX查找數據庫的當前歸類。
您可以通過在SELECT語句的ORDER BY子句中指定排序規則來覆蓋服務器,數據庫或列排序規則。
相關問題
- 1. 如果sql server的服務器排序規則區分大小寫且數據庫不區分大小寫,那麼查詢是否區分大小寫?
- 2. 區分大小寫的數據庫排序規則,但不區分大小寫的SQL查詢
- 3. 區分大小寫區分大小寫還是全大寫?
- 4. 將不區分大小寫的排序規則添加到PostgreSQL
- 5. 爲什麼區分大小寫和不區分大小寫?
- 6. SQL BETWEEN區分大小寫
- 7. 的Sql區分大小寫
- 8. SQL Server:區分大小寫的匹配?
- 9. SQL Server列名區分大小寫
- 10. SQL Server的區分大小寫
- 11. 的SQL Server查詢區分大小寫
- 12. 不區分大小寫MS SQL Server
- 13. 區分大小寫
- 14. SQL Server排序規則以匹配Java不區分大小寫的Unicode比較
- 15. c#區分大小寫的ASCII排序?
- 16. 使Oracle排序不區分大小寫?
- 17. SQL2:不區分大小寫的排序
- 18. ICU:創建不區分大小寫的排序規則
- 19. Flex AdavcedDagagrid排序區分大小寫
- 20. AWS Redshift - 不區分大小寫排序
- 21. 區分大小寫File.equals區分大小寫的文件系統
- 22. Lucene如何區分大小寫和不區分大小寫
- 23. NSMutableArray的排序 - 不區分大小寫
- 24. 使區分大小寫不敏感的區分大小寫表
- 25. 區分大小寫的URL不區分大小寫
- 26. VB.NET不區分大小寫;很好的區分大小寫?
- 27. 區分大小寫的區分大小寫的
- 28. 如何將SUA從區分大小寫變爲區分大小寫
- 29. 如何更改sqlite3數據庫的排序規則來不區分大小寫?
- 30. SQL Server不區分大小寫的排序
好的,謝謝你的信息。現在至少我想嘗試更改數據庫的排序規則以使其不區分大小寫。我發現這個'ALTER DATABASE DEV_DB COLLATE [不區分大小寫]鍵是相同的。但不確定用於不區分大小寫的值。任何幫助都是可觀的! – JPReddy 2010-07-21 05:22:46