2014-06-05 3 views
1

Я создаю базу данных меньшего размера в Microsoft SQL Server 2012, чтобы сохранить данные с машин. В компании имеются производственные машины и машины R & D. Я хотел бы использовать ту же таблицу для производства и R & D с полем Type, указывающим, для чего был прогон. У меня две схемы (prod и r_d). Разрешения для производственных и r_d-схем будут разными. Возможно ли создать таблицу, относящуюся к нескольким схемам? Я знаю, что вы можете иметь одно и то же имя таблицы в нескольких схемах, но это создает отдельные объекты. Я хотел бы, чтобы один объект таблицы принадлежал нескольким схемам.SQL Server - та же таблица в нескольких схемах

Пример: CREATE TABLE db_name.prod.r_d.table_name

+0

Насколько я знаю, это невозможно. Можете ли вы создать отдельную таблицу в другой схеме (например, dbo), а затем создать представления в каждой из ваших схем с фильтром для правильного типа? – AHiggins

ответ

3

Рассматривают создание синонима в одном схемы, ссылающиеся на другую таблицу схем:

CREATE SYNONYM r_d.table_name FOR prod.table_name; 
2

Нет, но вы можете создать view в каждой схеме на одной таблице, которая фильтрует строки

0

Когда вы сказали «Разработка и производство». Вы должны рассмотреть возможность использования отдельной базы данных, и по мере перехода на отдельный сервер!

Для выборки данных вы можете использовать резервную копию производственной базы данных. Если вы не хотите, чтобы команда разработчиков имела доступ к производственным данным (избегайте утечки данных), они должны сами генерировать свои данные выборки.

Использование синонима или вида в вашем случае выглядит как плохая и опасная практика!

Смежные вопросы