Array
(
)

Collation no SQL Server

Mariana Carvalho
   - 10 jul 2013

em quais situações devemos utilizar collarion do SQL Server?

Mariana Carvalho
   - 11 jul 2013

obrigada Roniere, mas queria informações com mais detalhes!!!

Roniere Almeida
   - 11 jul 2013

sinceramente, não conheço muito sobre o assunto.

Mariana Carvalho
   - 12 jul 2013

obrigada mesmo assim.

Alex Lekao
   - 15 jul 2013

Ola Mariana, boa tarde!!!

Retornando devagar... rsrsr

o que vc precisa especificamente sobre o Collation?

se nao me engano o Collation determina o conjunto de caracteres que sera utilizado pelo banco de dados, por exemplo latino, americano etc.

eh utilizado para leitura ou identificacao, o termo exato nao to conseguindo achar agora... rsrsr, de caracteres especiais, como cedilha, til, etc.

se nao me engano tem um comando do sql, ou algo do tipo, que vc consegue ajustar o collaction no momento do select, collate acho que eh isso, pelo que dei uma pesquisada meio por cima... rsrsr

Ve direitinho qual eh a sua duvida e posta ai mais detalhes a respeito e a gente tenta ir resolvendo juntos. rsrsr

Abraco.

Alex - Lekao

Mariana Carvalho
   - 15 jul 2013

queria saber se ele é utilizado na seguinte situação...o banco de dados seria de uma multinacional onde teríamos varias bases espalhadas por N paises, é nisso que o collation se encaixa ou não é isso?

Alex Lekao
   - 15 jul 2013

sim tambem.

Ele pode ser aplicado a base em si ou em uma tabela por exemplo.

ela pode ser contornado usando o comando collate se nao me engano.

e tambem na collaction eh definido se vai ser canse sensitive ou nao, estas coisas.

mas as bases serao para o mesmo ERP? elas serao replicas uma da outra? se sim recomendaria usar as mesma collation para todas as bases e via programacao ou alguma function no banco para se evitar inserir algum caracter que nao seja da tabela de caracteres da collation.

da uma olhada nestes links para ver se ajuda um pouco mais sobre a collation.

http://msdn.microsoft.com/pt-br/library/ms184391.aspx
http://dba-sqlserver.blogspot.com.br/2010/01/collate-collation-no-sqlserver.html
http://gustavomaiaaguiar.wordpress.com/2008/10/12/como-resolver-problemas-relacionados-a-conflitos-de-collation/

espero ter ajudado.

Abraco.

Alex - Lekao

Daniel Costa
   - 24 jul 2013

Eu tive que aprender meio que na marra pois trabalhava com Oracle na empresa anterior, então quero compartilhar algumas coisas que sofri pelo não conhecimento e tenho problemas até hoje.

Com relação à Collations.

Mesmo que sejam bases separadas, se em algum momento seja possível que você faça consultas relacionadas entre tabelas de collation diferente a consulta dará conflito, não se consegue fazer join entre collations diferentes, pelo menos nunca consegui, tenho muito problema com isso pois eu migrei um banco do Access pro SQL Server que eram 9 bases, e por não conhecer é difícil relacionar, e estou em um processo grande reformulação

Como a galera comentou o collation define quais caracteres são reconhecidos ou não...

Caso diferencie acento use um tipo com AS (acentue sensitive) caso não importe "í" ou "i" use AI(acentue insensitive)
Mesma coisa com a case (maiúscula e minúscula)

Lembrete:

Mesmo que no meio do caminho você troque o collation do banco de dados os objetos previamente criados não terão o collation trocado, e caso deseje que esse collation seja trocado de uma tabela por exemplo terá que recriá-la

Se liga também nos tipos de dados, se você poderá ter caracteres unicode, deverá usar NVarchar, Nchar etc, caso não precise de unicode, não role língua asiática não use nvarchar, nchar etc use varchar, char por questão de espaço de armazenamento , um campo nvarchar armazena o dobro - 2 em relação a um campo varchar

Duas páginas interessante no MSDN
http://msdn.microsoft.com/pt-br/library/ms143726.aspx
http://msdn.microsoft.com/pt-br/library/ms188046.aspx

Mariana Carvalho
   - 25 jul 2013

Obrigada Alex.

Mariana Carvalho
   - 25 jul 2013

Daniel, obrigada a vc por compartilhar experiencias e soluções!!!

Alex Lekao
   - 25 jul 2013

Ola Mariana, disponha.

Desculpe a demora.

Obrigado Daniel por compartilhar, somou bastante ao post.

Abraco.

Alex - Lekao

Mariana Carvalho
   - 25 jul 2013

obrigada Alex, esse assunto acho ele meio escondido, as vezes evitado!!!

Alex Lekao
   - 27 jul 2013

Das collations?

Acredito que no geral o pessoal nao sabe mesmo... rsrsr

mas eh meio evitado mesmo, eu sigo o padrao de nao utilizar nenhum tipo de acentuacao em hipotese nenhuma e recomendo aos desenvolvedores que tambem assim o facam.

acredito que assim conseguira evitar os "conflitos" com as collations.

Abraco.

Alex - Lekao

Mariana Carvalho
   - 21 ago 2013

OK Alex.

Alex Lekao
   - 28 ago 2013

mais um link

http://bobgalvao.wordpress.com/2013/08/27/alterar-collation-de-banco-de-dados-sql-server/?goback=%2Egde_1945724_member_268989830#%21

Faabiianooc
   - 28 ago 2013

É um assunto muito complexo!

Mas se tiver problemas com collation basta usar #Código

collate database_dafault

ao lado da coluna. EX:

Select a,coluna collation database_default
from tabela1 as a
inner join tabela2 b
on a.coluna = b.coluna.

E a explicação basica é o que os companheiros informaram.

Abraços!

Mariana Carvalho
   - 01 set 2013


Citação:
mais um link

http://bobgalvao.wordpress.com/2013/08/27/alterar-collation-de-banco-de-dados-sql-server/?goback=%2Egde_1945724_member_268989830#%21


obrigada Alex.

Mariana Carvalho
   - 01 set 2013

Obrigada tambem Fabiano.