Каждый день в нашем хранилище данных (который будет динамически меняться) таблицы отбрасываются и перестраиваются. Также возможно, что какой-нибудь разработчик в нашей организации создаст больше таблиц в этой базе данных. Из-за этого я не могу предоставить разрешения для постоянной базы данных.Предоставить все таблицы (кроме 1) Разрешить чтение роли, не зная, какие таблицы есть каждый день
Вопрос: Я хочу, чтобы сделать какую-то работу, которая работает каждый день, в котором перечислены все имена таблиц (которые существующие в то время) в базе данных, как «SELECT * FROM sys.tables» Тогда я чтобы имена таблиц в качестве значения ввода в сценарий, который работает корыто всех имена таблиц и помещает их в сценарии, как:
GRANT SELECT TO [Tablename1] TO [ROLE_READALLTABLES Except 1 table],
GRANT SELECT TO [Tablenaam2] TO [ROLE_READALLTABLES Except 1 table]
и так продолжаться в цикле, пока все существующие таблицы не читаемы. Таким образом, все таблицы (кроме 1 таблицы) во всей базе данных должны получить разрешение GRANT SELECT
.
Я просмотрел все связанные ответы, но я не могу понять, как заставить это работать. Надеюсь, кто-то может мне помочь.
UPDATE Я использую Microsoft SQL Server 2014, и я работаю через SQL Management Studio 2014 UPDATE 2: Существует одно исключение. В этой таблице есть схема [dbo]. как и все остальные таблицы
Я использую MS SQL Server 2014, я работаю с студией управления SQL 2014 – Ronald