title: What is the difference between NVarchar, Bin collation, Bin2 collation?
body: <p>All 3 options are case and accent sensitive, and support Unicode.
  According to the documentation:</p>
  
  <ol>
  <li><p>NVarchar sorts and compares data based on the "dictionaries for the associated language or alphabet" (?)</p></li>
  <li><p>Bin sorts and compares data based on the "bit patterns" (?)</p></li>
  <li><p>Bin2 sorts and compares data based on "Unicode code points for Unicode data" (?)</p></li>
  </ol>
  
  <p>To make complex things simple, can I say that the Bin is an improvement of the NVarchar and the Bin2 is an improvement of the Bin; and unless I am restricted to backwards compatibility, it is always recommended to use Bin2 or at least Bin in order to enjoy a better performance?</p>
  
  <p>=========================================================================
  I will try to explain my self again.</p>
  
  <p>Have a look:</p>
  
  <pre><code>If Object_ID('words2','U') Is Not Null Drop Table words2;
  Create  Table words2(word1 NVarchar(20),
                      word2 NVarchar(20) Collate Cyrillic_General_BIN,
                      word3 NVarchar(20) Collate Cyrillic_General_BIN2);
  
  Insert
  Into    words2
  Values  (N'ھاوتایی',N'ھاوتایی',N'ھاوتایی'),
          (N'Συμμετρία',N'Συμμετρία',N'Συμμετρία'),
          (N'אבַּג',N'אבַּג',N'אבַּג'),
          (N'対称性',N'対称性',N'対称性');
  Select * From words2;
  </code></pre>
  
  <p>All 3 options support all kinds of alphabet, no matter what is the collation.</p>
  
  <p>The question is- what is practical difference between the 3 options? Suppose I want to store private names in different alphabets, which option may I use? I guess I will have to find specific names (Select .. From.. Where..), order names (Select.. From.. Order By..).</p>