Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
NEKOS
Member

Откуда:
Сообщений: 194
Всем привет,

Такая простая задача.
Нужно узнать полную версию винди включно с Edition c помощю T-SQL. Все что есть в скриншоте "Microsoft Windows Server 2003 R2 Standart x64 Edition Service Pack 2". Но нужно узнать ето не используя xp_cmdshell.

К сообщению приложен файл. Размер - 24Kb
28 май 12, 17:50    [12627589]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
select @@version
28 май 12, 17:51    [12627599]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
NEKOS
Member

Откуда:
Сообщений: 194
Ozerov
select @@version


Microsoft SQL Server 2005 - 9.00.4035.00 (X64) Nov 24 2008 16:17:31 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

не совсем то.
28 май 12, 18:24    [12627812]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
NEKOS
не совсем то


Показывайте, как по вашему выглядит "то".
28 май 12, 18:51    [12627956]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
NEKOS
Member

Откуда:
Сообщений: 194
SamMan
NEKOS
не совсем то


Показывайте, как по вашему выглядит "то".


Так показал же на скриншоте в сообщение есть, но могу и повториться
28 май 12, 19:06    [12628012]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
NEKOS
Member

Откуда:
Сообщений: 194
нужно вот в таком формате
"Microsoft Windows Server 2003 R2 Standart x64 Edition Service Pack 2".
select @@version не возврвщает вот етого 'Microsoft Windows Server 2003 R2 Standart x64 Edition'
Какая винда я могу вот таким способом добить
		declare @OS varchar(128)   
		EXEC master..xp_regread	'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'ProductName', @OS OUTPUT
		select @OS

result: Microsoft Windows Server 2003 R2

но как достать вот ето 'Standart x64 Edition' я незнаю
28 май 12, 19:11    [12628025]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
NEKOS
нужно вот в таком формате
"Microsoft Windows Server 2003 R2 Standart x64 Edition Service Pack 2".
но как достать вот ето 'Standart x64 Edition' я незнаю


xp_cmdshell 'systeminfo'
28 май 12, 19:35    [12628107]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
NEKOS
Member

Откуда:
Сообщений: 194
xp_cmdshell 'systeminfo'
[/quot]

Спасибо ето знаю, но я в посте писал

NEKOS
Но нужно узнать ето не используя xp_cmdshell.
28 май 12, 19:42    [12628152]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Или ищите в реестре, где это лежит, или пишите сборку, которая через апи, реестр или чего еще прочитает эту информацию.
28 май 12, 19:43    [12628158]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
NEKOS
Спасибо ето знаю, но я в посте писал

NEKOS
Но нужно узнать ето не используя xp_cmdshell.


ладно :-)

Почти любая задача всегда имеет больше чем одно решение:

xp_ReadErrorLog 0, 1, 'Server', 'Edition'
29 май 12, 11:35    [12630412]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
Andrey Sribnyak
Почти любая задача всегда имеет больше чем одно решение:

xp_ReadErrorLog 0, 1, 'Server', 'Edition'


Глупость написал. Это к версии sql server относится
29 май 12, 11:41    [12630467]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
xp_cmdshell 'powershell.exe -c "gwmi win32_operatingSystem | Select Name"'
29 май 12, 12:34    [12630942]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Knyazev Alexey
xp_cmdshell 'powershell.exe -c "gwmi win32_operatingSystem | Select Name"'


даже так:

declare @t table ( id int identity, val varchar(255) )
insert into @t
exec xp_cmdshell 'powershell.exe -c "Get-WMIObject win32_operatingsystem| select Caption, OSArchitecture, CSDVersion| Format-Table -auto"' 

select val from @t
where id = 4
29 май 12, 12:42    [12631023]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
NEKOS
нужно узнать ето не используя xp_cmdshell.


если ваш сервер может добраться до system32, то так

CREATE TABLE #c (txt nvarchar(4000))

BULK INSERT #c
FROM 'C:\WINDOWS\SYSTEM32\prodspec.ini'

SELECT * FROM #c
29 май 12, 12:55    [12631129]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
NEKOS
Member

Откуда:
Сообщений: 194
Всем спасибо,

Нарыл еще один способ
declare @OS varchar(128)  
EXEC master..xp_regread	'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'ProductId', @OS OUTPUT
select @OS		

но сюда нада прилипить вот ето http://wiki.lunarsoft.net/wiki/Product_IDs

Вобщем буду делать в несколько етапов, если включен xp_cmdshell тогда выбираю им, если нет, читаю с 'C:\WINDOWS\SYSTEM32\prodspec.ini', если не получается читаю с реестра
29 май 12, 13:08    [12631283]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
Лучше поздно, чем никогда

SELECT *
FROM sys.dm_os_windows_info;
2 июл 12, 17:05    [12805619]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
step_ks
Member

Откуда:
Сообщений: 936
Andrey Sribnyak
Лучше поздно, чем никогда

SELECT *
FROM sys.dm_os_windows_info;

годно, то только с 2008R2 SP1. А у ТС вроде как 2005.
2 июл 12, 21:54    [12806655]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
step_ks
Member

Откуда:
Сообщений: 936
да и вообще, того, что нужно автору там вроде и нет.
2 июл 12, 22:03    [12806667]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 600
step_ks
да и вообще, того, что нужно автору там вроде и нет.


Ну там не прямая зависимость...
Это системное представление возвращает параметр windows_sku (Windows Stock Keeping Unit (SKU) ID. Cannot be null. For a list of SKU IDs and descriptions, see GetProductInfo Function)
по которому можно узнать версию сервера
3 июл 12, 11:24    [12808498]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать Edition Windows сервера на котором установлен MS SQL с помощю T-SQL  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Andrey Sribnyak
Это системное представление возвращает параметр windows_sku (Windows Stock Keeping Unit (SKU) ID. Cannot be null. For a list of SKU IDs and descriptions, see GetProductInfo Function)


Даже с учетом отквоченного не вижу откуда брать инфу о разрядности. ТС-у требуется, помимо прочего, эти самые x32/x64.
3 июл 12, 14:33    [12810045]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить