Member 12882034 Ответов: 1

Как узнать о новых базах данных, добавляемых на сервер?


Привет,

Я довольно новичок в SQL server. Я занимался кодированием, но не программированием баз данных.

Мой вопрос таков: когда пользователи создают проект в своем приложении, он создает одну базу данных на SQL server. Эти базы данных имеют одинаковую структуру таблиц. В sys. databases создаются database_id и имя базы данных.

Мы создали представление, в котором помещаем идентификатор базы данных и структуру таблицы, а затем объединяем все, чтобы получить данные из определенной таблицы из всех баз данных.

В настоящее время мы жестко кодируем идентификатор базы данных, который, на наш взгляд, поступает из sys.databases.

Мой вопрос: как мне автоматизировать это?

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

Один из моих коллег предложил:

(1) Создайте триггер в таблице sys.databases, чтобы при вставке новой строки сделать выбор для новой вставленной строки, узнать database_id.
(2) использовал database_id, который был обнаружен в (1), чтобы добавить новое объединение во все точки зрения проблем.

Я не знаю, как это сделать...есть какие-нибудь предложения?

Спасибо,
Ритеш

Что я уже пробовал:

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

PIEBALDconsult

Пожалуйста, никогда не добавляйте ничего в базу данных, которая вам не принадлежит.

Member 12882034

Я не. Все, что я хочу, это: всякий раз, когда добавляется новая база данных, я хочу убедиться, что мой код знает об этом, чтобы я мог добавить идентификатор базы данных и имя базы данных в моем представлении.

1 Ответов

Рейтинг:
0

dbrenth

Ваш код может запустить следующий скрипт, чтобы получить все базы данных на вашем сервере.

select dbid, name from master.dbo.sysdatabases


Просто поместите его в кнопку обновления click_event.

Если вы делаете это в представлении базы данных,

Поскольку это такой же стол, как и любой другой, просто присоедините его к тому, что вам нужно.


удачи
Брент