Разрешения, необходимые для функций баз данных в Visual Studio
Перед выполнением действия над базой данных в Visual Studio необходимо войти с учетной записью, имеющей в этой базе данных определенные разрешения. Конкретные необходимые разрешения зависят от действия, которое требуется выполнить. В следующих разделах описаны действия, которые может потребоваться выполнить, и конкретные разрешения, которые нужны для их выполнения.
Разрешения для создания или развертывания базы данных
Разрешения для рефакторинга базы данных
Разрешения для выполнения модульных тестов для базы данных
Разрешения на создание данных
Разрешения для сравнения схем и данных
Разрешения для запуска редактора Transact-SQL (T-SQL)
Разрешения для проектов SQL Server со средой CLR
Разрешения для создания или развертывания базы данных
Для создания или развертывания базы данных необходимы следующие разрешения.
Действия |
Необходимые разрешения |
Импорт объектов и параметров баз данных |
Необходимо иметь возможность подключиться к исходной базе данных.
|
Импорт объектов и параметров сервера |
Необходима возможность подключения к базе данных на заданном сервере.
|
Создание или обновление проекта базы данных |
Для создания или изменения проекта базы данных разрешения для базы данных не нужны. |
Развертывание новой базы данных или развертывание с установленным параметром Всегда воссоздавать базу данных |
Необходимо иметь разрешение CREATE DATABASE или быть участником роли dbcreator на целевом сервере. При создании базы данных Visual Studio подключается к шаблону базы данных и копирует его содержимое. Для первоначальных учетных данных (например, Ваши_учетные_данные), которые использовались для подключения к целевой базе данных, должны быть заданы разрешения db_creator и CONNECT SQL. У этих учетных данных должно быть сопоставление пользователя для шаблона базы данных. При наличии разрешений sysadmin можно создать сопоставление, вызвав следующие инструкции Transact-SQL:
У пользователя (в данном примере, yourUser) должны быть разрешения CONNECT и VIEW DEFINITION для шаблона базы данных. При наличии разрешений sysadmin их можно предоставить, вызвав следующие инструкции Transact-SQL:
При развертывании базы данных, содержащих неименованные ограничения, если параметр CheckNewContraints включен (он включен по умолчанию), необходимо иметь разрешения db_owner или sysadmin, в противном случае развертывание не удастся. Это верно только для неименованных ограничений. Дополнительные сведения об ограничениях, связанных с параметром CheckNewConstraints, см. в разделе Общие сведения о параметрах проекта базы данных. |
Развертывание обновлений в существующей базе данных |
Необходимо быть допустимым пользователем базы данных. Также необходимо быть участником роли db_ddladmin, владельцем схемы или владельцем объектов, которые необходимо создавать или изменять в целевой базе данных. Необходимы дополнительные разрешения для работы с более сложными концепциями, такими как входы или связанные серверы, в скриптах, выполняемых до или после развертывания. ![]()
При развертывании в базе данных master необходимо также разрешение VIEW ANY DEFINITION на сервере, на котором выполняется развертывание.
|
Используйте сборку с параметром EXTERNAL_ACCESS в проекте базы данных. |
Необходимо задать свойство TRUSTWORTHY для проекта базы данных. Необходимо иметь разрешение EXTERNAL ACCESS ASSEMBLY для входа SQL Server. |
Развертывание сборок в новой или существующей базе данных |
Необходимо являться участником роли sysadmin на целевом сервере развертывания. |
Дополнительные сведения см. в электронной документации по SQL Server 2005 или электронной документации по SQL Server 2008.
Разрешения для рефакторинга базы данных
Рефакторинг базы данных выполняется только в проекте базы данных. Необходимо иметь разрешения на использование проекта базы данных. Разрешения для целевой базы данных не требуются, пока в ней не разворачиваются изменения.
Разрешения для выполнения модульного тестирования в базе данных
Для выполнения модульных тестов в базе данных необходимо наличие следующих разрешений.
Действия |
Необходимые разрешения |
Выполнение тестирования |
Необходимо использовать контекст выполнения при подключении к базе данных. Дополнительные сведения см. в разделе Общие сведения о строках подключения и разрешениях. |
Выполнение действий перед тестированием и после него |
Необходимо использовать привилегированный контекст при подключении к базе данных. Это подключение к базе данных имеет больше разрешений чем, подключение с контекстом выполнения. |
Выполнение скриптов TestInitialize и TestCleanup |
Необходимо использовать привилегированный контекст при подключении к базе данных. |
Развертывание изменений базы данных перед выполнением тестов |
Необходимо использовать привилегированный контекст выполнения при подключении к базе данных. Дополнительные сведения см. в разделе Практическое руководство. Настройка выполнения модульного теста базы данных. |
Создание данных перед выполнением тестов |
Необходимо использовать подключение к базе данных с привилегированным контекстом. Дополнительные сведения см. в разделе Практическое руководство. Настройка выполнения модульного теста базы данных. |
Разрешения на создание данных
Для создания тестовых данных с помощью генератора данных необходимы разрешения INSERT и SELECT для объектов в целевой базе данных. Если перед созданием данных нужно выполнить очистку, для объектов в целевой базе данных необходимо также разрешение DELETE. Чтобы сбросить столбец IDENTITY в таблице, нужно быть владельцем таблицы или участником с ролью db_owner или db_ddladmin.
Разрешения для сравнения схем и данных
Для сравнения схем или данных необходимо иметь следующие разрешения.
Действия |
Необходимые разрешения |
Сравнение схем двух баз данных |
Необходимы разрешения на импорт объектов и параметров из баз данных, как описано в разделе Разрешения для создания или развертывания базы данных. |
Сравнение схем базы данных и проекта базы данных |
Необходимы разрешения на импорт объектов и параметров из базы данных, как описано в разделе Разрешения для создания или развертывания базы данных. Кроме того, в Visual Studio должен быть открыт проект базы данных. |
Запись обновлений в целевую базу данных |
Необходимы разрешения на развертывание обновлений в целевой базе данных, как описано в разделе Разрешения для создания или развертывания базы данных. |
Сравнение данных двух баз данных |
В дополнение к разрешениям, необходимым для сравнения схем двух баз данных, также требуется разрешение SELECT на все сравниваемые таблицы. |
Дополнительные сведения см. на этих страницах веб-сайта Майкрософт: Электронная документация по SQL Server 2008 или Электронная документация по SQL Server 2005.
Разрешения для запуска редактора Transact-SQL
Действия, осуществляемые в редакторе Transact-SQL, определяются контекстом выполнения в целевой базе данных.
Разрешения для проектов SQL Server со средой CLR
Разрешения, необходимые для выполнения развертывания проектов SQL CLR, перечислены в следующей таблице.
Действия |
Необходимые разрешения |
---|---|
Развертывание сборки (начальное или инкрементное) с безопасным набором разрешений |
|
Развертывание сборки с набором разрешений external_access |
Кроме того, необходимо иметь:
|
Развертывание сборки небезопасным набором разрешений |
Кроме того, необходимо иметь:
|
Удаленная отладка сборки SQL CLR |
Необходимо иметь разрешения фиксированной серверной роли sysadmin. |
Важно!
Во всех случаях владелец сборки должен совпадать с пользователем, от имени которого выполняется развертывание, или владелец должен быть ролью, членом которой является пользователь.Эти требования также на все сборки, на которые ссылается развертываемая сборка.
См. также
Основные понятия
Создание баз данных и приложений уровня данных, а также управление ими в Visual Studio