Existe um procedimento armazenado no sistema para obter a versão #?
sql-server
database
tsql
Raio
fonte
fonte
Respostas:
Experimentar
ou para o SQL Server 2000 e acima, é mais fácil analisar o seguinte :)
De: http://support.microsoft.com/kb/321185
fonte
SELECT @@ VERSION
fonte
Eu sei que esta é uma postagem mais antiga, mas atualizei o código encontrado no link (que está morto a partir de 2013-12-03) mencionado na resposta postada por Matt Rogish :
fonte
Para o SQL Server 2000 e superior, prefiro a seguinte análise da resposta de Joe:
Dá resultados da seguinte maneira:
Lista básica de números de versão aqui ou lista exaustiva da Microsoft aqui .
fonte
select cast(serverproperty('productversion') as varchar) as [result]
. O que quero dizer é que eu posso executar o procedimento acima via ADO.NETExecuteScalar
e depois analisar a sequência de resultados como umSystem.Version
objeto. Além disso, convocá-lo para numérico fornece significados diferentes aos números de versão quando se trata de zeros à direita e contagem de dígitos do segmento de versão, enquanto uma sequência pode ser analisada para umVersion
objeto válido sem perder a consistência de cada componente da versão.fonte
Aqui está um pouco do script que eu uso para testar se um servidor é 2005 ou posterior
Nota: atualizado a partir da resposta original (ver comentário)
fonte
Há outro procedimento armazenado estendido que pode ser usado para ver as informações da versão:
fonte
O artigo da KB vinculado na postagem de Joe é ótimo para determinar quais service packs foram instalados para qualquer versão. Na mesma linha, este artigo da KB mapeia os números de versão para hotfixes específicos e atualizações cumulativas, mas só se aplica ao SQL05 SP2 e superior.
fonte
Tente o seguinte:
fonte
fonte
Obtendo apenas a versão principal do SQL Server em uma única seleção:
Retorna
8
para SQL 2000,9
SQL 2005 e assim por diante (testado até 2012).fonte
Experimentar
Para obter mais informações, consulte: Consultando informações sobre versão / edição.
fonte
fonte
Se tudo o que você deseja é a versão principal por motivos de T-SQL, a seguir, é apresentado o ano da versão do SQL Server para 2000 ou posterior.
SELECT left(ltrim(replace(@@Version,'Microsoft SQL Server','')),4)
Esse código lida com os espaços e guias extras de várias versões do SQL Server.
fonte
Tente o seguinte:
fonte
Tente o seguinte:
fonte