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

Откуда:
Сообщений: 14
Приветствую,

Есть некоторое количество серверов с базами, начинаю путаться что-где лежит. Хочется какое-то ПО которое бы позволяло документировать базы-таблицы. Лучше если оно ещё будет уметь автоматически искать базы, но в основном хотелось бы чтоб оно с указанных серверов собирало инфу, которую я потом опишу. Да, можно делать это в Excel, но мне кажется идея - так себе. Есть ещё Microsoft Assessment and Planning Toolkit, но это всё равно не то.

Спасибо!
22 ноя 21, 08:45    [22398886]     Ответить | Цитировать Сообщить модератору
 Re: Каталогизация баз  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35847
Блог
dartaen,

Для каких целей?
22 ноя 21, 12:16    [22399003]     Ответить | Цитировать Сообщить модератору
 Re: Каталогизация баз  [new]
Oleg_SQL
Member

Откуда: от туда
Сообщений: 241
dartaen,

На новой работе документации нет абсолютно, а баз и объектов - тьма.

Я написал для себя нечто подобное на c# для документирования.
Заняло с граблями (типа привязки к Object_id) и учетом основной работы дня 3.

1. Выбор сервера
2. Загружаем Дерево объектов (храню в отдельной БД, но только не по Object_Id, а по типу и названию - ServerName\Table\dbo.TableName): Таблицы, Представления, Процедуры и Ф-ии
3. В главном окне сделал два поля - описание и теги для быстрого поиска. Так же сделал привязку к git - показывает историю изменений одноименных объекту файлов.
4. Ну и поиск по наименованию, описанию или тегам, а так же по тексту самого кода (процедур и ф-ий)
5. Так же на клик открывается код объекта для быстрого просмотра.
6. Тут же просмотр зависимостей.

Ну и потихоньку заношу описание и комментарии.
При поиске, например по тегу = "КУБ" выходит кнопка с количеством найденных совпадений и переходом вперед/назад.


Возможно создал очередной велосипед, но в работе пригождается.
22 ноя 21, 12:42    [22399027]     Ответить | Цитировать Сообщить модератору
 Re: Каталогизация баз  [new]
dartaen
Member

Откуда:
Сообщений: 14
Критик
dartaen,

Для каких целей?

Чтобы знать где/какие базы. Кто ведёт их, что за данные. Кого трясти, если надо мейнтенанс провести на сервере.

Oleg_SQL
dartaen,

На новой работе документации нет абсолютно, а баз и объектов - тьма.

Я написал для себя нечто подобное на c# для документирования.
skipped


Офигенно, это то, что надо - где такой велосипед взять? :)

Сообщение было отредактировано: 22 ноя 21, 13:14
22 ноя 21, 13:13    [22399047]     Ответить | Цитировать Сообщить модератору
 Re: Каталогизация баз  [new]
teCa
Member

Откуда: Москва
Сообщений: 1025
dartaen,

Сделайте джоб, на каждом сервере, который будет собирать данные по всем базам на экземпляре, далее я агрегирую эти данные в одну общую таблицу. К этой таблице можете подключиться экселем, если не хочется возиться с запросами.

truncate table [admin].dbo.DB_CARDS
IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
    DROP TABLE #tmp
IF OBJECT_ID('tempdb..#tmp2') IS NOT NULL
    DROP TABLE #tmp2
create table #tmp (
	SERVER_NAME sysname NULL,
	DATABASE_NAME sysname,
	DATABASE_SIZE int,
	REMARKS	varchar (254)
)
insert into #tmp(DATABASE_NAME,DATABASE_SIZE,REMARKS) exec sp_databases 
delete from #tmp where DATABASE_NAME='tempdb'
update #tmp set SERVER_NAME=@@SERVERNAME
select  SERVER_NAME
	,DATABASE_NAME
	,suser_sname(owner_sid) as db_owner
	,DATABASE_SIZE
	,sys.database_id
	,user_access
	,user_access_desc
	,sys.is_read_only
	,sys.is_auto_close_on
	,sys.is_auto_shrink_on
	,sys.state_desc
	,is_in_standby
	,recovery_model_desc
	,page_verify_option_desc
	,is_auto_create_stats_on
	,is_auto_update_stats_on
	,is_fulltext_enabled
	,is_trustworthy_on
	,is_query_store_on
	,is_published
	,is_subscribed
	,is_merge_published
	,is_distributor
	,service_broker_guid
	,is_broker_enabled
	,log_reuse_wait_desc
	,file_id
	,file_guid
	,type_desc
	,data_space_id
	,mf.name [file_name]
	,physical_name
	,mf.state_desc [file_state]
	,mf.size [file_size]
	,max_size [max_file_size]
	,growth
	,is_media_read_only
	,mf.is_read_only [file_is_read_only]
	,is_sparse
	,is_percent_growth
	,admin.dbo.get_last_backup_date(DATABASE_NAME) as LastBackupDate
	,admin.dbo.get_last_backup_path(DATABASE_NAME) as LastBackupPath
into #tmp2 from #tmp tmp 
left join sys.databases sys on tmp.DATABASE_NAME=sys.name
left join sys.master_files mf on sys.database_id=mf.database_id

insert into admin.dbo.DB_CARDS ([SERVER_NAME]
      ,[DATABASE_NAME]
      ,[db_owner]
      ,[DATABASE_SIZE]
      ,[database_id]
      ,[user_access]
      ,[user_access_desc]
      ,[is_read_only]
      ,[is_auto_close_on]
      ,[is_auto_shrink_on]
      ,[state_desc]
      ,[is_in_standby]
      ,[recovery_model_desc]
      ,[page_verify_option_desc]
      ,[is_auto_create_stats_on]
      ,[is_auto_update_stats_on]
      ,[is_fulltext_enabled]
      ,[is_trustworthy_on]
      ,[is_query_store_on]
      ,[is_published]
      ,[is_subscribed]
      ,[is_merge_published]
      ,[is_distributor]
      ,[service_broker_guid]
      ,[is_broker_enabled]
      ,[log_reuse_wait_desc]
      ,[file_id]
      ,[file_guid]
      ,[type_desc]
      ,[data_space_id]
      ,[file_name]
      ,[physical_name]
      ,[file_state]
      ,[file_size]
      ,[max_file_size]
      ,[growth]
      ,[is_media_read_only]
      ,[file_is_read_only]
      ,[is_sparse]
      ,[is_percent_growth]
      ,[LastBackupDate]
      ,[LastBackupPath]) select * from #tmp2


Правильно конечно было бы мерджить данные, но меня устроил и такой вариант.
22 ноя 21, 15:47    [22399152]     Ответить | Цитировать Сообщить модератору
 Re: Каталогизация баз  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1336
dartaen
Приветствую,

Есть некоторое количество серверов с базами, начинаю путаться что-где лежит. Хочется какое-то ПО которое бы позволяло документировать базы-таблицы. Лучше если оно ещё будет уметь автоматически искать базы, но в основном хотелось бы чтоб оно с указанных серверов собирало инфу, которую я потом опишу. Да, можно делать это в Excel, но мне кажется идея - так себе. Есть ещё Microsoft Assessment and Planning Toolkit, но это всё равно не то.

Спасибо!

я собирал как то жобы с разных серверов - там было их много и жобов и севрером
пользовался powershell
а куда писать можно и в ексел (csv) можно потом и в БД
думаю не сложно - вопрос в целесобразности - это все равно устаревает
там цель была отловить жобы (шаги жобов) которые выполняются длольше обычного ( т.е реально зависли но система этого не показывает)
но это был 0й шаг и дальше не дошло - хотя идея вполне рабочая.
25 ноя 21, 16:00    [22400783]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить