Share via


Criando agregações definidas pelo usuário

Você poderá criar um objeto de banco de dados no SQL Server que seja programado em um assembly CLR. Os objetos do banco de dados que podem alavancar o modelo de programação avançado fornecido pelo CLR incluem gatilhos, procedimentos armazenados, funções, funções de agregação e tipos.

Assim como as funções de agregação internas fornecidas em Transact-SQL, as funções de agregação definidas pelo usuário executam o cálculo de um conjunto de valores e retornam um único valor.

Criar uma função de agregação definida pelo usuário em SQL Server envolve as seguintes etapas:

  • Definir a função de agregação definida pelo usuário como uma classe em uma linguagem Microsoft suportada por .NET Framework. Para obter mais informações sobre como programar agregações definidas em CLR, consulte Agregações CLR definidas pelo usuário. Compile essa classe para criar um assembly CLR que usa o compilador de linguagem apropriado.

  • Registrar o assembly no SQL Server usando a instrução CREATE ASSEMBLY. Para obter mais informações sobre assemblies no SQL Server, consulte Assemblies (Mecanismo de Banco de Dados).

  • Criar a agregação definida pelo usuário que referencia o assembly registrado que usa a instrução CREATE AGGREGATE.

ObservaçãoObservação

A implantação de um projeto SQL Server no MicrosoftVisual Studio registra um assembly no banco de dados especificado para o projeto. Implantar um projeto também cria uma agregação definida pelo usuário no banco de dados para todas as definições de classe anotadas pelo atributo SqlUserDefinedAggregate. Para obter mais informações, consulte Implantando objetos de banco de dados CLR.

ObservaçãoObservação

A capacidade do SQL Server de executar o código CLR, por padrão, está definida como OFF. É possível criar, alterar e descartar objetos do banco de dados que fazem referência aos módulos de código gerenciados, mas essas referências não serão executadas no SQL Server, a menos que a opção clr enabled tenha sido habilitada usando sp_configure (Transact-SQL).

Para criar, modificar ou descartar um assembly

Para criar uma agregação definida pelo usuário