Общие сведения о строках подключения и разрешениях

 

Для запуска модульных тестов SQL Server необходимо установить соединение с сервером базы данных с помощью одной или нескольких строк подключения.Каждая строка подключения представляет учетную запись, которая имеет определенные разрешения, необходимые для выполнения задачи или набора задач конкретного скрипта, входящего в тест.Строки подключения задаются в диалоговом окне Конфигурация теста SQL Server или вручную путем изменения файла app.config проекта тестов.

Строки соединения

В диалоговом окне Конфигурация теста SQL Server можно задать строки подключения для каждой из следующих учетных записей.

System_CAPS_noteПримечание

Контекст выполнения и привилегированный контекст различаются только в том случае, когда используется проверка подлинности SQL Server.Если же используется аутентификация Windows, в обеих строках подключения будут использоваться одинаковые учетные данные.

  • Контекст выполнения (обязательно) — учетная запись пользователя для выполнения скрипта теста.Эта строка подключения должна иметь те же учетные данные, которые, как предполагается, будут у пользователей.Это важно, так как обеспечивает применение соответствующих разрешений к базе данных.Дополнительные сведения см. в разделе Практическое руководство. Настройка запуска модульного теста SQL Server.

    В файле app.config проекта тестов это элемент ExecutionContext.

  • Привилегированный контекст (необязательно) — учетная запись в той же базе данных, имеющая более высокие разрешения для запуска действий, выполняемых до и после теста, а также скриптов TestInitialize и TestCleanup.Эти скрипты задают состояние базы данных, а действие, выполняемое после теста, можно использовать для проверки объектов в базе данных.Эта строка подключения также используется для развертывания изменений базы данных и формирования данных.

    В файле app.config проекта тестов это элемент PrivilegedContext .Если модульные тесты SQL Server выполняют только скрипт теста, привилегированный контекст указывать не нужно.

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

Сравнение проверки подлинности Windows и SQL Server

При указании строк подключения необходимо выбрать метод аутентификации — Windows или SQL Server.Проверку подлинности Windows выбирают ради более эффективной, чем обеспечивает проверка подлинности SQL Server, поддержки тестов, выполняемых группой специалистов.Если выбрана проверка подлинности SQL Server, то строки подключения шифруются на основе учетных данных пользователя с помощью API-интерфейса защиты данных (DPAPI).Это означает, что тесты в этом проекте тестов будут выполняться только для вас, а не для членов команды, которые получают тесты через систему управления версиями после их возврата.Для выполнения тестов в этом проекте тестов другие члены команды должны будут перенастроить этот проект с использованием собственных учетных данных.Для этого им пришлось бы изменить свою копию файла app.config или воспользоваться диалоговым окном конфигурации проекта.

Разрешения

Скрипты тестов запускаются с уровнем разрешений контекста выполнения, который соответствует уровню разрешений, действующему при нормальном выполнении команд пользователем в рабочей базе данных.Действия, выполняемые до и после теста, скрипты TestInitialize и TestCleanup запускаются с уровнем разрешений привилегированного контекста.

Поскольку для скрипта, выполняемого после теста, используется соединение с более высоким уровнем разрешений, в его рамках можно произвести проверку данных.В этом скрипте можно также выполнять команды, проверяющие разрешения.Дополнительные сведения о разрешениях см. в подразделе о модульных тестах SQL Server раздела Разрешения, необходимые для запуска SQL Server Data Tools.

См. также

Создание и определение модульных тестов SQL Server
Скрипты в модульных тестах SQL Server
Файлы модульного теста SQL Server