Substituir uma consulta do SQL Server por outra antes da execução

1

Estou tentando trabalhar com um aplicativo legado no SQL Server, que em algum momento faz a seguinte consulta

SELECT serverproperty('EngineEdition') as sqledition

O servidor responde com 2 (que é a edição correta), mas o aplicativo é fechado, pois o aplicativo exige que seja executado sobre o SQL Server Express, que é 4. Não temos acesso ao código e o desenvolvedor desapareceu há muito tempo .

Existe uma maneira de configurar o SQL Server para que, quando essa consulta for recebida, ela simplesmente retorne 4 e não o valor da propriedade?

Obrigado

    
por Carlos G. 31.08.2012 / 17:24

2 respostas

3

Seria melhor instalar o Express e apontar para ele. Qualquer coisa que você faça com relação a isso é obviamente um hack, na melhor das hipóteses, com riscos e consequências desconhecidos. Se o aplicativo ultrapassou as limitações do Express, então é um bom indicador de que você precisa seguir em frente a partir desse aplicativo, mesmo além dos sinais que você já mencionou que é hora de seguir em frente.

    
por 31.08.2012 / 18:07
2

+1 para o squillman. Não há como substituir o retorno de "serverproperty". Se o código estiver escrito em .NET, você poderá fazer com que um desenvolvedor o faça (usando Reflector ou similar). Uma vez que a consulta é provável no texto simples fonte você pode até ter alguma sorte substituindo-o por um editor HEX para algo como

SELECT 4 as sqledition
    
por 03.09.2012 / 16:43

Tags