Есть ли способ подавить ошибку SQL03006 в проекте базы данных VS2010?

Прежде всего, я знаю, что полученную ошибку можно решить, создав ссылочный проект (типа Database Server), а затем ссылаясь на него в моей базе данных проект... Тем не менее, я считаю, что это слишком много, особенно для небольших команд, где нет специального разделения роли между разработчиками и администраторами db. Но давайте оставим эту дискуссию в другое время... То же самое касается ЦАП... Невозможно использовать DAC b/c ограниченных объектов поддерживается...

Вопрос Теперь возникает вопрос: могу ли я (и как) отключить ошибку SQL03006 при создании моего проекта базы данных. В моем случае эта ошибка возникает, потому что я создаю некоторых пользователей, чьи логины "неразрешены"... Я думаю, что это должно быть возможно. Я надеюсь, что, поскольку я "знаю", что логины будут существовать на сервере, прежде чем я развожу script... Я также не хочу поддерживать проект сервера базы данных, чтобы я мог поддерживать refs разрешен (у меня нет ничего, кроме логинов на уровне сервера)...

Обход Используя сценарии предварительного и пост-развертывания, тривиально получить работу secript...

Обходной вопрос Вы должны прокомментировать пользовательские скрипты (которые используют ссылки для входа) для обхода... Как только вы это сделаете, вы можете отключить .sqlpermissions, заявив, что пользователей, не имеющих ссылки,... И тогда вы должны прокомментировать разрешения и поместить их в сценарии пост-развертывания... Основным недостатком этого обходного пути является то, что вы не можете использовать схему по сравнению с ее максимальной степенью (вы должны указать, чтобы игнорировать пользователей/логины/разрешения)

Итак, все, что я хочу, это 1. поддерживать только проект БД (нет ссылок на проекты сервера БД) 2. отключить/отключить ошибку SQL03006 3. иметь возможность использовать сравнение схемы в моем проекте БД

Я прошу о невозможности?:)

Приветствия

P.S. Если кто-то знает о лучших шаблонах/инструментах проекта базы данных VS2010 (для SQL Server 2008 R2), пожалуйста, разделите...

Ответы

Ответ 1

Существует два способа обхода:

1. Отключите проверку схемы (Инструменты > Параметры > Инструменты базы данных > Сравнение схем > SQL Server 200x, а затем вкладку "Тип объекта" ) для любого пользователя или связанной с безопасностью. Это постоянное исправление

2. Пройдите сравнение схем и отметьте что-либо пользователь или безопасность, связанные с пропуском, а затем сгенерируйте SQL-сравнение script. Это исправление сравнения схемы.

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