Partilhar via


Demonstra Passo a passo: Depurar um procedimento armazenado estendido

Este tópico se aplica a:

Edição

Visual Basic

C#

C++

Desenvolvedores Web

Express

Padrão

PRO e equipe

Legenda de tabela:

Aplica-se

Não é aplicada

Comando ou comandos oculta por padrão.

Cuidado:

Uso de procedimentos armazenados estendidos.Embora eles continuam a ser suportados para compatibilidade com versões anteriores no ASP.NET, que suporte será removida em uma versão futura.

Procedimentos armazenados estendidos foram introduzidos para habilitar ações não é possíveis em T-SQL, sistema autônomo acessar o sistema de arquivos, lendo o registro e assim por diante.Agora que você pode fazer essas coisas Escrevendo procedimentos SQL CLR, a necessidade de escrever os procedimentos armazenados estendidos é perdida.É altamente recomendável que você não gravar novos estendida procedimentos armazenados e considere substituir os existentes com equivalentes, mas é mais seguro, procedimentos armazenados do SQL CLR.

Os procedimentos armazenados estendidos são DLLs escritas em C++, ou qualquer Outros linguagem, em vez de SQL.Portanto, depuração de um procedimento armazenado estendido é semelhante a depuração qualquer DLL nesse linguagem.

Cuidado:

Procedimentos armazenados estendidos geralmente são gravados em C++ nativo e não têm as proteções proporcionadas pelo código gerenciado.Eles devem ser testados com cuidado porque bugs têm o potencial de falhar do SQL servidor.Para evitar possível perda de dados e outros problemas, não depure um procedimento armazenado estendido em um servidor de produção.Para obter mais informações, consulte ASP.NET Livros online.

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Para alterar as configurações, escolha Import and Export Settings no menu Tools.Para obter mais informações, consulte Configurações do Visual Studio.

Para depurar um procedimento armazenado estendido

  1. Comece com uma compilação de depurar de um procedimento armazenado estendido DLL.Você também precisa de um aplicativo que chama o procedimento armazenado estendido que você deseja depurar.Se você não tiver preparado um para, você executar uma das seguintes ações:

    • Criar um Visual Studio projeto de banco de dados com uma conexão de dados para o banco de dados que contém o estendida armazenados procedimento e código para chamar o procedimento armazenado estendido.

    • Crie um arquivo de script SQL que chama o procedimento armazenado estendido.

      - ou -

    • Use um aplicativo sistema autônomo ISQL/W, incluído no SQL servidor, ou ODBC teste, incluídas no SDK do ODBC.

  2. Se o SQL servidor está sendo executado sistema autônomo um serviço, pará-lo a abrindo o Serviços no painel de controle, selecionando SQL servidor e clicando em Parar.

  3. Copie a versão de depurar da DLL para o diretório onde reside o sqlservr.exe ou para qualquer diretório no caminho de Pesquisar.

    - ou -

    Defina um evento de pós-compilação para copiar a DLL em seu projeto C++ da seguinte maneira:

    1. Abra o <Projeto> propriedade Pages caixa de diálogo.

    2. No <Projeto> propriedade Pages caixa de diálogo, open the Propriedades de configuração pasta.

    3. Em Propriedades de configuração, em aberto the Criar eventos pasta.

    4. selecionar Evento de pós-compilação.

    5. No controle de grade, próximo a Linha de comando, digite uma cópia de comando, sistema autônomo o exemplo a seguir:

      Copy c:\MyProjects\MyXProc\debug\MyXProc.dll C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn

  4. Registre o procedimento armazenado estendido.

  5. Especifica o SQL servidor sistema autônomo o diretório chamado de executável e trabalhando para o procedimento armazenado estendido DLL.Modificar sistema autônomo configurações no Propriedades do projeto <project> a caixa de diálogo, o que você pode acesso no Depuração categoria de de Propriedades de configuração, da seguinte maneira:

    • Se o SQL servidor foi instalado no localização padrão, digite C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\SQLSERVR.EXE no Comando box.

    • conjunto o Diretório de trabalho entrada para C:\programa Files\Microsoft SQL servidor\MSSQL.1\MSSQL\Binn.

    • conjunto o Argumentos de comando entrada to -c. The -c opção indica ao SQL servidor que ele está sendo iniciado a partir da linha de comando e não sistema autônomo um serviço, que fará com que o SQL servidor para iniciado mais rapidamente. SQL servidor será iniciado, não sistema autônomo um serviço, mas sistema autônomo um aplicativo de console sob o controle do Visual Studio ambiente de depuração. Isso permitirá que pontos de interrupção ser interceptado e manipulado corretamente.

  6. conjunto pontos de interrupção no código-fonte do procedimento armazenado estendido.

  7. Use um comando de execução para iniciar a sessão de depuração.Para obter mais informações, consulte Controle de execução.

    Aparecerá uma janela de console sistema autônomo o SQL servidor é iniciado.Quando o texto de letreiro pára, a última mensagem aparecerá:

    Iniciado o procedimento de inicialização 'sp_sqlregister'

    O SQL servidor inicia e começa a processar solicitações.

  8. executar o procedimento armazenado estendido.

    O depurador interromperá quando atingir uma linha que contenha um ponto de interrupção.

    Para obter mais dicas sobre como gravar procedimentos armazenados estendidos, consulte a seção do SQL servidor da Base de Dados de Conhecimento Microsoft da Microsoft ou a seção de documentação do SQL servidor na Biblioteca MSDN Programming procedimentos armazenados estendidos.

Consulte também

Conceitos

Depuração SQL