Ищете способ сгенерировать автоматический инвентарь установок SQL Server в вашей сети? Не ищите дальше! В этой статье мы рассмотрим пошаговый процесс, который поможет вам сгенерировать отчет об инвентаре или сравнить его с вашим собственным отслеживанием в Excel, чтобы выявить любые несоответствия.
При начале этого проекта важно исследовать доступные инструменты и утилиты, которые могут помочь в генерации автоматического инвентаря. Вот несколько инструментов, которые вы можете рассмотреть:
- SQL Ping от Chip Andrews
- Found Stone Sqlscan
- ListSqlServers – VB-проект
- SQLLHF v3.2 – написано MattW
- MSSQLScan v0.8 от patrik@cqure.net
- SQL.vbs от MAK
- OSQL -L (это перечисляет только транслируемые серверы, то есть серверы, которые в настоящее время работают)
- SQLCMD -L (лучше, чем OSQL –L, но все равно некоторые серверы отсутствуют)
- SQL Scan exe (часть SQLCritUpdPkg_ENU.exe от Microsoft)
- ADO.Net код для сканирования SQL-серверов
Для этого проекта мы будем использовать следующие инструменты:
- BIDS 2005 – Среда разработки бизнес-аналитики
- SQL 2005 Standard Edition
- SQLPing3cl
Теперь давайте перейдем к шагам для генерации отчета об инвентаре:
Шаг 1: Создание необходимых таблиц
Первая таблица, которую нам нужно создать, называется “tblSQLVersion”. В этой таблице будут храниться номера версий SQL Server для справки. Вот скрипт для создания этой таблицы:
USE [DBReporting]
GO
/****** Объект: Таблица [dbo].[tblSQLVersion] Дата скрипта: 31.07.2008 05:06:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tblSQLVersion](
[Version] [int] NOT NULL,
[Serial] [char](10) NOT NULL,
[Descr] [varchar](25) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
Вторая таблица, которую нам нужно создать, называется “SQLInv”. В этой таблице будет храниться CSV-данные из приложения SQLPing3cl. Вот скрипт для создания этой таблицы:
USE [DBReporting]
GO
/****** Объект: Таблица [dbo].[SQLInv] Дата скрипта: 31.07.2008 05:03:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[SQLInv](
[ServerIP] [char](15) NULL,
[TCPPort] [int] NULL,
[ServerName] [varchar](55) NULL,
[InstanceName] [varchar](55) NULL,
[BaseVersion] [char](20) NULL,
[SSNetlibVersion] [char](20) NULL,
[TrueVersion] [char](20) NULL,
[ServiceAccount] [varchar](55) NULL,
[IsClustered] [varchar](25) NULL,
[Details] [text] NULL,
[DetectionMethod] [varchar](55) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
Шаг 2: Запуск SQLPing3cl и импорт данных
Теперь, когда у нас есть необходимые таблицы, мы можем продолжить с запуском SQLPing3cl для сканирования экземпляров SQL Server по всей сети. Вот команда для запуска SQLPing3cl:
SQLPing3cl.exe -scantype range -startIP 100.100.101.0 -EndIP 100.100.101.254 -Output 100.csv
Эта команда будет сканировать указанный диапазон IP-адресов и выводить обнаруженные экземпляры SQL Server в CSV-файл с именем “100.csv”.
После завершения сканирования мы можем импортировать данные из CSV-файла в таблицу “SQLInv”. Существуют разные способы сделать это, но один из вариантов – использовать мастер импорта/экспорта в SQL Server 2000. Просто следуйте шагам мастера, чтобы импортировать данные в таблицу.
Шаг 3: Развертывание отчета об инвентаре
Теперь, когда у нас есть данные в таблице SQLInv, мы можем развернуть отчет на сервере отчетов. Для этого мы будем использовать BIDS (Среда разработки бизнес-аналитики). Вот шаги для развертывания отчета:
- Откройте BIDS из меню “Пуск”.
- Создайте новый проект сервера отчетов.
- Добавьте существующий файл отчета (RDL) в проект.
- Измените источник данных в отчете, чтобы указать ваш сервер.
- Добавьте измененный файл источника данных в проект.
- Установите TargetServerURL в свойствах проекта на URL вашего сервера отчетов.
- Разверните отчет.
После развертывания отчета вы можете получить к нему доступ через браузер и просмотреть полный список SQL-серверов в вашей среде. Отчет предоставляет детали, такие как имя экземпляра, версия, учетная запись службы и TCP/IP-порт.
Преимущества и заключение
Генерация автоматического инвентаря установок SQL Server предлагает несколько преимуществ:
- Можно сгенерировать полный список SQL-серверов, независимо от того, остановлены они или работают. Этот метод выполняет пинг каждого IP и считывает имя экземпляра из SSNETLIB.DLL, предоставляя полный список экземпляров.
- В отчет можно включить детали, такие как имя экземпляра, версия, учетная запись службы и TCP/IP-порт. Это делает его полным отчетом об инвентаре, который можно представить или предоставить руководству.
- Службы отчетов позволяют экспортировать отчет в различные форматы, такие как PDF, что делает его подход