Hola !, Les voy a contar sobre una función de SQL Server, muy útil al momento de desarrollar algún chequeo o corte de control, en algún procedimiento.
En mi caso estoy trabajando en un chequeo de entorno o servidor donde se ejecuta determinado procedimiento, en otras palabras, un chequeo de version de motor de base de datos, pues, dicho procedimiento en SQL Server 2000 se ejecuta con determinadas tablas y vistas de sistema y para SQL Server 2005 con otras; es por ello que utilice la función SERVERPROPERTY. A continuación les paso un ejemplo:
-----------------------------------------------
DECLARE @@vserver VARCHAR(40)
SET @@vserver=(SELECT CONVERT(VARCHAR(40),SERVERPROPERTY('Edition')))
IF @@vserver = 'Express Edition with Advanced Services'
BEGIN
PRINT 'Mi_Proceso'
END
ELSE
BEGIN
PRINT 'Server incorrecto'
END
------------------------------------------------
No solo pueden averiguar la versión del dbms, sino también versiones de las librerías de CLR en el framework con la propiedad 'BuildClrVersion',service pack 'ProductLevel',sort order 'SqlSortOrder', etc. Si quieren mas propiedades soportadas ingresar la siguiente url en los books online instalados en sus equipos 'ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/11e166fa-3dd2-42d8-ac4b-04f18c612c4a.htm'.
Tengan en cuenta que el tipo de dato devuelto por la función varia de acuerdo a que version de SQL Server este corriendo, en SQL 2000 el tipo de dato es varchar y en SQL 2005 es nvarchar.
Abrazo virtual a todos !
JuanPL
Link's relacionados:
http://www.todosql.com/blog/200704/cambio-de-nombre-de-servidor-vs-funci...