una tengo servidor saber query que licenciado licencia intercalacion instalada esta datos como sql sql-server vbscript wmi wql

tengo - que es la intercalacion en sql server



¿Alguien tiene una consulta WQL para encontrar la edición de una instancia de SQL Server? (2)

Comience aquí: Cómo modificar las propiedades avanzadas del servicio SQL Server utilizando VBScript

La primera muestra:

set wmi = GetObject("WINMGMTS://./root/Microsoft/SqlServer/ComputerManagement10") for each prop in wmi.ExecQuery("select * from SqlServiceAdvancedProperty where SQLServiceType = 1 AND PropertyName = ''VERSION''") WScript.Echo prop.ServiceName & " " & prop.PropertyName & ": " & prop.PropertyStrValue next

parece hacer lo que pediste. Marque "Otras versiones" si no está usando la versión 2008.

¿Alguien sabe cómo usar WMI para obtener la edición de una instalación de SQL Server (no se preocupe por la versión) en VBScript?

He intentado usar el registro (pero eso requiere que sepas el nombre de la instancia y la versión del Servidor SQL.

He intentado usar una consulta SQL (pero eso requiere que tengas permisos en la base de datos y mi proceso está usando el usuario LOCAL, sin permisos en el DBMS de SQL Server).

Entonces, me queda usar WQL para consultar WMI.

Supongo que necesito:

1) consultar un objeto WMI (cuál) para obtener los nombres de instancia. 2) Luego, para cada instancia, consulta otro objeto y obtén la Edición.

Revisé la documentación de Microsoft y no puedo encontrar los objetos para usar.

¿Alguien puede ayudar?

QuietLeni


Gracias por eso. Aquí está el script que creé. Espero que ayude a alguien más en mi posición:

Dim strValueName, strSKUName, strEdition, strVersion, strArchitecture Dim objWMI, objProp On Error Resume Next '' First try SQL Server 2008/2008 R2: Set objWMI = GetObject("WINMGMTS://./root/Microsoft/SqlServer/ComputerManagement10") If Err.Number <> 0 Then '' Next, try SQL Server 2005: Set objWMI = GetObject("WINMGMTS://./root/Microsoft/SqlServer/ComputerManagement") If Err.Number <> 0 Then '' Next, try SQL Server 2012: Set objWMI = GetObject("WINMGMTS://./root/Microsoft/SqlServer/ComputerManagement11") End If End If If Err.Number = 0 Then On Error Goto 0 '' Go through the properties (which is just one) and find the name of the SKU. For Each objProp In objWMI.ExecQuery("select * from SqlServiceAdvancedProperty where SQLServiceType = 1 AND (PropertyName = ''SKUNAME'' OR PropertyName = ''VERSION'')") If objProp.PropertyName = "SKUNAME" THEN strSKUName = objProp.PropertyStrValue Else strVersion = objProp.PropertyStrValue End If Next '' We do not want the number of bits, so chop it off! If Instr(strSKUName, " (") <> 0 Then strEdition = Left(strSKUName, Instr(strSKUName, " (")) strArchitecture = "64-bit" Else strEdition = strSKUName strArchitecture = "32-bit" End If WScript.Echo strEdition & " / " & strSKUName & " / " & strArchitecture End If