Пишем сценарии


pishem-scenarii_1.jpeg

Создается пара «ключ-значение», задающая базу данных, к которой предполагается подключаться. Ключевым словом может быть Database или Initial Catalog, а значением — имя базы данных.

Следующая и наиболее важная пара «ключ-значение» определяет контекст безопасности, используемый при подключении к серверу. Ключевым словом может быть Integrated Security или Trusted Connection, а значениями — SSPI, True, False, Yes и No. Я предпочитаю SSPI, это означает, что при установлении соединения будет применяться проверка подлинности Windows с использованием Kerberos (в рамках текущего контекста безопасности). Похоже, что Yes или True дают тот же результат, что и SSPI, хотя в документации об этом явно не говорится. Если указать False или No, то для получения доступа к серверу необходимо будет добавить учетные данные.

Если проверка подлинности Windows не используется, необходимо указать учетные данные, используя ключевые слова User ID и Password (или Pwd) и соответствующие значения. Этот вариант сомнителен, так как жесткое программирование имен пользователей и паролей в сценариях — не слишком удачная идея с точки зрения безопасности. Существуют методы снижения риска, например передача значений SecureString посредством переменной, но они не столь безопасны, как проверка подлинности Windows.

Включение этой пары «ключ-значение» обеспечивает применение шифрования к строке подключения при отправке на сервер, если на сервере есть установленный сертификат. Такой подход предпочтителен, ибо он позволяет исключить возможность перехвата сведений о доступе процессами, прослушивающими сеть. Еще одна полезная пара «ключ-значение» состоит из ключевого слова Application Name и значения, каковым является имя приложения. Кроме того, каждый, кто наблюдает за сеансами SQL Server, будет знать, что делает данный сценарий.

В этом примере подключение к существующей базе данных Northwind на сервере WS12 SQL реализуется с использованием проверки подлинности Windows. После установления соединения выполняется загрузка сценария NorthwindDDL.sql (предназначенного для добавления таблицы в базу данных) в текущий каталог и его запуск применительно к базе данных Northwind. Обратите внимание на «позднее открытие» и «раннее закрытие» подключения. Этот метод гарантирует работу сценария даже после перехода на другой сервер в отказоустойчивом кластере или группе доступности AlwaysOn.

Комментарии