Можно ли исключить / скрыть таблицы SQL Server 2008? - PullRequest
1 голос
/ 25 мая 2011

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

Ответы [ 2 ]

2 голосов
/ 10 октября 2014

Возможно, новые имена таблиц не конфликтуют со старыми, потому что вы выбрали разные имена и не хотите, чтобы исходные имена отображались в проводнике объектов Management Studio.

Вы можете скрыть их, используя системную хранимую процедуру sp_addextendedproperty:

EXEC sp_addextendedproperty 
@name = N'microsoft_database_tools_support', 
@value = <Hide? , int, 1>, 
@level0type = 'schema', 
@level0name = N'<Schema Name, sysname, dbo>',
@level1type = 'table', 
@level1name = N'<Table Name, sysname, ?>'

Таким образом, только вы (другие не видят их) все равно сможете запрашивать эти таблицы, когда это необходимо.

http://avinashily.blogspot.in/2011/05/how-to-hide-table-in-sql-server.html

2 голосов
/ 27 мая 2011

они не загромождают мои списки

Полагаю, вы ссылаетесь на Object Explorer здесь. Один из способов справиться с этим - поместить эти таблицы в отдельную схему, например, в Junk или любое другое имя.

ALTER SCHEMA Junk TRANSFER dbo.YourOldTableName

http://msdn.microsoft.com/en-us/library/ms173423.aspx

Другой радикальный вариант - отказать вам в разрешениях SELECT для этих старых таблиц и иметь отдельный логин для доступа к ним. Мне даже не нравится эта опция: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...