SQLShack

este artigo explora a configuração de agrupamento de banco de dados SQL do Azure e como alterá-la ao importar o banco de dados de um arquivo BACPAC.

introdução

o agrupamento refere – se a uma configuração que determina o comportamento do mecanismo de banco de dados para o conjunto de dados de caracteres em um servidor, banco de dados ou nível de coluna. O SQL Server possui uma ampla gama de agrupamentos para lidar com diferenças de linguagem em diferentes partes do mundo. Ele fornece regras de classificação, sensibilidade de caso para tipos de dados Unicode (nchar, nvarchar ou ntext) e não Unicode (char, varchar, nvarchar).

SQL Server suporta os seguintes agrupamentos.

  • Windows
  • Binário: O agrupamento binário sempre termina com _BIN ou _BIN2
  • SQL Server: Estes agrupamento nomes de sempre iniciar com SQL_

Para um tradicional (no local) do SQL Server, o sistema operacional de localidade determina o padrão de agrupamento. No entanto, você pode modificar o agrupamento no nível do servidor durante a instalação do SQL Server ou modificar a localidade do sistema operacional. O agrupamento padrão do SQL Server é SQL_Latin1_General_CP1_CI_AS. Você pode entender esses agrupamentos em detalhes referindo-se ao suporte a Agrupamento e Unicode.

requisitos

este artigo presume que você tem um entendimento básico dos bancos de dados SQL do Azure. Se você é um iniciante, pode consultar os artigos existentes SQL Azure no SQLShack. Você pode utilizar o Microsoft Azure Free credit inscrevendo-se no URL https://azure.microsoft.com/en-us/free/

Azure SQL Database Collation

o Azure SQL DB é uma oferta de PaaS gerenciada para o SQL Server com certas restrições e limitações para executar tarefas específicas. Como o SQL Server local, o Azure DB também oferece suporte a vários agrupamentos. Para obter uma lista de agrupamentos suportados para o Azure SQL DB, podemos consultar o sistema.função fn_helpcollations (). Ele retorna uma lista de 5.508 colações. A figura abaixo dá-lhe um vislumbre do agrupamento e Descrições.

lista de agrupamento suportada

lista de agrupamento com suporte

para o Azure SQL DB, você pode escolher agrupamento de banco de dados na guia Configurações adicionais da criação de banco de dados SQL. Como mostrado abaixo, o agrupamento padrão aparece como SQL_Latin1_General_CP1_CI_AS.

podemos quebrar esse agrupamento para entendê-lo.

  • SQL – refere-se que ele é um agrupamento do SQL Server
  • Latin1_General – Esta parte define o caráter de ordenação regra
  • CI – refere-se sensível a maiúsculas e minúsculas
  • COMO Ele define a sensibilidade de acentuação

Especificar o agrupamento enquanto a criação de banco de dados

Especificar o agrupamento enquanto a criação de banco de dados

Você pode clicar em localizar um agrupamento e olhar para o agrupamento específico que você deseja configurar para o Azure DB.

você pode implantar um banco de dados do Azure em um servidor lógico do Azure existente. Portanto, se você criar um novo banco de dados do Azure usando SSMS, poderá definir um agrupamento específico usando a página Opções.

verifique o agrupamento em SSMS

se você criar um banco de dados SQL do Azure usando T-SQL, poderá usar a palavra-chave COLLATE e especificar o agrupamento de banco de dados necessário.

1
2
3

CRIAR BANCO de dados MyDemoSQLDB
AGRUPAR Latin1_General_100_CS_AS_SC;
IR

Você deve criar o banco de dados no agrupamento correto. Suas consultas SQL podem não funcionar corretamente devido à incompatibilidade de agrupamento. No entanto, se você precisar modificar depois de criar o banco de dados SQL do Azure, isso não é simples. O Azure SQL DB não suporta a alteração do Agrupamento usando o ALTER DATABASE COLLATE. Você recebe a seguinte mensagem de erro se tentar alterá-la.

1
2
3
4

Use master
ir p
ALTER DATABASE Azuredemodatabase
AGRUPAR agrupamentos sql_latin1_general_cp1250_ci_as

Modificar agrupamento utilizando a função AGRUPAR

  • Nota: não modificar ou definir um agrupamento específico até que você tenha necessidades específicas. Nunca faça isso diretamente em um banco de dados de produção. Teste-o completamente em um ambiente de banco de dados inferior e, em seguida, planeje prosseguir para o agrupamento de produção

suponha que você esteja implantando um banco de dados SQL do Azure a partir do arquivo BACPAC local. Você deseja um agrupamento diferente no banco de dados de destino.

  • Nota: presumo que você tenha um banco de dados SQL do Azure ativo. Caso contrário, você pode usar uma conta de nível gratuito para implantar seu banco de dados de teste
  • para este artigo demo, faremos as seguintes tarefas:

    • Exporte o banco de dados SQL do Azure no formato BACPAC
    • Instale o Microsoft SQL Server Data-Tier Application Framework (18.1)
    • modifique o modelo.configuração do arquivo xml
    • Use sqlpackage.exe para implantar o banco de dados do Azure com agrupamento atualizado
    • verifique o agrupamento de banco de dados

    Etapa 1: Exporte o banco de dados SQL do Azure no formato BACPAC

    nesta etapa, exportamos o banco de dados SQL do Azure no formato BACPAC. Podemos verificar se o agrupamento existente é SQL_Latin1_General_CP1_CI_AS.

    Seleção de agrupamento existentes

    Para exportação, clique com o botão direito do mouse sobre o Azure, banco de dados e escolha Exportar o Aplicativo da camada de Dados…

    Exportar o banco de dados SQL Azure no formato BACPAC

    Exportar o banco de dados SQL Azure no BACPAC formato

    Especifique o diretório em salvar para o disco local.

    Salvar no disco local

    verificar, exportar e monitorar o progresso do aplicativo de nível de dados no formato BACPAC.

    Ver estado

    Ver estado

    Passo 2: Baixar Microsoft SQL Server Data-Tier Application Framework (18.1)

    você precisa baixar e instalar a versão mais recente do SSDT. Navegue até URL https://www.microsoft.com/en-us/download/details.aspx?id=57784 e clique em Download.

    baixar Microsoft SQL Server Data-Tier Application Framework

    baixe o Microsoft SQL Server Data-Tier Application Framework

    selecione a versão do arquivo MSI necessária e faça o download. É um arquivo de pacote leve.

    Escolha MSI

    Escolha MSI

    Siga o assistente de instalação para configurar o Microsoft SQL Server aplicativo da camada de Dados framework.

    progresso da Instalação

    progresso da Instalação

    o progresso da Instalação mensagem

    o progresso da Instalação mensagem

    Instalação concluída

    Instalação concluída

    Passo 3: Mudar o nome. Arquivo BACPAC para .ZIP

    nesta etapa, renomeamos o arquivo de pacote BACPAC exportado para um formato ZIP. Para fazer isso, clique com o botão direito do mouse no BACPAC importado e altere a extensão para ZIP. O tipo de arquivo é compactado (compactado) após alterar a extensão, conforme mostrado na figura abaixo.

    renomeie o.Arquivo BACPAC para .ZIP

    renomeie o.Arquivo BACPAC para .ZIP

    clique com o botão direito do mouse no arquivo compactado e extraia-o. Na pasta extraída, você encontra um modelo.xml, Copie o modelo.xml para outro diretório, como o C:\Temp pasta.

    Modelo de arquivo xml

    Modelo de arquivo xml

    Abra o modelo.xml a partir de C:\Temp\Model.xml e modificar o agrupamento DB. A figura a seguir mostra colações antigas e novas para o banco de dados SQL do Azure. Aqui usamos o agrupamento SQL com sensibilidade ao caso.

    modificar agrupamento no modelo.xml

    modifique o agrupamento no modelo.xml

    Etapa 4: implante o banco de dados do Azure usando o sqlpackage.exe

    aqui, navegue até o diretório C:\Program arquivos \ Microsoft SQL Server \ 150 \ DAC \ bin no prompt de comando. Nós usamos sqlpackage.exe para importar o BACPAC com o parâmetro /ModelFilePath. Ele substitui a configuração do arquivo do modelo BACPAC com o arquivo específico neste parâmetro.

    parâmetros necessários:

    • /tsn: especifique o FQDN do Azure SQL Server no qual queremos importar este arquivo BACPAC. No meu caso, é azuredemosqldemo.database.windows.net
    • /tdn: é o novo nome do banco de dados SQL do Azure. Você não pode importar BACPAC em um banco de dados existente
    • / tu: especifique o nome de usuário do administrador para se conectar ao Azure SQL Server e implantar o banco de dados
    • / tp: Digite a senha para o usuário admin
    • / sf: especifique o local do arquivo BACPAC
    • /ModelFilePath: digite o modelo atualizado.Caminho do arquivo XML

    anteriormente, mudamos a extensão do arquivo BACPAC para ZIP. Precisamos alterá-lo de volta para BACPAC para executar o sqlpackage.comando exe.

    para modificar o agrupamento no BACPAC, execute o seguinte comando em um prompt de comando.

    sqlpackage.exe / ação: importação /tsn:azuredemosqldemo.database.windows.net /tdn: azuredemodatabasenew / tu: sqladmin / tp: * * * * * * * /sf: C:\Temp\azuredemodatabase.BACPAC / ModelFilePath: C: \ Temp \ model.xml

    você recebe uma mensagem de aviso:

    “modelo de substituição.xml usando arquivo ‘C:\Temp\model.xml”. O uso dessa configuração pode resultar em falha de implantação e/ou perda de dados não intencional. Essa configuração pretende ser usada apenas ao solucionar problemas com publicação, importação ou geração de script”

    ele inicia a importação de Dados, processa tabelas e implanta banco de dados nele. O tempo de implantação do banco de dados depende do número de tabelas, tamanho dos dados, índices.

    implantar banco de dados usando sqlpackage.exe

    no final, você recebe a mensagem – banco de dados importado com sucesso.

    banco de dados importado bem-sucedido

    Etapa 5: verificação

    agora, conecte-se ao banco de dados do Azure usando SSMS e verifique o agrupamento de banco de dados usando o seguinte script.

    1
    SELECIONE CONVERT (varchar(256), DATABASEPROPERTYEX(‘azuredemodatabasenew’,’agrupamento’));

    como mostrado abaixo, o banco de dados recém-implantado usa collation SQL_Latin1_General_CP1_CS_AS.

    verifique o agrupamento no banco de dados SQL do Azure implantado

    Agora, faça login no portal do Azure e visualize as propriedades do banco de dados. Este banco de dados tem um Gen5 de uso geral, camada de preços 2vcores. Não especificamos nenhum nível de preços durante a implantação do banco de dados. Portanto, o banco de dados SQL do Azure assume o nível de preços padrão.

    ver os níveis de preços

    Passo 6: Implemente o banco de dados do Azure em um nível de preços específico

    suponha que queremos implantar um banco de dados com agrupamento modificado e um nível de preços básico. Para esta demonstração, alteramos o agrupamento de banco de dados para Latin1_General_BIN. Portanto, abra o modelo.xml e altere o agrupamento conforme destacado antes.

    alterar agrupamento DB para Latin1_General_BIN.

    desta vez, especificamos um novo parâmetro(/p) para definir a edição do banco de dados. Ele instrui o Azure a implantar o banco de dados na camada de preços específica.

    sqlpackage.exe / ação: importação / tsn: azuredemosqldemo.banco.windows.net como baixar e instalar Minecraft 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.BACPAC / ModelFilePath: C: \ Temp \ model.xml

     implantar pacote

    uma vez que o banco de dados é implantado, verifique o agrupamento de banco de dados. Como mostrado abaixo, ele usa o agrupamento Latin1_General_BIN.

    verificar agrupamento DB

    verifique o agrupamento de DB

    você pode se conectar ao Portal do Azure e verificar o nível de preços como Básico.

    verificar o nível de preços

    • Nota: Você não deve modificar o agrupamento de banco de dados sem nenhum requisito específico. Pode causar problemas se você alterá-lo arbitrariamente

    conclusão

    este artigo explorou o agrupamento de banco de dados SQL padrão do Azure e o processo para alterá-lo ao importar DB de um arquivo BACPAC. Você pode especificar o agrupamento desejado e implantar o banco de dados. No entanto, nunca altere o agrupamento, a menos que você tenha um requisito específico. Você pode tentar as etapas em seu próprio banco de dados SQL do Azure de teste.

    • Autor
    • Posts Recentes
    Rajendra Gupta
    Como uma certificação MCSA e Microsoft Certified Trainer em Gurgaon, na Índia, com 13 anos de experiência, Rajendra trabalha para uma variedade de empresas de grande porte com foco em otimização de desempenho, monitoramento, alta disponibilidade e recuperação de desastres estratégias e implementação. Ele é autor de centenas de artigos autorizados sobre SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git e tecnologias relacionadas que foram visualizadas por mais de 10 milhões de leitores até o momento.
    ele é o criador de uma das maiores coleções online gratuitas de artigos sobre um único tópico, com sua série de 50 partes no SQL Server sempre em grupos de disponibilidade. Com base em sua contribuição para a comunidade SQL Server, ele foi reconhecido com vários prêmios, incluindo o prestigioso “melhor autor do ano” continuamente em 2020 e 2021 na SQLShack.Raj está sempre interessado em novos desafios por isso, se você precisar de ajuda de consultoria sobre qualquer assunto coberto em seus escritos, ele pode ser alcançado em rajendra.gupta16 @ gmail.com
    Ver todos os posts por Rajendra Gupta

    Rajendra Gupta
    postagens mais Recentes por Rajendra Gupta (ver todas)
    • Use o BRAÇO de modelos para implantar o Azure recipiente de instâncias do SQL Server Linux imagens – 21 de dezembro de 2021
    • área de trabalho Remota de acesso da AWS RDS para SQL Server com o Amazon RDS Personalizada – dezembro 14, 2021
    • Armazenamento de arquivos do SQL Server no Armazenamento Persistente para Azure Recipiente Instâncias de dezembro de 10, 2021

Deixe uma resposta

O seu endereço de email não será publicado.