SR0016: Evite usar SP _ como prefixo para procedimentos armazenados
RuleId |
SR0016 |
<strong>Categoria</strong> |
Microsoft.Naming |
Alteração significativa |
Quebrando |
Causa
Um ou mais dos procedimentos armazenados tem SP _ como prefixo.
Descrição da regra
Em SQL Server, o SP _ prefix designa armazenado no sistema de procedimentos. Se você usar esse prefixo para os procedimentos armazenados, o nome do seu procedimento entrarem em conflito com o nome de um procedimento armazenado do sistema que será criado no futuro. Se ocorrer um conflito tal, seu aplicativo pode romper se seu aplicativo refere-se ao procedimento sem a referência de qualificação por esquema. Nessa situação, o nome se vinculará o procedimento do sistema em vez de ao seu procedimento.
Como corrigir violações
Para resolver esse problema, você deve substituir o SP _ com um prefixo diferente para designar os procedimentos armazenado do usuário ou você não deve usar nenhum prefixo todo. Você deve considerar o uso a refatoração de banco de dados para atualizar o nome de todos os procedimentos que causam esse aviso. Usando a refatoração de banco de dados, você pode atualizar não somente o nome de cada procedimento, mas também todas as referências para esse procedimento em toda a sua o projeto de banco de dados. Para obter mais informações, consulte Renomear todas as referências a um objeto de banco de dados.
Quando suprimir avisos
Se você não pode alterar os aplicativos que chamam o procedimento armazenado, você pode suprimir esse aviso.
Exemplo
No primeiro exemplo, o nome do procedimento fará com que esse aviso a ser emitido. No segundo exemplo, o procedimento usa um prefixo de USP _ em vez de um SP _ e evita o aviso.
CREATE PROCEDURE [dbo].[sp_procWithWarning]
(
@Value1 INT,
)
AS
BEGIN
-- Additional statements here
RETURN 0;
END
CREATE PROCEDURE [dbo].[usp_procFixed]
(
@Value1 INT,
)
AS
BEGIN
-- Additional statements here
RETURN 0;
END
Consulte também
Conceitos
Analisando o código do banco de dados para melhorar a qualidade do código