Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем выполнить действие в базе данных в Visual Studio, необходимо войти с учетной записью с определенными разрешениями на эту базу данных. Требуемые разрешения зависят от того, какое действие требуется выполнить. В следующих разделах описывается каждое действие, которое может потребоваться выполнить, и разрешения, необходимые для выполнения.
Разрешения на создание или развертывание базы данных
Для создания или развертывания базы данных необходимо иметь следующие разрешения.
| Действие | Необходимые разрешения |
|---|---|
| Импорт объектов и параметров базы данных | Необходимо иметь возможность подключаться к базе данных-источнику. Если исходная база данных основана на SQL Server 2005, необходимо также владеть или иметь VIEW DEFINITION разрешение на каждый объект.Если исходная база данных работает на SQL Server 2008 или более поздней версии, вы должны также владеть или иметь VIEW DEFINITION разрешение на каждый объект. Ваш логин должен иметь VIEW SERVER STATE права доступа (для ключей шифрования базы данных). |
| Импорт объектов и параметров сервера | Необходимо подключиться к базе данных-источнику на указанном сервере. Если сервер работает под управлением SQL Server 2005, необходимо иметь VIEW ANY DEFINITION разрешение на сервере.Если исходная база данных основана на SQL Server 2008 или более поздней версии, необходимо иметь VIEW ANY DEFINITION разрешение на сервере. Ваш логин должен иметь VIEW SERVER STATE права доступа (для ключей шифрования базы данных). |
| Создание или обновление проекта базы данных | Для создания или изменения проекта базы данных не требуется никаких разрешений. |
| Развертывание новой базы данных или развертывание с помощью набора параметров Always Re-create Database | Необходимо иметь CREATE DATABASE разрешение или быть членом роли dbcreator на целевом сервере.При создании базы данных Visual Studio подключается к model базе данных и копирует его содержимое. Начальное имя входа (например, yourLogin), используемое для подключения к целевой базе данных, должно иметь db_creator и CONNECT SQL разрешения. Это имя входа должно иметь сопоставление пользователей model в базе данных. Если у вас есть разрешения sysadmin , можно создать сопоставление, выполнив следующую инструкцию Transact-SQL:USE [model] CREATE USER yourUser FROM LOGIN yourLogin.Пользователь (в этом примере yourUser) должен иметь CONNECT и VIEW DEFINITION разрешения на model базу данных. Если у вас есть разрешения sysadmin , вы можете предоставить эти разрешения, выполнив следующую инструкцию Transact-SQL:USE [model] GRANT CONNECT to yourUser GRANT VIEW DEFINITION TO yourUser.При развертывании базы данных, содержащей неназванные ограничения и включен параметр CheckNewConstraints , необходимо иметь db_owner или разрешения sysadmin или развертывание завершается сбоем. (CheckNewConstraints включен по умолчанию.) Это требование верно только для неименованных ограничений. |
| Развертывание обновлений в существующую базу данных | Вы должны быть допустимым пользователем базы данных. Вам также нужно быть членом роли db_ddladmin, владеть схемой или объектами, которые требуется создать или изменить в целевой базе данных. Для работы в скриптах, выполняемых перед развертыванием и после него, с более сложными концепциями, например именами входа или связанными серверами, требуются дополнительные разрешения. При развертывании в основной базе данных необходимо также иметь VIEW ANY DEFINITION разрешение на сервере, на который выполняется развертывание. |
Использование сборки с EXTERNAL_ACCESS параметром в проекте базы данных |
Необходимо задать TRUSTWORTHY свойство для проекта базы данных. У вас должно быть EXTERNAL ACCESS ASSEMBLY разрешение для входа в SQL Server. |
| Развертывание сборок в новую или существующую базу данных | На целевом сервере развертывания необходимо быть членом роли sysadmin . |
Разрешения для рефакторинга базы данных
Рефакторинг базы данных выполняется только в проекте базы данных. Необходимо иметь разрешения на использование проекта базы данных. Вам не нужны разрешения в целевой базе данных, пока вы не развернете изменения в ней.
Разрешения на выполнение модульных тестов в базе данных SQL Server
Для выполнения тестирований модулей базы данных необходимо иметь следующие разрешения.
| Действие | Необходимые разрешения |
|---|---|
| Выполнение теста | Необходимо использовать подключение к базе данных в контексте выполнения. Дополнительные сведения см. в разделе "Общие сведения о строках подключения и разрешениях". |
| Выполнение скрипта до или после развертывания | Необходимо использовать подключение к базе данных в привилегированном контексте. Это подключение к базе данных имеет больше разрешений, чем подключение в контексте выполнения. |
Выполните скрипты TestInitialize и TestCleanup |
Необходимо использовать подключение к базе данных в привилегированном контексте. |
| Развертывание изменений базы данных до выполнения тестов | Необходимо использовать подключение к базе данных в привилегированном контексте. Дополнительные сведения см. в разделе "Практическое руководство. Настройка модульного теста SQL Server". |
| Формирование данных до выполнения тестов | Необходимо использовать подключение к базе данных в привилегированном контексте. Дополнительные сведения см. в разделе "Практическое руководство. Настройка модульного теста SQL Server". |
Разрешения для создания данных
Чтобы создать тестовые данные с помощью генератора данных, необходимо иметь INSERT и SELECT разрешения на объекты в целевой базе данных. Если вы удаляете данные до их создания, вы также должны иметь DELETE разрешения на объекты в целевой базе данных. Чтобы сбросить IDENTITY столбец в таблице, необходимо владеть таблицей или быть членом роли db_owner или db_ddladmin.
Разрешения для сравнения схем и данных
Для сравнения схем или данных необходимо иметь следующие разрешения.
| Действие | Необходимые разрешения |
|---|---|
| Сравнение схем двух баз данных | Необходимо иметь разрешения на импорт объектов и параметров из баз данных, как описано в разделе "Разрешения для создания или развертывания базы данных". |
| Сравните схемы базы данных и проекта базы данных | Необходимо иметь разрешения на импорт объектов и параметров из базы данных, как описано в разделе "Разрешения для создания или развертывания базы данных". У вас также должен быть открыт проект базы данных в Visual Studio. |
| Запись обновлений в целевую базу данных | Необходимо иметь разрешения на развертывание обновлений в целевой базе данных, как описано в разделе "Разрешения на создание или развертывание базы данных". |
| Сравнение данных двух баз данных | Помимо разрешений, необходимых для сравнения схем двух баз данных, требуется SELECT разрешение на все таблицы, которые требуется сравнить. Вам также требуется VIEW DATABASE STATE разрешение. |
Разрешения для запуска редактора Transact-SQL
Контекст выполнения в целевой базе данных определяет, что можно сделать в редакторе Transact-SQL.
Разрешения для проектов CLR SQL Server
В следующей таблице перечислены разрешения, необходимые для развертывания или отладки проектов среды CLR.
| Действие | Необходимые разрешения |
|---|---|
| Развертывание (изначально или добавочно) безопасной сборки набора разрешений |
db_DDLAdmin дает CREATE и ALTER разрешения на сборки и типы объектов, которые вы развертываете.Для развертывания требуется разрешение на уровне VIEW DEFINITION базы данных.Разрешение на уровне CONNECT базы данных предоставляет возможность подключения к базе данных. |
| Развертывание сборки набора разрешений для внешнего доступа |
db_DDLAdmin предоставляет разрешения CREATE и ALTER для сборок и типов объектов, которые вы развертываете.Для развертывания требуется разрешение на уровне VIEW DEFINITION базы данных.Разрешение на уровне CONNECT базы данных предоставляет возможность подключения к базе данных.Кроме того, у вас должен быть установлен параметр TRUSTWORTHY для базы данных на значение ON.Для развертывания имя входа должно иметь разрешение сервера External Access Assembly. |
| Развертывание сборки набора разрешений unsafe |
db_DDLAdmin предоставляет разрешения CREATE и ALTER для сборок и типов объектов, которые вы развертываете.Для развертывания требуется разрешение на уровне VIEW DEFINITION базы данных.Разрешение на уровне CONNECT базы данных предоставляет возможность подключения к базе данных.Кроме того, у вас должен быть установлен параметр TRUSTWORTHY для базы данных на значение ON.Имя входа, используемое для развертывания, должно иметь разрешение на небезопасный сервер сборок . |
| Удаленная отладка сборки SQL CLR | У вас должно быть разрешение на постоянную роль sysadmin. |
Внимание
Во всех случаях владелец сборки должен быть пользователем, которого вы используете для развертывания сборки, или владелец должен быть ролью, в которой участвует этот пользователь. Это требование также применяется к любым сборкам, на которые ссылается разворачиваемая вами сборка.