如何检查临时表的排序规则是什么?
我想这样做是因为我想检查如果我的数据库具有与 SQL Server 实例不同的特定排序规则并创建临时表,会发生什么情况。
假设我们有这样的场景:
SQL Server 2008 - Latin1_General_CS_AS
测试数据库 - Estonian_CS_AS
然后创建表#Test
而不指定排序规则。哪个将是表的排序规则?
我认为Estonian_CS_AS
,但在我正在做的测试中是说Latin1_General_CS_AS
。这就是为什么我需要找到一个 SQL 语句来检查这一点。
注意:根据我所读到的内容,我认为临时对象的排序规则是由 tempdb
排序规则定义的。但如果这是真的,那么什么定义了它的种类呢?
最佳答案
tempdb
在服务器启动时重新创建,并从 model
数据库获取排序规则。
您在未指定排序规则的情况下创建的临时表将具有 tempdb
排序规则。创建临时表时可以使用 database_default
作为排序规则以获得与当前数据库相同的排序规则。
关于sql - 临时表的默认排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648987/