Expondo a programação SQL à Web

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Quando você cria ou atualiza pontos de extremidade SOAP HTTP, os procedimentos armazenados ou as funções definidas pelo usuário podem ser expostos seletivamente como métodos Web. Os métodos Web são procedimentos armazenados ou funções definidas pelo usuário existentes que já foram criados usando a instrução Transact-SQL apropriada, como CREATE PROCEDURE para um procedimento armazenado ou CREATE FUNCTION para uma função definida pelo usuário, e que são definidos para acesso à Web via ponto de extremidade.

Logo após a criação de um procedimento armazenado ou função definida pelo usuário no servidor, este pode ser exposto publicamente como método Web usando as instruções de DDL de ponto de extremidade, ou seja, CREATE ENDPOINT ou ALTER ENDPOINT.

ObservaçãoObservação

Funções definidas pelo usuário que retornam valores de tabela não são suportadas.

Diretrizes e limitações de nomenclatura de parâmetro para métodos Web

De acordo com as regras de nomenclatura do SQL Server, os parâmetros usados em funções definidas pelo usuário e procedimentos armazenados devem ter nomes formatados corretamente. Para obter mais informações, consulte Utilizando identificadores como nomes de objetos e Especificando um nome de parâmetro.

Às vezes, são permitidos alguns tipos de convenções de nomenclatura substituídas para funções definidas pelo usuário e procedimentos armazenados que não podem ser aceitos para ser usados com o acesso aos XML Web Services Nativos. A seguir estão os nomes de parâmetro que são permitidos pelas regras de nomenclatura de parâmetro do SQL Server porém foram substituídos e não são permitidos quando uma função definida pelo usuário ou um procedimento armazenado foi exposto(a) como método Web:

@

@@

@@this_is_not_a_global

Para permitir a exposição através do acesso aos XML Web Services Nativos, esses nomes de parâmetro substituídos precisam ser modificados para o procedimento ou função solicitado para permitir que sejam usados parâmetros com nomes padrão da forma @param.

Expondo procedimentos armazenados do sistema

No SQL Server, os procedimentos armazenados do sistema podem ser usados para executar várias atividades informativas e administrativas. Às vezes, você pode querer expor esses procedimentos como métodos de serviços da Web que podem ser acessados por pontos de extremidade HTTP.

Todos os procedimentos armazenados do sistema são armazenados no banco de dados Resource do sistema, mas nem todos os procedimentos armazenados do sistema têm informações de metadados que permitirão respostas WSDL (Web Service Description Language) para expor o esquema correto. Isso pode criar situações em que alguns procedimentos armazenados do sistema não operam conforme esperado quando são expostos em um ponto de extremidade HTTP.

Se você pretende expor procedimentos armazenados do sistema como parte de sua própria solução personalizada de gerenciamento do SQL Server, poderá adotar as abordagens alternativas a seguir. Elas permitem contornar situações em que um procedimento armazenado de sistema específico não pode se tornar acessível.

  • Primeiro, para uso não recursivo simples dos procedimentos armazenados do sistema, tente criar os próprios procedimentos armazenados definidos pelo usuário para envolver o procedimento armazenado de sistema que deseja expor em um ponto de extremidade HTTP.

  • Segundo, se a abordagem anterior for muito complexa ou intricada de gerenciar porque você está usando chamadas aninhadas para vários procedimentos armazenados, considere o uso do método sqlbatch como uma solução alternativa. Para obter um exemplo de como usar sqlbatch, consulte Estrutura de mensagens de solicitação SOAP.