Книги, научные публикации Pages:     | 1 |   ...   | 5 | 6 | 7 | 8 | 9 |   ...   | 10 |

MCSA/MCSE, MCDBA Training Kit Exam 70-228 Microsoft SQL Server 2000 System Administration Microsoft-Press курс SA/MCSE, MCDBA ...

-- [ Страница 7 ] --

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

62. Переключитесь в SQL Server Enterprise Manager.

63. Щелкните контейнер Roles.

64. В правой панели дважды щелкните SSEMDB_CustomRole.

Откроется окно Database Role Properties Ч SSEMDB_CustomRole.

65. Щелкните Add.

Откроется окно Add Role Members.

66. Выберите имя Ana и щелкните ОК.

67. Щелкните Permissions.

Откроется окно Database Role Properties Ч SSEMDB.

68. Для объекта Customer_Procedure дважды щелкните флажок Exec, чтобы запретить выполнение оператора EXECUTE, и затем щелкните ОК.

69. Щелкните ОК.

70. В окне SQL Query Analyzer переключитесь на пользовательскую сессию Ала, 71. В панели инструментов щелкните Execute Query.

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

72. В окне SQL Query Analyzer переключитесь на пользовательскую сессию за.

73. В панели инструментов щелкните Clear Window.

74. В панели запросов введите sp_helprotect *customer_procedure' и в панели инстру ментов щелкните Execute Query.

Обратите внимание на разрешения доступа, установленные для объекта БД с име нем customer_procedure.

75. В панели инструментов щелкниге Clear Window.

76. В панели запросов введите sp_helprotect 'customer_viewl' и в панели инструментов щелкните Execute Query.

Обратите внимание на разрешения доступа, установленные для объекта БД с име нем customer_viewl.

77. Не закрывайте окно SQL Server Enterprise Manager и две пользовательских сессии в окне SQL Query Analyzer.

Занятие 1 Предоставление разрешений уровня базы данных Резюме Группам Windows, пользовательским ролям и отдельным пользователям можно на значать и блокировать разрешения на выполнение операторов и работу с объектами.

Эта возможность используется для эскалации разрешений, предоставленных или зап рещенных при помощи постоянных ролей БД. Вы будете использовать эту возмож ность только для расширения или ограничения разрешений, устанавливаемых на оп ределенные объекты. Но, в целом, постоянные роли БД (в дополнение к роли серве ра sa) используются для предоставления разрешений на выполнение операторов. Вы можете управлять и просматривать разрешения, используя SQL Server Enterprise Manager или Transact-SQL. Графический интерфейс облегчает эту задачу, а сценарии Transact-SQL позволяют вам ограничивать разрешения доступа ко многим объектам в одном сценарии. Если вы используете утилиту SQL Server Enterprise Manager, вам следует сгенерировать сценарии, позволяющие вновь воссоздавать или копировать структуру предоставленных разрешений в случае необходимости.

Управление разрешениями ItQt Server Глава Занятие 2. Использование ролей приложения Помимо предоставления доступа различным пользователям и группам, а также даль нейшего определения разрешений для них, вы можете создавать роли приложений в БД со специфическими разрешениями, посредством которых пользователи получают доступ к данным SQL Server 2000. На этом занятии вы научитесь создавать роли при ложений, используя утилиту SQL Server Enterprise Manager и операторы Transact-SQL.

Также вы узнаете о применении средств защиты при использовании ролей приложения.

Изучив материал этого занятия, вы сможете:

S создавать роли приложения;

Х/ активировать и использовать роли приложений.

Продолжительность занятия Ч около 30 минут Роли приложений Роль приложения используется для ограничения доступа пользователей к данным SQL Server 2000 при работе с конкретным приложением (например Microsoft Excel или бухгалтерскими программами). Ограничение доступа пользователей к приложению предупреждает возможность запуска пользователями некорректно составленных зап росов или получения доступа к секретной информации.

Роль приложения Ч это роль БД, которой назначены соответствующие разреше ния. У роли приложения нет пользователей, и по умолчанию она неактивна. Вы не можете добавлять группы Windows NT 4.0/2000, пользователей или роли к этим ро лям. Чтобы активировать роль приложения, приложение должно сообщить базе дан ных пароль. Пароль может содержаться в коде приложения, либо он может находить ся в виде зашифрованного ключа в системном реестре или в БД SQL Server 2000.

Разрешения пользовательского доступа SQL Server 2000 посредством роли прило жения ограничиваются предоставляемыми для этой роли разрешениями. Существу ющие разрешения доступа пользователя к SQL Server 2000 (или их отсутствие) игно рируются, если доступ к SQL Server 2000 осуществляется через роль приложения. К тому же роль приложения специфична по отношению к каждой БД. Это означает, что доступ к данным за пределами БД, в которой создана эта роль приложения, ограни чен разрешениями доступа, назначенными пользователю guest.

Создание ролей приложения Процесс создания роли приложения с использованием SQL Server Enterprise Manager по существу не отличается от процесса создания пользовательской роли БД. В базе данных, где нужно создать роль приложения, правой кнопкой щелкните Roles и вы берите New Database Role. В диалоговом окне Database Role Properties Ч New Role введите имя новой роли в поле Name, щелкните Application Role и укажите пароль в поле Password (рис. 11-7).

После создания роли приложения назначьте ей соответствующие разрешения, также, как предоставляли разрешения доступа для пользовательской роли БД, Ч щелкнув кноп ку Permissions (рис. 11-8).

Вы также можете создавать роль приложения, используя хранимую процедуру Transact-SQL sp_addapprole.

Использование ролей приложения Занятие 2 Рис. 11-7. Создание роли приложения Рис. 11-8. Задание разрешений доступа для новой роли В следующем примере в текущей БД создается роль AccountingAppRole с паролем AppPassword. При этом разрешения доступа для роли приложения будут предоставле ны с помощью операторов Transact-SQL GRANT, REVOKE и DENY, применяющих ся для управления разрешениями доступа пользователя, группы и пользовательской роли БД.

sp^addapprole 'AccountingAppRole 1, 'AppPassword' Активация и использование ролей приложения Чтобы активировать роль приложения, используйте хранимую процедуру sp_seiapp~ role. Однажды активировав роль приложения, пользователь (работая с активировав шим ее приложением) может выполнять все действия, допустимые для данной роли.

Управление разрешениями SQL Server Глава В следующем примере активируется роль AccountingAppRole с использованием пароля АррPassword. Здесь применяется метод шифрования ODBC перед отправкой пароля SQL Server 2000.

EXEC sp_setapprole 'AccountingAppRole', {Encrypt N 'AppPassword'}, 'odbc' Упражнение 4. Создание ролей приложения и проверка соответствующих разрешений В этом упражнении вы создадите роли приложения и проверите наличие со ответствующих разрешений.

> Чтобы создать роли приложения и проверить соответствующие разрешения 1. Переключитесь в SQL Server Enterprise Manager.

2. В дереве консоли раскройте контейнер Databases экземпляра SQL Server по умол чанию, и затем Ч контейнер БД SSEMDB.

3. Правой кнопкой щелкните Roles и выберите New Database Role.

Откроется окно Database Role Properties Ч New Role.

4. В поле Name введите NewAppRole 5. Щелкните Application Role.

6. В поле Password введите pass и щелкните ОК.

7. В правой панели дважды щелкните NewAppRole.

Откроется окно Database Role Properties Ч NewAppRole.

8. Щелкните Permissions.

Откроется окно Database Role Properties Ч SSEMDB.

9. Для объекта БД Customer_Procedure пометьте флажок Exec для предоставления разрешений выполнения оператора EXECUTE для данной хранимой процедуры.

10. Для объекта БД Customer_Viewl пометьте флажок Select для предоставления раз решений выполнения оператора SELECT для данного представления и щелкните ОК.

11. В окне Database Role Properties Ч NewAppRole щелкните ОК.

12. В окне SQL Query Analyzer переключитесь на сеанс пользователя Ana.

13. В окне запросов выполните два запроса, чтобы убедиться, что пользователь Ana не может выполнять ни хранимую процедуру Customer_Procedure, ни выборку дан ных из Customer_Viewl.

14. Не завершайте сеанс пользователя Ana.

15. В меню File выберите Connect.

Откроется окно Connect To SQL Server.

16. Щелкните SQL Server Authentication.

17. В текстовом поле Login Name введите Ana.

18. В поле Password введите password и щелкните ОК.

Обратите внимание, что вы подключились к БД master под именем Ana.

19. В панели инструментов в списке БД выберите в качестве текущей БД SSEMDB.

20. В панели запросов введите EXEC sp_setapprole 'NewAppRole', 'pass' и в панели инструментов щелкните Execute Query.

Обратите внимание, что роль NewAppRole была активирована.

21. В панели инструментов щелкните Clear Window.

22. В панели запросов введите EXEC customer_procedure и в панели инструментов щелкните Execute Query.

Занятие 2 Использование ролей приложения Обратите внимание, что пользователь Ana теперь может запускать эту хранимую процедуру через роль приложения.

23. В панели инструментов щелкните Clear Window.

24. В панели запросов введите SELECT * FROM Customer_Viewl и в панели инстру ментов щелкните Execute Query.

Обратите внимание, что пользователь Ana теперь может выполнить выборку дан ных из этого представления через роль приложения.

25. В окне SQL Query Analyzer переключитесь на оригинальный сеанс пользователя Ana.

26. Выполните запросы.

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

27. Закройте окно SQL Query Analyzer. При этом роль приложения будет деактивиро вана. Не сохраняйте изменения.

Резюме Роли приложений очень полезны для ограничения доступа пользователя к отдель ным приложениям. Вы можете создавать роль приложения и предоставлять ей соот ветствующие разрешения, используя утилиту SQL Server Enterprise Manager или опе раторы Transact-SQL. Затем приложение активирует роль, используя хранимую про цедуру sp_setapprole и передавая пароль. Все разрешения пользователей, работающих с использованием роли приложения, ограничены назначенными ей разрешениями.

Разрешения пользователя, работающего с приложением, в данном случае не имеют никакого значения.

Управление разрешениями SQL Server Глава Занятие 3. Разработка стратегии предоставления доступа и назначения разрешений Теперь, когда вы познакомились с утилитами, позволяющими реализовать эффек тивную защиту данных в SQL Server 2000, вы можете разработать стратегию предос тавления доступа и назначения разрешений, которая будет реализована в вашей орга низации. На этом занятии вы познакомитесь со стратегиями предоставления доступа и назначения разрешений, использующими эти утилиты, а также со слабыми и силь ными сторонами каждой из стратегий в разных средах.

Изучив материал этого занятия, вы сможете:

S описать доступные вам стратегии предоставления доступа и назначения разрешений;

ХS оценить и выбрать соответствующую стратегию предоставления доступа и назначения разрешений.

Продолжительность занятия Ч около 15 минут Предоставление доступа администраторам Для начала нужно определить пользователей, которым вы предоставите неограничен ный доступ к SQL Server 2000. Есть несколько схем предоставления доступа. Если пользователи относятся к локальной группе SQL Server 2000 Administrators (по умол чанию администраторы домена входят в состав локальной группы Administrators), то они уже имеют неограниченный доступ, так как являются участниками роли сервера sysadmin. Если же они не относятся к этой локальной группе, вы можете выполнить одно из следующих действий:

Х добавить в локальную группу Administrators каждого пользователя по отдельности;

Х создать учетную запись пользователя SQL Server 2000 для каждого из этих пользо вателей, используя их учетную запись в системе Windows 2000, и сделать каждого из них членом роли сервера sysadmin;

Х создать общую группу Windows 2000, объединяющую этих пользователей, и сде лать группу administrator SQL Server членом локальной группы Administrators;

Х создать глобальную группу Windows 2000, объединяющую этих пользователей, со здать учетную запись пользователя для этой группы, а затем сделать эту учетную запись членом роли сервера sysadmin.

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

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

Кроме того, вы можете не захотеть предоставлять полный доступ к SQL Server всем участникам локальной группы Administrators. В этом случае удалите имя пользо вателя, созданное для встроенной локальной группы BUILTIN\Administrators. Одна ко, прежде чем удалять запись, убедитесь, что у вас имеется альтернативный доступ с разрешениями администратора (как правило, он предоставляется через учетную за пись специализированной группы SQL Server).

Занятие 3 Разработка стратегии предоставления доступа и назначения разрешений Использование групп Windows и ролей SQL Server Если есть пользователи, которым необходимо предоставить разрешения админист рирования SQL Server 2000, но вы не хотите предоставлять им неограниченный дос туп, используйте комбинации роли сервера для предоставления им достаточных раз решений. Продумайте, в какие встроенные группы и новые группы Windows нужно включить этих пользователей, и сделайте эти группы Windows участниками соответ ствующих ролей SQL Server 2000, чтобы облегчить задачи администрирования. По мните, что добавление пользователя или группы к роли сервера автоматически обес печивает им доступ к SQL Server 2000. Также помните, что для добавления встроен ной группы лучше использовать название группы BUILTIN, чем имя домена или ком пьютера.

Предоставление доступа к SQL Server Прежде всего используйте смешанный режим проверки подлинности, только если это действительно необходимо. Если вам все-таки придется его использовать, постарай тесь предусмотреть возможность включения протокола шифрования SSL для всех пользовательских сессий. Создайте учетную запись SQL Server 2000 для каждой учет ной записи пользователя SQL Server. Добавьте имена пользователей SQL Server к ро лям сервера, если требуется, предоставив им минимальные необходимые разрешения.

Затем предоставьте доступ тем из пользователей Windows, которые нуждаются в доступе к SQL Server 2000. Продумайте создание и предоставление доступа пользова телей к отдельной группе Windows 2000, которая будет содержать всех пользователей Windows 2000, имеющих доступ к SQL Server 2000. Также обдумайте создание второй группы Windows 2000, которая будет содержать всех пользователей, которым было отказано в доступе к SQL Server 2000 в индивидуальном порядке. Создайте пользова тельское имя для этой группы Windows 2000 и установите соответствующий запрет на доступ для членов данной группы. Использование только этих двух групп позволит вам быстро предоставлять или отменять какие-либо разрешения доступа к серверам SQL Server 2000 для пользователей Windows.

Предоставление доступа к БД Прежде всего, если пользователь будет нести ответственность за отдельную БД, сде лайте его ее владельцем. Затем создайте пользовательские учетные записи в БД для пользователей, которым требуется доступ к ней. Если вы используете утилиту SQL Server Enterprise Manager, то можете добавлять только тех пользователей, которые име ют учетные записи пользователей SQL Server 2000. Если вы используете операторы Transact-SQL, то можете добавить любого пользователя или группу Windows 2000.

Обдумайте создание групп Windows для каждого типа пользователя, требующих дос туп к БД, с различными уровнями доступа.

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

Управление разрешениями SQL Server Глава Если вы планируете использовать определенные фиксированные роли БД во всех новых БД, добавьте эти роли в БД model и затем добавьте в их состав нужных пользо вателей. Например, вы можете создать группу пользователей Windows, выполняющую функции зашиты данных (security operators) и затем добавить ее к постоянной роди db_securityadmin БД model. При этом каждая новая БД будет включать роль админи стратора защиты db_securityadmin, в которую автоматически добавляется эта группа Windows.

Предоставление доступа к данным Существует несколько уровней доступа к данным, и этот факт следует иметь в виду при предоставлении пользователям доступа. Во-первых, определитесь, хотите ли вы предоставить пользовательский доступ к БД. Вы можете создать учетную запись пользователя guest в БД и предоставить ему ограниченные разрешения для просмотра определенных таблиц, представлений, полей и хранимых процедур. У вас нет спосо бов проверки активности отдельных пользователей, зарегистрировавшихся под име нем guest, потому что пользователь не имеет доступа к БД через свою личную учет ную запись (хотя вы можете проверить действия пользователя guest), Некоторые раз решения, предоставленные учетной записи пользователя guest или отмененные для нее, не влияют на всех зарегистрированных пользователей, которым предоставлены соответствующие разрешения.

Во-вторых, определите разрешения доступа к данным, которые требуются для всех зарегистрированных в БД пользователей. Предоставьте эти разрешения роли public.

Благодаря этому вы сможете предоставлять соответствующие разрешения одним дей ствием (нужно лишь предоставить соответствующие разрешения группе public), что упростит задачи администрирования, Все зарегистрированные пользователи получа ют эти разрешения по умолчанию при подключении к БД.

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

Х Если пользователям или группам требуется доступ ко всем таблицам, представле ниям и функциям, вы можете добавить каждого из этих пользователей или групп к постоянным ролям БД db_datawriter и/или db_datareader.

Х Если пользователям или группам требуется доступ к определенным таблицам, представлениям, функциям и хранимым процедурам, вы можете предоставить раз решения на соответствующие объекты каждому пользователю или группе по от дельности. В случае если таких пользователей или групп много, этот способ Ч не самый лучший.

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

Х Если пользователям или группам требуется доступ к большинству (но не ко всем) таблицам, представлениям и функциям, вы можете добавить каждого пользовате ля или группу к постоянной роли БД db_datawriter и/или db_datareader, а затем в индивидуальном порядке запретить каждому из этих пользователей или групп до ступ к отдельным объектам.

Разработка стратегии предоставления доступа к назначения разрешений Занятие * Если большинству пользователей или групп требуется доступ к большинству (но не ко всем) таблицам, представлениям и функциям, вы можете добавить каждого из этих пользователей или групп к постоянным ролям БД db^datawriter и/или db_datareader, а затем добавить каждого из этих пользователей или групп к посто янной определяемой пользователем роли БД, запретив доступ к соответствующим объектам для этой роли. Если при этом вы используете имена пользователей SQL Server и Windows, это позволит вам локализовать все необходимые разрешения в одной роли, а затем просто добавлять и удалять пользователей, Примечание Вы не можете использовать фиксированные роли БД db_datareader и db_datawriter для предоставления разрешения выполнить оператор EXECUTE.

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

Резюме SQL Server 2000 обеспечивает множество способов защиты данных. Выбор наиболее подходящего метода для вашей среды зависит от полного понимания возможностей Windows NT 4.0/2000 и SQL Server 2000. Выбирайте такую стратегию предоставления доступа и назначения разрешений, которая позволит вам достичь максимально эф фективной защиты, выполняя при этом минимум необходимых действий. Это упрос тит задачу управления разрешениями доступа, а также облегчит устранение проблем, связанных с защитой данных, если таковые когда-либо возникнут.

Управление разрешениями SQL Server 342 Глава Закреплениематериала 7J Приведенные ниже вопросы помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот ветствующего занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги.

1. Вы создали группу безопасности Windows 2000 для пользователей БД SalesRepor ting в системе SQL Server 2000 и поместили менеджеров по продажам в эту группу.

Затем вы предоставили этой группе доступ к SQL Server 2000 и БД SalesReporting.

Кроме того, вы включили эту груггпу в постоянную роль БД db_datawriter и db_da tareader. Некоторые пользователи пожаловались, что, несмотря на наличие у них доступа к данным в каждой таблице и представлении БД, они могут выполнять не все хранимые процедуры, а только часть из них. Выяснилось также и то, что один из пользователей данной группы может выполнять все хранимые процедуры. Ка ковы вероятные причины этой проблемы?

2. Вам нужно предоставить определенным пользователям возможность добавлять новые данные в БД с высокой степенью зашиты. При этом также требуется весьма сильно ограничить разрешения пользователей на поиск данных. Вы заботитесь о безопасности этих данных. Какой наиболее безопасный способ вы можете исполь зовать, чтобы разрешить пользователям выполнять из задачи?

3. Вы разрабатываете систему защиты для своего экземпляра SQL Server 2000. Вы предоставили доступ к нему только пользователям и группам Windows 2000. Есть ли какое-либо преимущество и предоставлении разрешений определяемым поль зователями группам БД по сравнению с прямым предоставлением разрешений до ступа группам Windows?

ГЛАВА Администрирование SQL Server Занятие 1. Изменение параметров конфигурации Занятие 2, Настройка дополнительных компонентов Занятие 3. Обслуживание SQL Server 2000 В этой главе Здесь вы узнаете, как настраивать параметры конфигурации, устанавливать и обслу живать SQL Server 2000. Вы будете задавать конфигурацию Windows, служб SQL Server и Server Agent, а также SQL Server Enterprise Manager. Вы сможете расширить воз можности системы SQL Server 2000 с помощью SQLAgentMail, SQL Mail и связанных серверов, а также благодаря поддержке XML. И наконец, вы научитесь обеспечивать необходимую поддержку БД.

Прежде всего Для изучения материалов этой главы вам потребуются:

Х компьютер, соответствующий минимальным аппаратным требованиям, перечис ленным в главе 2;

Х ОС Microsoft Windows 2000 Server, установленная на разделе диска с файловой системой NTFS;

Х компьютер с сетевым именем SelfPacedCPU, сконфигурированный как контрол лер домена SelfPacedSQL.MSFT;

Х один установленный по умолчанию и по крайней мере один именованный экзем пляр SQL Server 2000.

Глава Администрирование SQL Server Занятие 1, Изменение параметров конфигурации На этом занятии вы познакомитесь с различными параметрами конфигурации Win dows, служб SQL Server и Server Agent, SQL Server Enterprise Manager и узнаете, когда их следует использовать. Для многих сред изменение этих параметров если и требует ся, то незначительное.

Изучив материал этого занятия, вы сможете:

Х/ проверить, имеет ли Windows 2000 нужную конфигурацию, обеспечивающую оптимальную производительность SQL Server 2000;

S сконфигурировать службы SQL Server и SQL Server Agent;

Хs зарегистрировать экземпляры SQL Server в SQL Server Enterprise Manager;

S просмотреть информацию о зарегистрированных серверах с помощью SQL Server Enterprise Manager и открыть к ней соместный доступ.

Продолжительность занятия Ч около 45 минут Конфигурирование Windows NT 4.0/ Подробное обсуждение оптимизации сервера Windows NT 4.0/2000 для достижения наивысшей производительности выходит за рамки этой книги. Однако есть три пара метра операционной системы, влияющие на производительность SQL Server 2000, которые вам, возможно, потребуется настроить.

Максимизация пропускной способности сети При установке SQL Server 2000 на любом сервере Windows NT 4.0/2000, программа установки автоматически настраивает систему на максимальную пропускную способ ность для сетевых приложений (если это еще не сделано), что позволяет приложени ям, кэшируюшим память (например SQL Server 2000) наиболее эффективно исполь зовать память сервера.

Рис. 12-1. Проверка параметров пропускной способности в Windows Занятие 1 Изменение параметров конфигурации настройки можно просмотреть только при помощи параметра Show Advanced Options.

Для динамически настраиваемых параметров указываются нулевые значения. Если вы изменили какой-либо параметр с помощью хранимой процедуры sp_configu:re, выполните оператор RECONFIGURE или перезапустите службу SQL Server, чтобы система начала использовать новое значение параметра. Если вы изменили параметр с помощью SQL Server Enterprise Manager, система выдаст запрос на перезапуск SQL Server, чтобы изменения вступили в силу.

Примечание У каждого параметра есть текущее и заданное значение. Если параметр изменен, но не активизирован, текущее и заданное значения будут различаться.

Соединения Чтобы изменить параметры пользовательского соединения с помощью SQL Server Enterprise Manager, щелкните правой кнопкой соответствующее имя, щелкните Pro perties и в диалоговом окне SQL Server Properties (Configure) перейдите на вкладку Connections. Вы также можете выбрать SQL Server Configuration Properties в меню Tools и перейти на вкладку Connections (рис. 12-4).

Рис. 12-4. Изменение параметров настройки клиентского соединения В табл. 12-1 описаны параметры пользовательского соединения, при этом исполь зуются названия, определяемые процедурой sp_configure. В интерфейсе SQL Server Enterprise Manager используются более, понятные описательные названия параметров.

Глава Администрирование SQL Server Табл. 12-1. Параметры соединения Использование Название параметра Описание Определяет число пользователей, Используется, чтобы не User connections перегружать SQL Server которые могут одновременно параллельными соединениями подключиться к SQL Server 2000. Действительное число разрешенных пользовательских соединений зависит от версии SQL Server 2000, которую вы используете, и от ограничений приложений и аппаратного обеспечения. По умолчанию это значение изменяется динамически Определяет параметры обработ- Используется, чтобы User options установить значения ки запросов для всех пользова глобальных параметров тельских соединений, устанавли обработки запросов для ваемые по умолчанию. Не имеет значений параметров по умол- клиентских соединений чанию по умолчанию Разрешает или запрещает уда- Используется, чтобы Remote access ленный доступ с помощью защитить сервер и запретить удаленных хранимых процедур. удаленный доступ По умолчанию удаленный доступ разрешен Remote proc trans Требует использования MS DTC Применяется в распределен при распределенных транзакциях, ных транзакциях при исполь чтобы обезопасить процесс зовании MS DTC, чтобы выполнения процедур на нес- сохранить свойства ACID кольких серверах. По умолчанию (атомарность, согласован ность, изоляцию, устойчи MS DTC использовать не тре буется вость) Remote query timeout Определяет время ожидания Используется для того, чтобы удаленного запроса SQL установить время ожидания Server 2000. По умолчанию Ч удаленного запроса 600 сек. (10 мин.) База данных Чтобы изменить параметры настройки БД с помошью SQL Server Enterprise Manager, в дереве консоли щелкните правой кнопкой имя нужного экземпляра, выберите Properties и в открывшемся диалоговом окне SQL Server Properties (Configure) перей дите на вкладку Database Settings (рис. 12-5).

В табл. 12-2 описаны параметры настройки БД, используемые системной храни мой процедурой sp_configure. С помощью SQL Server Enterprise Manager вы также можете определить папку файлов данных и журнала по умолчанию на вкладке Data base Settings диалогового окна SQL Server Properties (Configure).

Занятие 1 Изменение параметров конфигурации Рис. 12-5. Изменение параметров настройки БД Табл. 12-2. Параметры настройки БД Название параметра Описание Использование Fill factor Определяет процент заполнения Задает значение, чтобы минимизировать расщепле страницы индекса при создании ние страниц индекса.

нового индекса на основе существующих данных. Коэффициент заполнения По умолчанию при создании для таблицы, доступной только для чтения, к которой любой страницы кластерного или некластерного индекса данные не добавляются, SQL Server 2000 заполняет ее, равен 100% оставляя лишь небольшое место для дополнительных данных до расщепления страницы Задает срок хранения всех Media retention Определяет срок хранения каждой резервной копии. наборов резервных копий По умолчанию равен О Используется, чтобы равно Recovery interval Задает время завершения операции автоматического мерно распределить операции записи на жесткий диск восстановления (в минутах), тем самым определяя частоту во времени и избежать пере грузки системы запуска процесса контрольной точки. По умолчанию опреде ляется динамически в зависи мости от частоты изменения данных и свободного простран ства журнала транзакций 350 Администрирование SQL Server Глава Память Чтобы изменить параметры конфигурации памяти с помощью SQL Server Enterprise Manager, в дереве консоли щелкните правой кнопкой имя экземпляра, выберите Properties и в раскрывшемся диалоговом окне SQL Server Properties (Configure) пе рейдите на вкладку Memory (рис. 12-6).

Рис. 12-6. Изменение параметров конфигурации памяти В табл. 12.3 описаны параметры конфигурации памяти, используемые системной хранимой процедурой sp_configure.

Табл. 12-3. Параметры конфигурации памяти Название параметра Описание Использование Max server memory Определяет максимальный Используется, чтобы ограни размер памяти, которую SQL чить размер используемой Server 2000 может использовать памяти и предоставить ее для буферного пула. другим серверным По умолчанию память приложениям распределяется динамически Min server memory Определяет минимальный Используется, чтобы устано размер памяти, используемый вить минимальное значение SQL Server 2000 для буферного памяти на компьютере, не пула отведенном специально для SQL Server 2000, чтобы он получал больше ресурсов Set working set size Устанавливает дополнительный Используется, чтобы объем физической памяти для Windows 2000 не отдавал SQL Server 2000. Используется страницы другим серверным с параметрами настройки мини- приложениям (независимо мальной и максимальной памя- от того, сколько им нужно ти сервера. По умолчанию значе- памяти и насколько занят ние этого параметра равно О SQL Server 2000) Заиятие 1 Изменение параметров конфигурации Табл. 12-3. (окончание) Описание Название параметра Использование Min memory per query Определяет минимальный Используется, чтобы увели объем памяти (в килобайтах), чить производительность предоставляемой каждому при выполнении небольших запросу. По умолчанию запросов определяется динамически SQL Server 2000 автоматически распределяет и освобождает память в буфере кэша, чтобы повысить производительность. Это зависит от объема памяти, используемой SQL Server 2000 и запрашиваемой другими серверными приложениями. Если вся до ступная физическая память уже передана серверному приложению, он обращается к циклам процессора, чтобы перераспределить память между приложениями. Чтобы убедиться, что физическая память доступна всем приложениям, работающим в дан ный момент на вашем компьютере с Windows, вы можете жестко задать минималь ный и максимальный объем памяти. В этом случае SQL Server 2000 будет динамичес ки распределять память в пределах между минимальным и максимальным объемом.

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

Если на компьютере выполняется только SQL Server 2000, установите равные боль шие значения минимального и максимального объема памяти и размера рабочего про странства Ч это может немного повысить производительность. В этом случае память будет выделяться прежде всего SQL Server 2000, а оставшаяся Ч между остальными приложениями. Другие серверные приложения не смогут выполнять перераспреде ление памяти.

Примечание Если вы используете полнотекстовый поиск, вам может понадобиться задать максимальный объем памяти так, чтобы SQL Server 2000 SQL мог резервировать достаточный объем памяти для наивысшей производительности службы Microsoft Search. Необходимый ей объем зависит от размера таблиц полнотекстовых индексом и частоты выполнения полнотекстовых запросов.

Процессор Чтобы изменить параметры конфигурации процессора с помощью SQL Server Enter prise Manager, в дереве консоли щелкните правой кнопкой нужный экземпляр серве ра, выберите Properties и в открывшемся диалоговом окне SQL Server Properties (Configure) перейдите на вкладку Processor (рис. 12-7).

В табл. 12-4 перечислены параметры настройки процессора, используемые сис темной хранимой процедурой sp_configure.

Глава Администрирование SQL Server Рис. 12-7. Настройка производительности процессора Табл. 12-4. Параметры настройки процессора Название параметра Описание Использование Исключает процессор в много Affinity mask Чтобы отключить потоки SQL процессорной системе из Server 2000 от процессоров обработки потоков SQL Server со специальной рабочей 2000. По умолчанию обработка нагрузкой Windows потоков SQL Server распределяется между всеми процессорами Cost threshold for Определяет короткие и длинные Применяется в многопроцес parallelism планы выполнения запросов. сорных системах при чрезмер С помощью этого параметра ном переключении контекстов SQL Server 2000 определяет, или при постоянной когда ему следует переходить большой нагрузке к параллельному выполнению запросов. Значение по умолчанию Ч Lightweight pooling Влияет на образование волокон Применяется в многопроцес в потоках (режим планирования сорных системах при чрезмер волокон) или на планирование ном переключении контекстов потоков при выполнении заданий. или при постоянной По умолчанию устаноштен большой нагрузке режим планирования потоков Priority boost Определяет приоритет планиро- Применяется, чтобы повысить вания для процессора в SQL приоритет планирования на Server 2000. По умолчанию компьютере, предназначенном установлен обычный только для SQL Server приоритет ('О и имеющем не сколько процессоров Занятие 1 Изменение параметров конфигурации Табл. 12-4. (окончание) Название параметра Описание Использование Max degree of Устанавливает число процессо- Применяется, чтобы ров, параллельно выполняю parallelism запретить генерацию щих план. По умолчанию равно параллельного плана числу процессоров на компьютере Определяет число рабочих Значение этого параметра Max worker threads потоков, доступных процессам нужно уменьшить,чтобы SQL Server 2000. По умолчанию повысить производительность системы с малым числом равно пользовательских подключений Сервер Чтобы изменить параметры настройки сервера с помощью SQL Server Enterprise Manager, в дереве консоли щелкните правой кнопкой имя нужного экземпляра SQL Server, выберите Properties и в открывшемся диалоговом окне SQL Server Properties (Configure) перейдите на вкладку Server Settings (рис. 12.8).

|O1 di-rwr (Vup.Tlic, (I onhgurc) SnirAI LDf PI I Рис. 12-8. Изменение параметров настройки сервера В табл. 12-5 перечислены параметры настройки сервера, используемые системной хранимой процедурой sp_configure.

С помощью SQL Server Enterprise Manager вы также можете установить язык, ко торый будет использоваться по умолчанию для серверных сообщений, и определить имя профиля электронной почты, которое будет использоваться для сеанса электрон ной почты. Для этого перейдите на вкладку Mail profile диалогового окна SQL Server Properties (Configure). Подробнее о настройке SQLAgentMail и SQL Mail Ч в глазе 2.

Администрирование SQL Server Глава Табл. 12-5. Параметры настройки сервера Название параметра Описание Использование Определяет, можно ли напрямую Allow updates Используется только по обновлять системные таблицы. указанию Microsoft Если это запрещено, пользова- Product Support Services тель не может непосредственно изменять таблицы, даже если данное право было ему предос тавлено с помощью оператора GRANT. По умолчанию обнов лять таблицы нельзя Nested triggers Контролирует использование Используется, чтобы каскадных триггеров. Макси- запретить применение мально допустимый уровень каскадных триггеров вложенности Ч 32. По умолча нию использование каскадных триггеров разрешено Query governor Определяет время обработки Используется, чтобы избежать cost limit запроса (в секундах). По умолча- незавершающихся запросов нию время обработки не ограничено Two-digit year cutoff Определяет две предыдущие Используется, чтобы цифры при использовании согласовать данные, исполь только двух последних в зуемые SQL Server записи года, По умолчанию и клиентскими приложениями равно 2049, это означает, что 49 интерпретируется как 2049 год, а 50 Ч как 1950 год.

Значение по умолчанию для объектов OLE-автоматизации Ч Интеграция с Active Directory Если вы установили SQL Server 2000 в среде Windows 2000 Active Directory, то можете зарегистрировать свой экземпляр SQL Server в Active Directory. При этом вы добавите объект MS-SQL-SQLServer в качестве объекта Service Connection Point (SCP) для того компьютера, на котором установлен SQL Server 2000. Объекту SCP доступны все се тевые службы..В объекте MS-SQL-SQLServer хранится информация о службе SQL Server, например информация о подключении. Пользователи и приложения могут искать в Active Directory информацию об экземплярах SQL Server 2000. зарегистриро ванных в сети.

Регистрацию выполняет служба MSSQLServerADHelper, которая автоматически запускается при необходимости системами SQL Server или Analysis Manager, а затем останавливается после выполнения задачи. Эта служба также проверяет, что пользо ватели домена SQL Server имеют право обновлять объекты Active Directory, а также информацию о БД и репликации. Чтобы зарегистрировать систему или БД в Active Directory (или отменить регистрацию), учетная запись пользователя должна быть чле Занятие 1 Изменение параметров конфигурации ном локальных групп Windows NT 4.0/2000 Administrators или Power Users компьюте ра, где установлен SQL Server 2000.

Чтобы зарегистрировать экземпляр SQL Server 2000 (или отменить регистрацию), вы можете воспользоваться SQL Server Enterprise Manager или системной хранимой процедурой sp_ActiveDirectory_SCP. Если вы используете SQL Server Enterprise Mana ger, в дереве консоли щелкните правой кнопкой имя нужного экземпляра, выберите Properties и в открывшемся диалоговом окне SQL Server Properties (Configure) переи дите на вкладку Active Directory. Если вы хотите зарегистрировать экземпляр SQL Server 2000, щелкните кнопку Add, если хотите отменить регистрацию Ч кнопку Remove (рис. 12-9).

Рис. 12-9. Регистрация SQL Server 2000 в Active Directory Теперь вы можете зарегистрировать любую БД с помощью SQL Server Enterprise Manager или системной хранимой процедуры sp_ActiveDirectory_Obj. Если вы исполь зуете SQL Server Enterprise Manager, щелкните правой кнопкой имя БД, которую хо тите зарегистрировать, выберите Properties и в диалоговом окне Properties перейдите на вкладку Options. Если вы зарегистрировали экземпляр сервера в Active Directory, на этой вкладке вы увидите группу Active Directory. Чтобы просмотреть список БД, зарегистрированных в Active Directory, пометьте флажок List This Database In Active Directory (рис. 12-10). Если ваш экземпляр сервера не зарегистрирован, группа Active Directory не будет отображается.

13- Глава Администрирование SQL Server Рис. 12-10. Регистрация БД в Active Directory Конфигурирование учетной записи службы Службы SQL Server и SQL Server Agent могут использовать доменную или локальную учетную запись. Чтобы выполнять какие-либо действия и обмениваться данными между серверами, эти службы должны работать под доменной учетной записью. Хотя использование доменной учетной записи не требует особых прав, некоторые права позволят расширить функциональность SQL Server 2000.

Табл. 12-6. Права, необходимые для увеличения функциональности SQL Server Права Функциональность Служба SQL Server Работает как часть опера- Пользователь, не являющийся участни ционной системы и изме- ком роли sysadmin, может выполнять няет маркер уровня команды операционной системы Х процесса SQL Server Член локальных ipynn Публиковать и управлять объектами Power Users и Administrators SQL Server 2000 в Active Directory SQL Server Agent Член локальной группы Пользователи, не принадлежащие к роли Administrators sysadmin, могут назначать задания операционной системе и Active Script SQL Server Agent Член локальной ]руппы Настраивать систему таким образом, Administrators чтобы выполнялся автоматический перезапуск службы SQL Server Agent при ее непредвиденной остановке SQL Server Agent Член локальной 1руппы Конфигурировать службу SQL Server Agent Administrators так, чтобы она отправляла задания, когда процессор не занят Если вашему экземпляру SQL Server 2000 необходима функциональность из табл.

12-6, проверьте, имеет ли доменная учетная запись службы эти права, или исполь Занятие 1 Изменение параметров конфигурации зуйте локальную учетную запись (она имеет все локальные права). Подробнее о до полнительных возможностях SQL Server 2000 Ч далее в этой главе, а также в главе 13.

Конфигурирование службы SQL Server Agent Вы можете настроить параметры службы SQL Server Agent с помощью SQL Server Enterprise Manager.

Основные параметры Чтобы настроить основные параметры SQL Server Agent, в дереве консоли раскройте Management, щелкните правой кнопкой SQL Server Agent и выберите Properties. В ди алоговом окне SQL Server Agent Properties вы можете просмотреть общие свойства этой службы (рис. 12-11).

Рис. 12-11. Настройка основных параметров для службы SQL Server Agent На вкладке General вы можете указать путь к журналу ошибок, разрешить запись со общений при трассировке (это поможет на этапе отладки), а также выбрать формат файла журнала ошибок, отличный от Unicode, чтобы уменьшить размер этого файла.

Запись сообщений при выполнении операторов и трассировке может значительно увеличить размер файлов. Вы можете указать сетевое имя компьютера, назначенного в качестве получателя сообщений, отправляемых с помощью команды net send и уве домляющих об ошибках, зарегистрированных SQL Server Agent. О параметрах отправ ки почтовых сообщений и настройке электронной почты для службы SQL Server Agent Ч в главе 2.

Дополнительные параметры Определить дополнительные параметры службы SQL Server Agent можно на вкладке Advanced диалогового окна SQL Server Agent Properties (рис. 12-12).

Здесь вы можете разрешить автоматический перезапуск службы SQL Server Agent в случае ее непредвиденной остановки, пометив флажок Auto Restart SQL Server Age nt If It Stops Unexpectedly. Чтобы использовать эту возможность, учетная запись службы SQL Server Agent должна обладать правами администратора в локальной системе (эти права служба SQL Server Agent может получить через учетную запись пользователя Администрирование SQL Server Глава домена или учетную запись локальной системы). По умолчанию в SQL Server исполь зуется автоматический перезапуск.

Рис. 12-12. Настройка дополнительных параметров службы SQL Server Agent В группе элементов управления SQL Server Event Forwarding вы можете настроить службу SQL Server Agent так, чтобы уведомления обо всех или некоторых событиях SQL Server отправлялись на другой сервер. Вы можете использовать эту возможность, чтобы разрешить централизованное управление оповещением для групп серверов.

При настройке параметров оповещения соблюдайте осторожность, так как это может повлечь увеличение нагрузки на сеть, дополнительную нагрузку на центральный сер вер и явиться дополнительным источником ошибок и сбоев. Чтобы воспользоваться этой возможностью, зарегистрируйте сервер в SQL Server Enterprise Manager. 0 на стройках системы оповещения Ч в главе 13.

В группе Idle CPU Condition вы можете определить нижний порог загруженности процессора. В главе 13 вы научитесь создавать задания, которые запускает служба SQL Server Agent при недостаточной загруженности процессора. Для определения загру женности процессора установите, на сколько процентов ниже среднего уровня умень шается нагрузка процессора за определенный интервал времени. Чтобы использовать эту возможность, учетная запись службы SQL Server Agent должна обладать правами администратора локальной системы (эти права служба SQL Server Agent может полу чить через локальную или доменную учетную запись).

Свойства соединения Настроить свойства соединения службы SQL Server Agent можно на вкладке Con nection диалогового окна SQL Server Agent Properties (рис. 12-13).

По умолчанию служба SQL Server Agent устанавливает соединение с локальным экземпляром SQL Server 2000, используя учетную запись пользователя домена, со зданную для этой службы. При помощи элементов управления в группе SQL Server Connection вы можете сконфигурировать эту службу так, чтобы все соединения с ло кальным экземпляром осуществлялись через учетные записи пользователей SQL Server Ч участников роли sysadmin. Вы также можете установить максимальное вре мя ожидания ответа для каждой сессии (по умолчанию Ч 30 секунд). Если вы изме нили параметры настройки клиентских сетевых библиотек Net-Libraries, то, возмож Изменение параметров конфигурации о* и ^йР i но, вам придется указать псевдоним SQL Server, который вы создали ранее с помо щью утилиты Client Network Utility.

Рис. 12-13. Настройка свойств соединения SQL Server Agent Регистрация экземпляра SQL Server в SQL Server Enterprise Manager Чтобы администрировать и управлять работой различных экземпляров SQL Server 7.0/ 2000 из SQL Server Enterprise Manager, их нужно зарегистрировать. При этом необхо димо указать имя сервера, имя экземпляра (если оно используется), метод проверки подлинности пользователей, информацию об учетной записи при использовании про верки подлинности SQL Server и имя логической группы серверов SQL Server Enter prise Manager. Вы можете зарегистрировать экземпляр сервера с помошью мастера или непосредственно при помощи SQL Server Enterprise Manager.

Регистрация с помощью мастера Register SQL Server Wizard Вы можете вызвать мастер Register SQL Server Wizard, выбрав Wizards в меню Tools или щелкнув правой кнопкой группу серверов или один из зарегистрированных эк земпляров SQL Server и выбрав New SQL Server Registration (рис. 12-14).

Вы можете отказаться от использования мастера Register SQL Server Wizard, поме тив флажок From Now On, I Want To Perform This Task Without Using A Wizard в ок не Welcome To The Register SQL Server Wizard. Если вы отменили использование масте ра, то вызвать его можно только выбрав Wizards в меню Tools. Щелкните Next и в окне Select A SQL Server вы увидите список всех серверов в сети. Выберите экземп ляр, который хотите зарегистрировать (рис. 12-15);

если нужного экземпляра нет в списке, введите его имя с клавиатуры. Экземпляр может не отображаться в списке, если сервер в данный момент остановлен или не сообщает о своем существовании.

Щелкните Next, чтобы указать способ проверки подлинности при подключении к каждому из экземпляров в окне Select An Authentication Mode, для всех выбранных экземпляров вы можете выбрать один режим (рис. 12-16). Позже вы сможете отдель но сконфигурировать параметры соединения для отдельного экземпляра SQL Server с помощью мастера Register SQL Server Wizard.

Глава Администрирование SQL Server welcome to the Register SQL Server Wizard Т hit mzaid helps you register one в Mere SQL Servns v/itMhis wizard you Рис. 12-14. Окно мастера Register SQL Server Wizard Select a SHL Serve!

S elect or type The name of one or Рис. 12-15. Выбор регистрируемого экземпляра SQL Server Selectл Authentication Mode Select the authentication mode that you uta to correct to SOL Se ver.

Рис. 12-16. Выбор способа проверки подлинности для регистрируемого сервера Занятие Изменение параметров конфигураций Если вы выбрали режим проверки подлинности SQL Server, вам придется ввести дополнительную информацию о соединении в окне Select Connection Option. Вы мо жете настроить параметры соединения так, чтобы SQL Server Enterprise Manager ис пользовал учетную запись пользователя SQL Server каждый раз при подключении к любому из этих экземпляров. Вы можете также указать, чтобы SQL Server Enterprise Manager запрашивал у вас параметры учетной записи при подключении к любому из экземпляров. Это полезно, если несколько пользователей регистрируются в системе под разными учетными записями SQL Server и имеют различные права на разных эк земплярах SQL Server (рис. 12-17).

Select Connection Option When you connecl using SOL 5лн account information you can slora you logr name and password or provide il each time you connect.

I'.IV* I.

I' i УШУщ Щ ;

Х Г"^'' Рис. 12-17. Выбор параметров подключения для регистрируемых серверов В окне Select SQL Server Group добавьте регистрируемые экземпляры к сушестиу ющим группам серверов в контейнере Management или в новую группу верхнего уров ня (рис. 12-18).

Select SQL Scivei Group Specify whelha you want to add (he SOL Servers) you ate ragjtleing lo the aef 31* SQL Sarvei a'*, another exiling yaif, а в n*w SOL Serve group.

Рис. 12-18. Выбор логической группы для регистрируемого сервера Переключитесь в окно Completing The Register SQL Server Wizard. На этом этапе мастер Register SQL Server Wizard проверяет, что вы можете подключиться к выбран ным экземплярам SQL Server с указанным режимом проверки подлинности, именем и паролем (рис. 12-19).

Глава Администрирование SQL Server Completing ttm Register SQL Server Wizard p i TheSQLSiva|s)) u*ei' g'fflir'B s*Щribelo* ц may take several mnules fa the wizard < о connect and verify thai the seiva exists id Hie con,ection Hnmali Рис. 12-19. Проверка подключения к зарегистрированным серверам Если мастер не может подключиться к какому-то из экземпляров, выберите этот экземпляр и измените данные, используемые при подключении (рис. 12-20).

Рис. 12-20. Ввод регистрационных реквизитов, используемых для подключения к отдельным экземплярам Если подключиться не удается, вы можете зарегистрировать экземпляр сервера без проверки информации о подключении. Это полезно, если учетная запись еще не со здана или сервер в данный момент остановлен (рис. 12-21).

ion f-3*fd tffcsase <* (he nsuwttitfi 'лki s dsrSayediwte-- DoWuatsh to л*}Bt.' Рис. 12-21. Регистрация без проверки регистрационной информации Занятие 1 Изменение параметров конфигурации Регистрация с помощью SQL Server Enterprise Manager Чтобы зарегистрировать экземпляр сервера непосредственно с помощью SQL Server Enterprise Manager, щелкните правой кнопкой группу SQL Server или зарегистриро ванный экземпляр сервера и выберите New SQL Server Registration. Если вы еще не запретили использование мастера Register SQL Server Wizard, то в окне Welcome To The Register SQL Server Wizard пометьте флажок From Now On, I Want To Perform This Task Without Using A Wizard (рис. 12-22). Щелкните Next.

welcome to the Register SQL Server Wizard Х SflettaSQLServa.

Х Select an aultienUcalion mode Х Specify a SQL Sever group Рис. 12-22. Регистрация без использования мастера Register SQL Server Wizard В окне Registered SQL Server Properties вы можете зарегистрировать экземпляр сер вера, указав все свойства, о которых уже говорилось ранее (рис. 12-23). Вы также можете изменить следующие значения по умолчанию для регистрируемой или уже зарегистрированной системы:

Х отображать состояние СУБД SQL Server (запущена или нет);

Х отображать системные БД и объекты;

Х автоматически запускать SQL Server, когда SQL Server Enterprise Manager пытает ся подключиться к ней.

Рис. 12-23. Определение свойств системы SQL Server Глава Администрирование SQL Server Совместный доступ к информации о зарегистрированных серверах По умолчанию информация о зарегистрированных серверах представляется в кон тейнере Management дерева консоли SQL Server Enterprise Manager непосредственно тому пользователю, который выполнил регистрацию. Например, если один систем ный администратор зарегистрировал 15 разных экземпляров SQL Server и к тому же компьютеру подключился другой системный администратор (с использованием учет ной записи пользователя Windows), то второй администратор не увидит 15 экземпля ров SQL Server в списке зарегистрированных серверов.

Однако администратор может разрешить совместный доступ к этой информации (на том же или на другом компьютере). Такая возможность пригодится в том случае, если несколько администраторов управляют системой с одного компьютера, а также когда необходимо консолидировать информацию обо всех зарегистрированных сер верах. Это позволяет администраторам использовать одну и туже системную конфи гурацию вне зависимости от того, на каком компьютере они работают в данный мо мент. Чтобы использовать эту возможность, администратор, запускаюший SQL Server Enterprise Manager, должен быть членом локальной группы Administrators компьюте ра, где находится централизованное хранилище информации о зареги-стрированных серверах, и локального компьютера.

Чтобы разрешить коллективный доступ к информации о зарегистрированный сер верах, в меню Tools выберите Options и в диалоговом окне SQL Server Enterprise Manager Properties снимите флажок Read/Store User Independent (рис. 12-24).

Чтобы просмотреть информацию о зарегистрированном сервере с удаленного ком пьютера (который предоставляет такую возможность, то есть где флажок Read/Store User Independent не помечен), установите переключатель Read From Remote и в поле Server Name введите имя сервера, где находится централизованное хранилище ин формации о зарегистрированных серверах.

Рис. 12-24. Настройка совместного доступа к информации о зарегистрированный серверах Изменение параметров конфигурации Занятие Резюме Программа установки SQL Server 2000 позволяет оптимизировать конфигурацию Windows под требования SQL Server 2000. Однако необходимо проверить, что диски, содержащие файлы данных и файлы журнала транзакций, не используются для под качки страниц. Служба SQL Server Ч самонастраивающаяся. В то время как ручная настройка некоторых параметров конфигурации в отдельных случаях может повы сить производительность, некорректная настройка службы SQL Server скажется на производительности отрицательно. Для выполнения некоторых специальных функ ций, следует расширить права учетных записей служб SQL Server и SQL Server Agent.

И наконец, чтобы разрешить использование специальных функций (например опре делить уровень загруженности, соответствующий простою процессора), нужно на строить специальные свойства службы SQL Server Agent.

Администрирование SQL Server Глава ггие 2. Настройка дополнительных компонентов SQL Server 2000 может получать и отправлять уведомления по элек-тронной почте, отправлять уведомления на пейджеры, подключаться к удаленным серверам для вы полнения распределенных запросов, а также предоставляет возможности интеграции с IIS для поддержки XML. Чтобы использовать эти возможности, нужно установить и настроить соответствующие компоненты. На этом занятии вы научитесь устанавли вать SQLAgentMail и SQL Mail, устанавливать связанные серверы для выполнения распределенных запросов и удаленных хранимых процедур, создавать ODBC-источ ники данных для ODBC-клиентов и настраивать IIS для доступа к SQL Server 2000 по протоколу HTTP.

Изучив материал этого занятия, вы сможете:

настроить SQLAgentMail и SQL Mail;

ХS / настроить связанные серверы;

создать ODBC-источник данных SQL Server;

s настроить виртуальный каталог IIS, чтобы разрешить s доступ к SQL Server 2000 с использованием XML.

Продолжительность занятия Ч около 45 минут Настройка SQLAgentMail и SQL Mail SQL Server 2000 может подключаться к серверам Microsoft Exchange Server, Microsoft Windows Mail, или РОРЗ (Post Office Protocol 3), чтобы получать и отправлять сооб щения, с помощью двух служб: SQLAgentMaif и SQL Mail. Для их работы необходимо клиентское приложение MAPI, например Microsoft Outlook, на локальном компью тере SQL Server 2000 и профиль почтовой службы MAPI. Профиль почтовой службы MAPI требует указания учетной записи пользователя домена. Обычно SQLAgentMail и SQL Mail используют одну учетную запись для удобства администратора.

SQL Mail SQL Mail Ч это почтовая служба, используемая службой SQL Server. Чтобы отпра вить сообщение из пакета операторов Transact-SQL, сценария, системной хранимой процедуры или триггера, служба SQL Server использует системную хранимую проце дуру xp_sendmail, которая инициализирует почтовый сеанс.

В следующем примере с помощью системной хранимой процедуры xp_sendmail пользователю Gloria отправляются электронное сообшение с данными о производи тельности. Можно запланировать периодическую отправку такого сообщения:

EXEC xp_sendmail 1 Gloria@SelfPacedSQL.(nsft T, ^subject - 'Performance Information, @query - 'SELECT * FROM master.cibo.sysperfinfo' Электронное сообщение, отправляемого пользователю, может содержать следую щие сведения:

* результат выполнения запроса;

Х строка сообщения;

Занятие 2 Настройка дополнительных компонентов Х оператор или пакет операторов Transact-SQL для выполнения;

Х страница сообщения для пейджера.

Для обработки сообщений, отправленных учетной записи пользователя домена, используемой службой SQL Server, данная служба использует системную хранимую процедуру sp_processmail или расширенные системные хранимые процедуры xpfmd nextmsg, xp_readmaii и xp_deletemail. Эти сообщения обычно содержат оператор или пакет операторов Transact-SQL, при этом отправляется ответное сообщение, где со держится результат их выполнения. Копия ответного сообщения может также отправ ляться определенному числу пользователей, имена которых указаны в списке в поле СС. К примеру, администратор может выполнить системную хранимую процедуру, которая возвращает текущее состояние сервера, и получить ответ по электронной почте.

Примечание Создавайте планируемые задания для автоматической периодической обработки электронной почты.

SQLAgentMail SQLAgentMail Ч это почтовая служба, используемая SQL Server Agent. При запуске SQL Server Agent устанавливает почтовую сессию (для этого ее необходимо предвари тельно настроить с помощью SQL Server Enterprise Manager) и рассылает электрон ные сообщения или сообщения на пейджер пользователям, которые должны полу чать оповещения об определенных системных событиях, а также о выполнении или невыполнении определенных задач. Об оповещениях о системных событиях и резуль татах выполнения задач Ч в главе 13.

Настройка профиля почтовой службы Службы SQL Mail и SQLAgentMail требуют, чтобы на локальном компьютере SQL Server 2000 был установлен клиент MAPI, например Microsoft Outlook. Затем вы дол жны создать профиль службы электронной почты (или профиль почтовой службы) для учетной записи служб SQL Mail и SQLAgentMail. Вы можете создать профиль службы электронной почты с помощью клиента MAPI или апплета Mail из Control Panel. Если каждая из служб использует различные учетные записи пользователей домена, необходимо создать профиль службы электронной почты для каждой из ис пользуемых учетных записей. Чтобы создать профиль службы электронной почты, за регистрируйтесь в Windows 2000 как пользователь домена. Если учетная запись поль зователя домена не обладает правами администратора локальной системы, может потребоваться предоставить этой учетной записи право интерактивного (локального) подключения, чтобы создать профиль службы электронной почты для данной учет ной записи. Профиль службы электронной почты содержит информацию о соедине нии, используемую клиентом MAPI для подключения к серверам Microsoft Exchange Server, Microsoft Windows Mail и/или POPS.

Примечание Чтобы проверить действие профиля службы электронной почты, зареги стрируйтесь в Windows 2000, используя учетную запись служб SQL Mail и SQLAgent Mail. Запустите MAPI и убедитесь, что он может отправлять и получать сообщении.

При создании профиля службы электронной почты с использованием клиента MAPI или апплета Mail из Control Panel по умолчанию используется имя профиля Глава Администрирование SQL Server службы электронной почты MS Exchange Settings {оно указано в поле Profile Name).

С помощью расширенной системной хранимой процедуры xp_get_mapi_default_profile вы можете изменить имя профиля почтовой службы для пользователя SQL Server 2000, которое будет использоваться по умолчанию. С помощью апплета Mail в Control Panel вы можете добавлять, просматривать, удалять или изменять параметры настройки профиля почтовой службы для пользователей домена (рис. 12-25 и 12-26).

Рис. 12-25. Почтовые профили Рис. 12-26. Изменение свойств почтового профиля Настройка SQL Mail Настроив и проверив правильность настройки профиля почтовой службы для учет ной записи пользователя домена службы SQL Server, вы можете начинать настраи вать SQL Mail. Если вы используете SQL Server Enterprise Manager, в дереве консоли раскройте Support Services, щелкните правой кнопкой SQL Mail и выберите Properties.

Откроется окно SQL Mail Configuration (рис. 12-27). Выберите имя профиля почто вой службы из списка Profile Name.

Примечание Если в SQL Server Enterprise Manager не отображается почтовый про филь, в реестре Windows проверьте, что служба SQL Server использует регистрацион ную запись пользователя домена, для которой создан профиль почтовой службы и кото рая имеет полные права доступа к разделу реестра HKEY_LOCAL_MACHINE\SOFT WARE\Clients\MaiL Занятие 2 Настройка дополнительных компонентов Рис. 12-27. Выбор почтового профиля для SQL Mail Щелкните Test, чтобы проверить, началась ли почтовая сессия (рис. 12-28).

Рис. 12-28. Проверка почтового профиля Вы также можете настроить SQL Mail с помощью системной хранимой процедуры xp_startmail.

Настройка SQLAgentMail Настроив и проверив правильность настройки профиля почтовой службы для учет ной записи пользователя домена службы SQL Server Agent, вы можете начинать на страивать SQLAgentMail. Если вы используете SQL Server Enterprise Manager, в дере ве консоли раскройте Management, щелкните правой кнопкой SQL Server Agent и выберите Properties. Откроется окно Server Agent Properties (рис. 12-29).

На вкладке General в группе элементов управления Mail Session выберите имя про филя почтовой службы из списка Mail Profile. Щелкните кнопку Test, чтобы прове рить, началась ли почтовая сессия. По умолчанию сообщения, посылаемые SQL Server Agent, не сохраняются в папке Sent Items клиента MAPI. О том, как использовать SQLAgentMail для уведомления о результатах выполнения задач и системных собы тиях, Ч в главе. 13.

Администрирование SQL Server Глава Рис. 12-29. Выбор профиля почтовой службы для SQLAgentMail Настройка связанных серверов SQL Server 2000 может подключаться к связанным серверам. Связанные серверы ис пользуются в первую очередь для распределения запросов, объединения данных из различных БД на различных серверах (таких как SQL Server 7.0/2000, Oracle и Access).

Вы можете сконфигурировать связанный сервер для любого OLE DB-источника дан ных с помощью SQL Server Enterprise Manager. Хотя в качестве OLE DB-источника обычно используется другая БД, он также может быть и текстовым файлом, элект ронной таблицей или результатом полнотекстового поиска (рис. 12-30).

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

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

Занятие 2 Настройка дополнительных компонентов Клиентское приложение SQL Server OLEDB t I OLE DB поставщик (DLLs) I I I I Рис. 12-30. Схема конфигурации связанных серверов Конфигурирование связанных серверов с использованием SQL Server Enterprise Manager Если вы используете SQL Server Enterprise Manager, в дереве консоли раскройте Security, щелкните правой кнопкой Linked Servers и выберите New Linked Server. От кроется окно Linked Server Properties Ч New Linked Server (рис. 12-31).

oft OLE OB Provider loi Microic*! Se oil OLE OB Provider Ь ODBC Olivers Miciosolt OLE OB Prouder lop OLAP Service!

Micrasolt OLE DB Provider fa dlap Services в О :oft OLE DB Provider for Grade oll OLE DB Provider for SQL Save MictotoltOLE DB_5ir Рис. 12-31. Указание имени поставщика при создании связанного сервера На вкладке Security свяжите локальные учетные записи с удаленными учетными записями (рис. 12.32) Глава Администрирование SQL Server На вкладке General введите имя связанного сервера в поле Linked Server. Если в группе Server Type вы установите переключатель SQL Server, то указываемое имя дол жно быть сетевым и системным именем SQL Server. Вы можете выбрать имя OLE DB-поставщика из списка Provider Name. Поставщик управляет доступом к связан ному серверу. Обратите внимание, что в списке есть OLE DB-поставщикдля Microsoft Directory Services для выполнения запросов к Active Directory. Если вы хотите опреде лить источник данных, который не принадлежит экземпляру SQL Server, установите переключатель Other Data Source н группе Server Type и введите необходимые данные об источнике (название продукта, источник данных, строка поставщика).

В этом диалоговом окне укажите, как пользователи будут подключаться к удален ному хранилищу данных. Для этого выберите учетные записи и определите их способ подключения, выбрав соответствующие параметры в списке Local Server Login To Remote Server Login Mappings. Вы можете сконфигурировать систему так, чтобы служ ба SQL Server заимствовала реквизиты зарегистрированного пользователя, или свя зать локальную учетную запись с учетной записью SQL Server удаленного сервера.

Для удаленной учетной записи необходимо ввести пароль.

Рис. 12-32. Сопоставление локальных учетных записей с удаленными учетными записями для связанных серверов Примечание Чтобы служба SQL Server могла заимствовать реквизиты пользователя Windows, нужно разрешить делегирование учетной записи пользователя (см. главу 10).

Затем определите, как служба SQL Server должна обрабатывать подключения пользователей, для которых не определены специальные учетные записи на связан ном сервере. Она может отказывать в таком соединении, выполнять подключение вне контекста защиты учетной записи (при помощи средств защиты службы SQL Server), используя текущие права учетной записи или указанную учетную запись пользовате ля SQL Server, используемую по умолчанию.

И наконец, на вкладке Server Options вы можете выбрать значения специальных параметров соединения, например команды обработки строк или максимального вре мени ожидания выполнения запроса (рис. 12-33).

Занятие 2 Настройка дополнительных компонентов Рис. 12-33. Настройка специальных параметров соединения для связанного сервера Конфигурирование связанных серверов с использованием Transact-SQL Чтобы сконфигурировать связанный сервер, вы можете использовать системную хра нимую процедуру sp_addlinkedserver.

В следующем примере создается связь между текущим экземпляром сервера и эк земпляром MyNamedlnstance на SelfPacedCPU. Учетные записи пользователей не свя зываются. По умолчанию данная конфигурация определяет, что все подключения осуществляются с использованием имени и пароля подключившегося к SQL Server пользователя:

sp_addlinkedserver 'SelfPacedCPU\MyNamedInstance' Примечание В SQL Server 2000 Books Online приводятся примеры использования сис темной хранимой процедуры sp_addlinkedserver для подключения к источникам дан ных, которыми не являются серверы SQL Server.

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

В следующем примере учетная запись пользователя Windows Bill в домене Sdf PacedSQL связывается с учетной записью sa связанного сервера.

sp_addlinkedsrvlogin 'SelfPacedCPU\MyNamedInstance', 'FALSE', 'SelfPacedSQL\Bill', ' s a ', 'sa_password' С помошью системной хранимой процедуры sp_linkedservers вы можете получить список связанных серверов для данной системы.

Администрирование SQL Server Глава Упражнение 1. Конфигурирование связанного сервера и проверка его работы В этом упражнении вы с помощью SQL Server Enterprise Manager сконфигу рируете связанный сервер.

*Х Чтобы сконфигурировать связанный сервер и проверить его работу 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.

2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Manager.

3. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers, Microsoft SQL Group, экземпляра SQL Server по умолчанию и Security.

4. Щелкните правой кнопкой Linked Servers и выберите New Linked Server.

Откроется окно Linked Server Properties Ч New Linked Server.

5. На вкладке General в поле Linked Server введите SelfPacedCPU\MyNamedInstance.

6. Ниже надписи Server Type установите переключатель SQL Server и перейдите на вкладку Security.

7. В группе элементов For A Login Not Defined In The List Above, Connections Will установите переключатель Be Made Using The Login's Current Security Context и щелкните ОК.

8. В меню Tools выберите SQL Query Analyzer.

Откроется SQL Query Analyzer.

9. В панели запросов введите SELECT * FROM [SelfPacedCPU\MyNamedInstan ce].Northwind.dbo.Customers и в панели инструментов щелкните кнопку Execute Query.

Обратите внимание, что в области результатов запроса показана таблица Customer.

10. В меню File выберите Connect.

11. Откроется окно Connect To SQL Server.

12. Щелкните SQL Server Authentication.

13. В поле Login name введите Joe.

14. В поле Password введите password и шелкните ОК.

Откроется окно SQL Query Analyzer.

15. В панели запросов введите SELECT * FROM [SelfPacedCPU\MyNamedInstan ce].Northwind.dbo.Customers и в панели инструментов щелкните кнопку Execute Query.

Обратите внимание, что в области результатов запроса не показана таблица Custo mer. Тому есть ряд причин: во-первых, MyNamedlnstance не разрешает использо вание учетных записей SQL Server, во-вторых, у пользователя Joe нет учетной за писи пользователя SQL Server в MyNamedlnstance.

16. Разверните окно SQL Server Enterprise Manager.

17. В дереве консоли щелкните правой кнопкой SelfPacedCPU\MyNamedInstance и выберите Properties.

Откроется окно SQL Server Properties (Configure) Ч SelfPacedCPU\MyNamed Instance.

18. На вкладке Security установите переключатель SQL Server And Windows и нажми те ОК.

19. Щелкните кнопку Yes, чтобы перезапустить службу SQL Server.

20. Разверните окно SQL Query Analyzer.

Занятие 2 Настройка дополнительных компонентов 21. В панели инструментов щелкните кнопку Execute Query, чтобы заново выполнить запрос пользователя Joe.

22. Заметьте: в области результатов запроса отображается другое сообщение об ошиб ке. Теперь пользователь Joe не может выполнить распределенный запрос, так как его локальная учетная запись связана с еще не созданной в экземпляре MyNamod Instance учетной записью Joe.

23. Разверните окно SQL Server Enterprise Manager.

24. В дереве консоли раскройте SelfPacedCPU\MyNamedlnstance, а затем Ч Security.

25. Щелкните правой кнопкой Logins и выберите New Login.

Откроется окно SQL Server Login Properties Ч New Login.

26. В поле Name введите Joe.

27. Установите переключатель SQL Server Authentication.

28. В поле Password введите password и щелкните ОК.

Откроется окно Confirm Password.

29. В поле Confirm New Password введите password и щелкните ОК.

30. Разверните окно SQL Query Analyzer.

31. В панели инструментов щелкните кнопку Execute Query, чтобы заново выполнить запрос пользователя Joe.

Обратите внимание, что таблица Customer теперь отображается в области резуль татов запроса. Пользователь Joe может выполнять запросы к БД Northwind, так как для Northwind создана учетная запись пользователя guest, обладающая прана ми выполнения оператора SELECT в таблице Customer.

32. Разверните окно SQL Server Enterprise Manager.

33. В дереве консоли раскройте SelfPacedCPU, затем Ч Security и щелкните Linked Servers.

34. В области, где отображаются объекты, их состав и свойства, дважды щелкните SelfPacedCPU\MyNamedInstance.

Откроется окно Linked Server Properties Ч SelfPacedCPU\MyNamedInstance.

35. Перейдите на вкладку Security.

36. В первой строке столбца Local Login щелкните стрелку раскрывающегося списка и выберите имя пользователя Ana.

37. В поле Remote User введите Joe.

38. В поле Remote Password введите password.

39. Во второй строке введите Joe и пометьте флажок Impersonate.

40. Ниже надписи For A Login Not Defined Tn The List Above, Connections Will устано вите переключатель Not Be Made и щелкните ОК.

Только Joe и Ana могут использовать данную конфигурацию удаленного сервера.

41. Разверните окно SQL Query Analyzer.

42. В панели инструментов щелкните кнопку Execute Query, чтобы заново выполнять запрос пользователя Joe.

Обратите внимание, что таблица Customer отображается в области результатов зап роса.

43. Переключитесь на свое соединение в качестве администратора в SQL Query Analyzer.

44. В панели инструментов щелкните кнопку Execute Query, чтобы заново выполнить запрос.

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

Глава Администрирование SQL Server 45. В меню File выберите Connect.

46. Откроется окно Connect To SQL Server.

47. Щелкните SQL Server Authentication.

48. В поле Login name введите Ana.

49. В поле Password введите password и щелкните ОК.

Откроется окно SQL Query Analyzer.

50. В панели запросов введите SELECT * FROM [SelfPacedCPU\MyNamedInstan ce].Northwind.dbo.Customers и в панели инструментов щелкните кнопку Execute Query.

Обратите внимание, что в области результатов запроса отображается таблица Customer. Пользователь Ana использует конфигурацию связанного сервера и име ет доступ к данным в MyNamedlnstance, используя права учетной записи Joe.

51. Закройте SQL Server Enterprise Manager и SQL Query Analyzer, не сохраняя выпол ненных изменений.

Создание ODBC-источников данных SQL Server Обычно клиенты подключаются к SQL Server 2000 с помощью OLE DB или ODBC.

OLE DB-клиенты получают необходимую информацию о соединении от поставщика Microsoft OLE DB Provider for SQL Server. ODBC-клиенты получают необходимую информацию о соединении от поставщика Microsoft OLE DB for ODBC, также они могут установить соединение, используя имя источника данных (data source name, DSN) ODBC SQL Server.

DSN Ч это специальная запись, где хранится информация об используемом ODBC-драйвере, о соединении и некоторые специальные данные, необходимые для драйвера. Для создания DSN используется утилита ODBC Data Source Administrator.

Чтобы создать DSN в Windows 2000, из группы Administrative Tools из Control Panel запустите утилиту Data Sources (ODBC), как показано на рис. 12-34.

Рис. 12-34, Создание DSN Вы можете создать пользовательское, системное и файловое имя DSN. Пользова тельское имя DSN принадлежит пользователю, который его создал и находится толь ко на компьютере, где оно было создано, Системное имя DSN доступно всем под ключенным пользователем и находится на компьютере, где оно было создано. Фай ловое имя DSN хранится в файле, оно может быть доступно нескольким пользовате Занятие 2 Настройка дополнительных компонентов лем сети и не обязательно должно быть локальным файлом на клиентском компью тере. После того, как вы выбрали тип DSN (на соответствующей вкладке) и драйвер для нового DSN (щелкнув кнопку Add), откроется окно мастера Data Source Wizard.

На рис. 12-35 показано создание нового ODBC-источника данных для SQL Server.

В первом окне мастера введите имя DSN в поле Name, краткое описание Ч в поле Description и выберите в списке Server имя экземпляра SQL Server, для которого DSN будет хранить информацию о соединении. Во втором окне мастера введите информа цию о соединении (рис. 12-36).

Рис. 12-35. Создание ODBC-источника данных для DSN Рис. 12-36. Ввод информации о соединении для DSN Вы можете указать, чтобы драйвер SQL Server ODBC использовал доверенное соединение или учетную запись и пароль SQL Server, введенные пользователем. Вы также можете задать параметры клиентских сетевых библиотек, шелкнув кнопку Client Configuration, Кроме того, вы можете подключиться к SQL Server, чтобы ввести начальные параметры, используемые в следующих окнах мастера, установив Connect То SQL Server To Obtain Default Settings For The Additional Configuration Options. Если вы не подключитесь к SQL Server в процессе создания источника данных, будут ис пользованы значения по умолчанию.

В третьем окне мастера вы можете выбрать БД по умолчанию, пометив флажок Change The Default Database To или присоединив БД для этого DSN, пометив флажок Attach Database Filename. Вы также можете определить параметры ANSI, используе Глава Администрирование SQL Server мые данным DSN, установив соответствующий флажок. И наконец, вы можете ис пользовать кластеризацию с резервированием узлов, когда при выходе из строя одно го экземпляра сервера его функции будет выполнять резервный экземпляр. Для этого пометьте флажок Use The Failover SQL Server If The Primary SQL Server Is Not Available (рис. 12-37).

Рис. 12-37. Определение параметров БД для DSN В четвертом окне мастера вы можете изменить язык системных сообщений SQL Server (выбрав его в соответствующем списке), разрешить шифрование, определить соответствие наборов символов при использовании разных языков, и задать локаль ные параметры настройки, установив соответствующие флажки. Вы также можете разрешить записывать в журнал информацию о долго обрабатываемых запросах (вре мя обработки по умолчанию указано в миллисекундах), пометив флажок Save Long Running Queries To The Log File, а также статистических данных о драйвере ODBC, пометив флажок Log ODBC Driver Statistics To The Log File (рис. 12-38).

:...].Х.. I ! 'Х-- г |j Рис. 12-38. Настройка языковых и региональных параметров, а также параметров ведения журнала для DSN После того как вы введете всю необходимую информацию, откроется окно ODBC Microsoft SQL Server Setup. До создания DSN вы можете просмотреть определенные параметры конфигурации и проверить источники данных, щелкнув кнопку Test Data Source. На рис. 12-39 показан удачный результат проверки ODBC-источников данных.

Занятие 2 Настройка дополнительных компонентов Рис. 12-39. Просмотр параметров и тестирование DSN Настройка поддержки XML-функциональности SQL Server в IIS Одно из наиболее впечатляющих нововведений в SQL Server Ч поддержка XML. Вы можете сделать так, чтобы ваша система SQL Server хранила БД в виде XML. Для это го нужно сконфигурировать виртуальный каталог IIS. Это позволит вашей системе SQL Server 2000:

Х предоставлять доступ по протоколу HTTP;

Х создавать и обрабатывать схемы XML-Data и запросы XPath;

Х получать и записывать XML-данные;

Х использовать XML-документы как набор команд и получать наборы результатов в виде потока.

Подробное изложение XML с программной точки зрения выходит за рамки этой книги. Однако с помощью утилиты IIS Virtual Directory Management For SQL Server администраторы БД смогут легко создавать виртуальные каталоги в IIS. Чтобы выз вать эту утилиту, раскройте меню Start\Programs\Microsoft SQL Server и выберите Configure SQL XML Support In IIS. На рисунке 12-40 показано окно IIS Virtual Directory Management For SQL Server.

Рис. 12-40. Окно IIS Virtual Directory Management For SQL Server Администрирование SQL Server Глава В дереве консоли раскройте свой экземпляр сервера, щелкните правой кнопкой Default Web Site, выберите New и щелкните Virtual Directory. Откроется окно New Virtual Directory Properties. На вкладке General введите понятное пользователю имя виртуального каталога в поле Virtual Directory Name. В поле Local Path укажите физи ческий путь к файлам на локальном компьютере, которые будут доступны через этот виртуальный каталог. Обычно это папка в каталоге C:\Inetpub, которая будет содер жать XML-запросы, шаблоны и таблиц стилей (рис. 12-41).

НИШ Рис. 12-41. Указание имени и пути к виртуальному каталогу На вкладке Security определите тип проверки подлинности для доступа к SQL Server 2000. При проверке подлинности могут использоваться учетные записи SQL Server 2000 или локальные учетные записи IIS (права которых вы можете определить).

Обычно этот метод используется для предоставления доступа пользователю guest с ограниченными правами. Вы также можете указать, чтобы каждый пользователь про ходил индивидуальную проверку подлинности средствами Windows или SQL Server (рис. 12-42).

Затем на вкладке Data Source в группе SQL Server определите экземпляр SQL Server 2000, данные которого будут доступны через виртуальный каталог, Кроме того, опре делите БД по умолчанию, просмотрев в окне Database список БД своей системы и введя имя и пароль, указанные в предыдущем окне (рис. 12-43).

На вкладке Settings определите тип доступа к системе SQL Server 2000, пометив нужные флажки. URL-запросы позволяют пользователю передавать любой запрос, тогда как запросы шаблонов накладывают определенные ограничения на запросы, которые могут быть созданы с помощью виртуального каталога. Запросы XPath к представлениям SQL позволяют определять вид и структуру возвращаемого докумен та. Они могут быть инкапсулированы в запросах URL или шаблонах. Вы можете раз решить пользователям вводить значения параметров, передаваемых в запросы POST, Замятие 2 Настройка дополнительных компонентов а также можете ограничить объем данных, вводимых пользователем (объем указыва ется в Кб), как показано на рис. 12-44.

I I....: f i -.

.i Рис. 12-42. Выбор типа проверки подлинности для подключения к виртуальному каталогу г,.....-,.,- i >,,,.., л...,,,,.,.Д ШМ ш иШШш^ЩШШ * Tllri л J *1Я !Х ' I У (i !. ' Рис. 12-43. Выбор сервера и БД для публикации с помощью виртуального каталога Глава Администрирование SQL Server i- -i м i,---Х =.'.'.я". * ' - Х-. ' ',:!Х- J >i'l Рис. 12-44. Определение параметров доступа к БД SQL Server На вкладке Virtual Names введите имена новых виртуальных каталогов, щелкнув кнопку New. Например, вы можете создать виртуальное имя, связанное с физичес ким путем к папке, содержащей XML-шаблоны и представления (рис. 12-45).

..... !-.. Х..,- '., !. Х -, -..,.,,".! '. -Ш..... Ml. -Х. tfj ф! :: 'i :.. ' Рас. 12-45. Создание виртуального имени для публикуемых данных На вкладке Advanced вы можете указать размещение файла Sqlisapi.dll в группе ISAPI Location, определить дополнительные пользовательские параметры в группе Additional User Settings или отключить кэширование в группе Caching Options. Обыч но значения по умолчанию не изменяют (рис. 12-46).

Занятие 2 дополнительных компонентов Шв,,. ш ШяИят Х."-Х..лV..--.

. - -.

Рис. 12-46. Изменение дополнительных параметров виртуального каталога, заданных по умолчанию Упражнение 2. Создание виртуального каталога IIS А В этом упражнении вы с помощью оснастки IIS Virtual Directory Management щ*< For SQL Server создадите виртуальный каталог IIS.

> Чтобы создать виртуальный каталог IIS 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.

2. В Windows Explorer создайте новую папку с именем Northwind в C:\Inetpub.

3. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Configure SQL XML Support In IIS.

В консоли IIS Virtual Directory Management For SQL Server будет показана ваша пользовательская сессия.

4. В дереве консоли раскройте свой экземпляр сервера, щелкните правой кнопкой Default Web Site, выберите New, а затем Ч Virtual Directory.

Откроется окно New Virtual Directory Properties.

5. На вкладке General в поле Virtual Directory Name введите Northwind.

6. В поле Local Path введите C:\InetPub\Northwind.

7. Перейдите на вкладку Security.

8. В поле User Name введите sa.

9. Перейдите на вкладку Data Source.

Откроется окно Confirm Password.

10. Щелкните OK, чтобы подтвердить, что учетная запись sa не имеет пароля.

11. Щелкнув кнопку рядом с полем SQL Server, выберите в списке значение SelfPaced CPU.

12. Выберите БД Northwind в списке Database.

384 Администрирование SQL Server Глава 13. Перейдите на вкладку Settings.

14. Пометьте флажок Allow URL Queries и подтвердите, что вы установили флажок Allow Template Queries.

15. Перейдите на вкладку Virtual Names.

16. Щелкните кнопку New.

Откроется окно Virtual Name Configuration.

17. В поле Virtual Name введите Queries.

18. В списке Туре выберите Template.

19. В поле Path введите C:\Inetpub\Northwind и щелкните кнопку Save.

20. Щелкните ОК, чтобы создать новый виртуальный каталог.

21. В Notepad откройте файл XML Query.txt из папки C:\SelfPacedSQL\CH_12.

22. Скопируйте запрос HTTP.

23. Откройте Internet Explorer.

24. Вставьте запрос в поле Address и щелкните кнопку Go.

При этом на экране отобразятся контактные имена и телефоны из таблицы Custo mers БД Northwind.

25. Закройте Windows Explorer, Notepad, Internet Explorer и окно IIS Virtual Directory Management For SQL Server.

Примечание На прилагаемом к книге компакт-диске SQL Server 2000 содержатся не которые запросы и упражнения по XML. Они находятся в папке DevTools\Samples\Xml в самораспаковывающемся ZIP-архиве.

Резюме Установка SQL Mail позволяет службе SQL Server 2000 отвечать на запросы пользова телей и отправлять им результаты выполнения сценариев Transact-SQL в виде сооб щений электронной почты. SQLAgentMail позволяет службе SQL Server Agent отправ лять оповещения, а также информацию о выполнении и невыполнении заданий. Ус тановка связанных серверов позволяет пользователям подключаться к удаленным БД, не вводя каждый раз информацию, необходимую для подключения к этому серверу.

Для приложений, использующих ODBC, могут потребоваться имена DSN, которые должен создать администратор БД. Наконец, чтобы создать сервер с БД в формате XML, необходимо настроить IIS, создав виртуальный каталог, связанный с БД SQL Server 2000, ввести информацию о соединении и разрешить некоторые типы доступа XML.

Занятие 3 Обслуживание SDL Server 2000 Занятие 3. Обслуживание SQL Server Кроме установки и конфигурирования, администратор БД должен обслуживать сис тему. На этом занятии вы научитесь обновлять статистику распределения, перестраи вать индексы и управлять полнотекстовыми индексами. Эти действия, а также пе риодическое резервное копирование и проверка согласованности БД, являются са мыми основными для сопровождения БД. О резервном копировании Ч в главе 9, а о проверке внутренней согласованности Ч в главе 14.

Изучив материал этого занятия, вы сможете:

V перестраивать индексы;

s обслуживать полнотекстовые индексы.

Продолжительность занятия Ч около 15 минут Обновление статистики распределения SQL Server 2000 автоматически создает и поддерживает статистику распределения для каждого индекса. Эти данные описывают избирательность и распределение значений ключа для каждого индекса. Оптимизатор запросов SQL Server 2000 использует ста тистические данные для повышения эффективности поиска данных при выполнении запроса. Оптимизатор запросов Ч это компонент SQL Server 2000, определяющий наиболее эффективный способ поиска данных (он определяет, использовать ли ин декс при поиске, и какой именно). Статистику распределения для неиндексирова]i ных столбцов можно созданы вручную с помощью оператора CREATE STATISTICS или автоматически с помощью оптимизатора запросов.

Хотя служба SQL Server регулярно обновляет статистику распределения, при из менении нескольких значений ключа или при добавлении большого количества но вых данных в таблицу вам потребуется сделать это вручную. Вы можете воспользо ваться оператором UPDATE STATISTICS или просмотреть план выполнения запро са с помощью SQL Query Analyzer (для этого в меню Query выберите Show Execution Plan). На вкладке Execution Plan устаревшие и исчезнувшие статистические данные будут показаны с соответствующими пометками, вы можете обновить их или создать новые статистику распределения. Вы также можете запланировать периодическое об новление статистики распределения с помощью мастера Database Maintenance Plan Wizard (см. главу 13).

Чтобы проверить, что для БД установлено автоматическое создание и автомати ческое обновление статистических данных, щелкните правой кнопкой имя БД в SQL Server Enterprise Manager и выберите Properties. Проверьте, что на вкладке Options установлены оба флажка (autocreate и autoupdate).

Поддержка индексов Кластерные индексы определяют порядок и физическое размещение данных, содер жащихся на страницах данных таблиц. В кластерном индексе физический порядок столбцов в таблице совпадает с порядком значений ключа индекса. При вводе новых данных SQL Server 2000 может реорганизовать существующие данные, чтобы освобо дить пространство и сохранить существующий порядок. Некластерные индексы так Администрирование SQL Server Глава же необходимо перестроить, если при вводе новых данных требуется расщеплять стра ницы. Если SQL Server 2000 должен поместить данные на заполненную страницу, он выделяет новую страницу и распределяет данные между ними. Расшепление страни цы может снизить производительность, а также вызвать фрагментацию данных, ко торая может отрицательно сказаться на производительности в будущем.

Чтобы минимизировать необходимость расщепления страниц, для индекса часто определяется коэффициент заполнения (fill factor). Он может быть создан на основе значения, определенного на уровне всего сервера или установленного только для индекса. При создании индексов, использующих коэффициент заполнения, ко вре мени создания индекса страницы остаются частично заполненными. Однако при за несении новых данных в таблицу величина коэффициента не важна, так как частич но пустые страницы заполняются и происходит расщепление страниц.

Как администратору БД, при расщеплении страницы вам может понадобиться за ново создать индексы, изменить порядок хранения данных и перестроить частично заполненные страницы, переопределив коэффициент заполнения. Это можно делать, когда пользователи не работают активно с БД. Создание или изменение кластерного индекса отнимает много времени, поскольку при этом происходит переорганизация столбцов таблиц на диске. Вы можете перестраивать индексы с помощью оператора Transact-SQL DROP_EXISTING, используемого совместно с CREATE INDEX, или оператора DBCC DBREINDEX. Средствами мастера Database Maintenance Plan Wizard в SQL Server Enterprise Manager вы можете запланировать автоматическое обновле ние индексов.

Поддержка полнотекстовых индексов Полнотекстовые индексы Ч это индексы всех текстовых данных одной или несколь ких таблиц БД. Индексы хранятся в файловой системе, но управление осуществляет ся через БД. Полнотекстовый поиск осуществляется службой Microsoft Search. На уровне сервера вы можете определить системные ресурсы, которые будет использо вать Microsoft Search для поддержки текущих индексов. На уровне БД вы можете раз решить одной или нескольким таблицам использование службы Microsoft Search.

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

С помощью мастера Full-Text Indexing Wizard в SQL Server Enterprise Manager вы можете разрешить полнотекстовую индексацию одной или нескольких таблиц БД, оп ределить столбцы в таблицах и задать план заполнения индексов. Для начального за полнения полнотекстового индекса в дереве консоли раскройте БД, содержащую полнотекстовый каталог, а затем Ч Full-Text Catalogs. Щелкните правой кнопкой Full Text Catalogs, чтобы заполнить все каталоги, или имя отдельного каталога, чтобы за полнить только выбранный каталог.

Примечание Разработка и создание полнотекстовых индексов не входят в обязанно сти администратора БД, однако вы можете перестраивать индексы и проверять распре деление системных ресурсов, используемых для поддержки индексов службой Micro soft Search.

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

12-7 перечислены три метода обновления полнотекстовых индексов.

Табл. 12-7. Типы обновления полнотекстовых индексов Тип обновления Описание Использование Full Rebuild Заново выполняется последовательный При изменении больших просмотр всех столбцов, полнотексто- объемов данных вый индекс строится заново, Должно выполняться вручную или по распи санию Timestamp-based Заново проверяет столбцы, измененные Используется при изме incremental Rebuild со времени последнего полного обнов- нении большого коли ления или обновления в указанное время. чества данных, которое В индексированной таблице должен быть невелико в процентном столбец timestamp;

обновляются только отношении от общего те записи, для которых изменилось числа записей значение в этой колонке. Должно выполняться вручную или по расписа нию вручную или планируется При запланированном Change Tracking Поддерживается список всех изменен ных данных. Обычно выполняется как обновлении или фоновом запланированный или фоновый процесс, процессе когда доступны память и процессор Чтобы вручную обновить полнотекстовый индекс, щелкните правой кнопкой нуж ное имя полнотекстового каталога в списке Full-Text Catalogs и выберите Rebuild Catalog или Start Incremental Population. Чтобы проследить за изменениями, исполь зуйте системную хранимую процедуру sp_fulltext_table. Если вы хотите посмотреть, сколько ресурсов может использовать служба Microsoft Search, используйте систем ную хранимую процедуру sp_fulltext_service.

Резюме Для поддержки БД администратору необходимо обновлять статистику распределения, перестраивать индексы и обновлять полнотекстовые индексы. Обновлять статистику и перестраивать индексы можно вручную или по расписанию. Обновление полнотек стовых индексов тоже может выполняться вручную или по расписанию, а также запу скаться как фоновый процесс с низким приоритетом.

14- Администрирование SQL Server Глава Закрепление материала 7J Приведенные ниже вопросы помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот ветствующего занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги, 1. Вы работаете с несколькими серверными приложениями на одном компьютере и заметили, что после периода низкой активности производительность SQL Server 2000 мала. Как вы можете повысить производительность?

2. Вы хотите настроить службу SQL Server Agent, чтобы отправлять администраторам почту в ответ на оповещения. Что вы должны сделать в первую очередь?

3. Вы хотите разрешить XML-запросы к одной из ваших БД. Что для этого нужно сделать?

ГЛАВА Автоматизация административных задач Занятие 1, Создание операторов Занятие 2. Создание заданий Занятие 3. Настройка оповещений Занятие 4, Создание плана обслуживания БД Занятие 5, Создание мультисерверных заданий В этой главе Здесь рассказывается об автоматизации различных задач администрирования, вклю чая создание операторов, заданий и оповещений, упрощающих выполнение рутин ных задач и позволяющих запрограммировать реакцию системы на ожидаемые собы тия и условия производительности, Вы также научитесь создавать план обслужива ния БД и мультисерверные задания.

Прежде всего Для изучения материалов этой главы вам потребуются:

Х компьютер, соответствующий минимальным аппаратным требованиям, перечис ленным в главе 2;

Х ОС Microsoft Windows 2000 Server, установленная на разделе диска с файловой системой NTFS;

Х компьютер с сетевым именем SelfPacedCPU, сконфигурированный как контрол лер домена SelfPacedSQL.MSFT;

Х один установленный по умолчанию и по крайней мере один именованный экзем.пляр SQL Server 2000;

Х БД SSEMDB, созданная при помощи сценария CreateDB.sql;

Х таблица Customer БД SSEMDB, созданная при помощи сценария SSEMDB_FuIl.sql.

Автоматизация административных задач Глава Занятие 1. Создание операторов Первый этап автоматизации административных задач Ч назначение операторов, уве домляемых об успехе, ошибке или завершении выполнения автоматизированной за дачи, а также о наступлении определенного события или условия. Здесь рассказыва ется о создании операторов, уведомляемых по электронной почте, посредством пей джера или с помощью сообщений NET SEND. Вы научитесь назначать надежного оператора (fail-safe operator), извещаемого в случаях, когда передать сообщение со зданному для конкретной ситуации оператору невозможно.

Изучив материал этого занятия, вы сможете:

s назначить операторов;

^ определить надежного оператора;

s устранить проблемы с оповещением операторов.

Продолжительность занятия Ч около 30 минут Способы уведомления операторов Служба SQL Server Agent может уведомлять операторов о выполнении различных за дач, а также о наступлении определенных событий или условий производительности.

Оператор Ч это пользователь или почтовая группа, сконфигурированная для приема сообщений от агента SQL Server Agent по электронной почте, на пейджер или по средством команд NET SEND.

Электронная почта Если настроена служба SQLAgentMail, SQL Server Agent может уведомлять операто ров по электронной почте. Как вы помните, SQLAgentMail требует, чтобы SQL Server Agent выполнялась в контексте учетной записи пользователя домена. На компьюте ре, где выполняется эта служба, для данной учетной записи должен быть определен почтовый профиль MAPI.

Пейджер SQL Server Agent также может уведомлять операторов, отправляя сообщения на пей джер с помощью электронной почты и пейджингового ПО сторонних производите лей, то есть сначала потребуется настроить службу SQLAgentMail.

Примечание В SQL Server 2000 нет пейджингового ПО, и выбор стороннего пейд жингового решения целиком зависит от вас. Если для всех операторов используется одно решение, можно реализовать, стандартное форматирование сообщений электрон ной почты, например ограничить размер сообщения (это необходимо для некоторых пейджеров), исключив из него описание ошибки. Для этого в SQL Server Enterprise Manager раскройте контейнер Management нужного экземпляра SQL Server, щелкните значок SQL Server Agent правой кнопкой, выберите Properties, и на вкладке Alert System диалогового окна SQL Server Agent Properties установите необходимые параметры.

Создание операторов gg^j Занятие Команда NET SEND Кроме того, SQL Server может уведомлять операторов с помощью команды NET SEND, применяемой для передачи сообщений по сети. Эта команда поддерживается только на компьютерах с Windows NT 4.0/2000 и использует службу Windows Messen ger, которая должна быть запущена на исходной и конечной системах. Сообщения можно передавать пользователям, компьютерам или почтовым именам. Почтовое имя Ч это псевдоним, для которого компьютер принимает сообщения, создать его можно с помощью утилиты командной строки NET NAME.

Надежные операторы В случаях, когда невозможно отправить созданному для конкретной ситуации опера тору сообщение на пейджер или обратиться к системным таблицам БД msdb, служба SQL Server Agent может оповещать надежного оператора. Отправить сообщение на пейджер бывает невозможно потому, что указан неправильный адрес, или потому, что в соответствии с графиков дежурств, определенным при создании нового надеж ного оператора, обычный оператор, которому предназначено сообщение, отдыхает, Невозможность доступа к системным таблицам часто связана с отказом диска.

Создание операторов Оператор Ч это пользователь, почтовая группа или компьютер, которых можно уве домить посредством одного из вышеперечисленных способов. Создайте план опове щения всех операторов, включая графики дежурств и адреса пейджеров. Операторов можно назначить средствами SQL Server Enterprise Manager или системных хранимых процедур Transact-SQL.

Примечание Надежность уведомления по электронной почте и через пейджер зави сит от инфрастуктуры обмена сообщениями.

Использование SQL Server Enterprise Manager Раскройте контейнер Management нужного экземпляра SQL Server, и затем Ч кон тейнер SQL Server Agent. Щелкните контейнер Operators правой кнопкой и выберите New Operator. Откроется окно New Operator Properties (рис. 13-1).

Каждому оператору следует назначить уникальное имя. На вкладке General мож но указать адреса для уведомления всеми тремя способами. Чтобы проверить указан ный адрес (и базовую инфрастуктуру), отправьте тестовое сообщение. Если оператор будет уведомлен выбранным вами способом, адрес правилен и инфрастуктура нор мально функционирует. При оповещении через пейджер можно также определить график дежурств, включая длительность рабочего дня в часах.

Примечание Во избежание проблем с преобразованием псевдонимов всегда указы вайте только полные адреса электронной почты. Например, если в адресной книге опре делены псевдонимы JohnD и JohnDoe, отправить уведомление для псевдонима JonliD будет невозможно.

Задать уведомления, отправляемые новому оператору, можно на вкладке Notifica tions (рис. 13-2).

Глава Автоматизация административных задач Рис. 13-1. Вкладка General диалогового окна New Operator Properties и..и,г 1 1 1 1.,. :. - i,-j Derno Ful Drmo Se DemrvSev 20Eirors Demo Sev. 21 Enois Dem1 Sev 22Eno Рис. 13-2. Вкладка Notifications диалогового окна New Operator Properties Выберите одно или несколько оповещений (alerts), о срабатывании которых необ ходимо уведомлять оператора. Можно также немедленно отправить оператору, реа гирующему на выбранное оповещение, сообщение электронной почты и просмотреть статистику уведомлений данного оператора.

Примечание Чтобы просмотреть оповещения и задания, уведомления о которых по лучает оператор, воспользуйтесь вкладкой Notification.

Использование Transact-SQL Создавать и обновлять настройки операторов можно при помощи системных храни мых процедур sp add^operator и sp_update_operator. Процедура sp_help_operator вы водит информацию о существующих операторах.

Занятие 1 Создание операторов Примечание Рекомендуется использовать не системные хранимые процедуры Тгап sact-SQL, а графический интерфейс SQL Server Enterprise Manager. Заархивировать объекты SQL Server, созданные SQL Server Enterprise Manager, можно с помощью ко манды Generate Script.

Создание надежного оператора В SQL Server Enterprise Manager раскройте контейнер Management нужного экземп ляра SQL Server, щелкните контейнер SQL Server Agent правой кнопкой и выберите Properties. Затем в диалоговом окне SQL Server Agent Properties перейдите на вкладку Alert System (рис. 13-1).

Чтобы назначить надежного оператора из числа имеющихся, воспользуйтесь рас крывающимся списком Operator;

можно также создать надежного оператора на лету, выбрав в раскрывающемся списке пункт New Fail-Safe Operator. Надежного операто ра нельзя удалить, пока не будет выбран другой надежный оператор или не будет ука зано, что надежные операторы отсутствуют.

Рис. 13-3. Создание надежного оператора Упражнение 1. Создание операторов и назначение надежного оператора В этом упражнении вы с помощью SQL Server Enterprise Manager создадите операторов и назначите отказоустойчивого оператора (поскольку не у всех читателей установлен MAPI-клиент, здесь используются команды NET SEND.

Тем не менее при наличии такого клиента вы, возможно, захотите сконфигу рировать службу SQLAgentMail в соответствии с инструкциями главы 12 и создать для дальнейших упражнений операторов, оповещаемых по электрон ной почте).

*- Чтобы создать операторов и назначить надежного оператора 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MS FT под учетной записью Administrator.

Автоматизация административных задач Глава 2. Раскройте меню Start\Programs\Accessories и выберите Command Prompt.

Откроется окно сеанса MS-DOS.

3. В командной строке введите net name failsafe /add и нажмите Enter.

ОС известит вас об успешном добавлении почтового имени FailSafe.

4. Закройте окно сеанса MS-DOS.

5. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Manager.

6. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers, SQL Server Group, экземпляра по умолчанию, Management и SQL Server Agent.

7. Щелкните контейнер Operators правой кнопкой и выберите New Operator.

Откроется окно New Operator Properties Ч SelfPacedCPU.

8. В поле Name введите Operator.

9. В поле E-Mail Name введите E-mail (или действительный адрес электронной почты).

10. В поле Pager E-Mail Name введите Pager (или действительный адрес пейджера).

11. В поле Net Send Address введите SelfPacedCPU и щелкните Test, чтобы проверить данный адрес.

Откроется диалоговое окно Test Net Send Address, сообщающее, что на адрес SelfPacedCPU будет послано всплывающее сетевое сообщение (имя Administrator для отправки сообщений в этом упражнении не используется, так как в различ ных доменах вашей сети может иметься несколько таких пользователей).

12. Щелкните ОК.

Откроется окно службы Messenger Service с сообщением от SelfPacedCPU для SelfPacedCPU, проверяющим уведомление при помощи команды NET SEND.

13. Щелкните OK, чтобы закрыть окно сообщения Messenger Service.

14. В группе Pager On Duty Schedule определите расписание дежурств операторов, со гласно которому при выполнении вами упражнений этой главы данный оператор будет отдыхать.

15. Щелкните ОК, чтобы закрыть диалоговое окно New Operator Properties Ч SelfPa cedCPU.

Заметьте: в правой панели отображается новый оператор.

16. В дереве консоли щелкните контейнер SQL Server Agent правой кнопкой и выбе рите Properties.

Откроется окно SQL Server Agent Properties Ч SelfPacedCPU.

17. Перейдите на вкладку Alert System.

18. В группе Fail-Safe Operator в раскрывающемся списке Operator выберите (New Fail Safe Operator).

Откроется окно New Operator Properties Ч SelfPacedCPU.

19. В поле Name введите FailSafe.

20. В поле Net Send Address введите FailSafe и щелкните Test, чтобы проверить дан ный адрес.

Откроется окно Test Net Send Address, сообщающее, что на адрес FailSafe будет послано всплывающее сетевое сообщение.

21. Щелкните ОК.

Откроется окно Messenger Service с сообщением от SelfPacedCPU для FailSafe, проверяющим уведомление при помощи команды NET SEND.

22. Щелкните OK, чтобы закрыть окно сообщения Messenger Service.

23. Щелкните OK, чтобы закрыть окно New Operator Properties Ч SelfPacedCPU.

Занятие 1 Создание операторов Откроется окно SQL Server Agent Properties Ч SelfPacedCPU. В раскрывающемся списке Operator в качестве надежного оператора, уведомляемого средствами ко манды NET SEND, будет указан FailSafe.

24. Щелкните ОК.

25. В дереве консоли щелкните Operators.

Заметьте: в правой панели отображается два оператора.

26. Не закрывайте SQL Server Enterprise Manager.

Резюме Создание операторов Ч первый шаг к автоматизации административных задач. Опе ратором может быть пользователь, почтовая группа или компьютер. Уведомлять опе раторов можно по электронной почте, через пейджер или с помощью команды NET SEND. Если уведомление осуществляется по электронной почте и через пейджер, для учетной записи пользователя домена, под которой выполняется служба SQL Server Agent, должен быть сконфигурирован почтовый профиль MAPI службы SQLAgent Mail. Для оповещения с помощью команды NET SEND требуется служба Windows Messenger, доступная только на компьютерах с Windows NT 4.0/2000.

Автоматизация административных задач Глава Занятие 2. Создание заданий Служба SQL Server Agent позволяет создавать и планировать выполнение заданий, автоматизирующих стандартные административные задачи. Здесь рассказывается о создании простых и сложных заданий. Вы научитесь настраивать разрешения зада ний, принадлежащих пользователям, не состоящим в серверной роли sysadmin, и вы полнять такие задания вручную и по расписанию. Кроме того, вы узнаете, как уведо мить оператора об успехе, ошибке или завершении выполнения задания. Мы также обсудим, как просмотреть свойства и журнал выполнения задания.

Изучив материал этого занятия, вы сможете:

^ создавать одно- и многоэтапные задания;

создавать расписание выполнения задания;

Х/ создавать и отключать задания и расписания их выполнения;

s назначать операторов, уведомляемых об успехе, ошибке или завершении s выполнения задания;

устранять проблемы с выполнением заданий;

S ^ просматривать свойства и журналы заданий.

Продолжительность занятия Ч около 45 минут Реализация заданий Задания Gobs) позволяют выполнять стандартные административные функции (на пример резервное копирование БД или импорт данных) по расписанию или в ответ на определенные события и условия. Задание может быть простой операцией, состо ящей из одного этапа, или сверхсложной, включающей множество этапов с управле нием логикой выполнения. За управление и выполнение всех заданий отвечает служ ба SQL Server Agent, и для выполнения заданий необходимо, чтобы она была запуще на. Задания можно создавать на локальном сервере, а в мультисерверной среде выполнять их на одной или нескольких подчиненных машинах. Подробнее о мульти серверных заданиях Ч в занятии 5 этой главы.

Типы этапов заданий SQL Server поддерживает задания, включающие команды ОС, команды CmdExec, операторы Transact-SQL, сценарии Microsoft ActiveX и задачи репликации. Подроб нее о задачах репликации Ч в главе 15. Задание может содержать команды всех ти пов, однако отдельные этапы задания могут включать только команду одного типа.

Команды ОС (например на выполнение файлов.bat,.cmd,.com или.ехе) должны содержать абсолютный путь к исполнимому файлу, команду для исполнимого файла (включая ключи и параметры) и код завершения процесса. Завершив выполнение, все команды ОС генерируют код завершения, сообщающий об успехе или ошибке выполнения команды. Равный нулю код указывает на успешное, а все прочие коды Ч на неудачное выполнение команды. В логике задания можно определить реакцию на различные ошибки выполнения.

Операторы Transact-SQL должны содержать имя БД, в которой будет выполняться оператор, и включать собственно выполняемый оператор, функцию, хранимую про цедуру или расширенную хранимую процедуру. Отдельный этап задания может со держать несколько пакетов операторов Transact-SQL с вложенными командами GO.

Создание заданий Занятие Члены роли sysadmin могут создавать этапы заданий, выполняемые от имени других пользователей.

В сценариях ActiveX должен быть указан язык сценария, а также команды сцена рия ActiveX. Кроме того, сценарий ActiveX можно скомпилировать и выполнять в виде исполнимого файла CmdExec.

Разрешения и владельцы заданий По умолчанию задание принадлежит создавшему его пользователю и выполняется в его контексте безопасности, независимо от того, кто это задание запустил. Члены серверной роли sysadmin могут назначить владельцем задания любого действительно го пользователя. Право собственности на задание не предоставляет прав на выполне ние отдельных его этапов. Служба SQL Server на основе разрешений SQL Server про веряет права на выполнение этапов, включающих операторы Transact-SQL. По умол чанию выполнять этапы заданий, включающие команды CmdExec и сценарии Acti veX, могут только члены серверной роли sysadmin. Эти этапы выполняются в контек сте безопасности учетной записи службы SQL Server Agent. Кроме того, разрешения на выполнение таких этапов можно предоставлять и пользователям, не состоящим в фиксированной серверной роли sysadmin. ActiveX- и CmdExec-этапы заданий, при надлежащих таким пользователям, выполняются в контексте безопасности ука занной вами учетной записи Windows (учетной прокси-записи) и наследуют ее разре шения. Чтобь! сконфигурировать учетную прокси-запись, в SQL Server Enterprise Manager раскройте контейнер Management нужного экземпляра SQL Server, щелкни те контейнер SQL Server Agent правой кнопкой и выберите Properties, В диалоговом окне SQL Server Agent Properties перейдите на вкладку Job System и снимите флажок в группе Non-SysAdmin Job Step Proxy Account Ч откроется диалоговое окно SQL Agent Proxy Account, где можно настроить учетную прокси-запись.

Примечание В Windows 98/Ме задания SQL Server Agent всегда выполняются в кон тексте безопасности зарегистрированного в системе пользователя.

Лотка выполнения многоэтапного задания При удачном выполнении этапа задания возможен переход к следующему или како му-то конкретному этапу. Кроме того, этап можно сконфигурировать для заверше ния работы и уведомления об успехе или ошибке. Например, этап задания может ус пешно выполнить запрограммированное действие, и, основываясь на логике зада ния, уведомить оператора об успехе или неудаче. В случае отказа на одном из этапов выполнение может переходить к следующему этапу задания;

можно также прервать выполнение и сообщить об успехе или отказе (рис. 13-4).

На рис. 13-4 показан процесс резервного копирования БД перед импортом дан ных. В случае ошибки при начальной архивации БД задание завершает выполнение и уведомляет оператора о неудаче. Если начальное резервное копирование прошло нор мально, задание продолжает выполнение и средствами DTS импортирует в БД новые данные (попутно очищая их). Если импортирование прошло успешно, выполняется этап, обновляющий статистику, и затем Ч этап, повторно архивирующий БД (теперь уже с новыми данными). В случае ошибки при обновлении статистики или резерв ном копировании БД выполняется этап, восстанавливающий БД, и оператор получа ет уведомление об ошибке. Задание, успешно импортировавшее данные, обновившее статистику и заархивировавшее БД, уведомляет оператора об успехе. Заметьте;

этап Глава Автоматизация административных задач восстановления БД сообщает назначенному оператору об ошибке независимо от удач ности восстановления. Если выполняется этап, восстанавливающий БД, задание (цель которого Ч импортировать новые данные по обычному расписанию) считается неудачно завершившимся. Упомянутый этап может успешно восстановить БД только по состоянию на предыдущую операцию импорта данных. Администратору БД необ ходимо самостоятельно выяснить, почему на данном этапе возникает ошибка.

> При ошибке Резервное копирование БД ^ При успехе k "ЧИСТКЕ!" данных о клиентах W 1 Ъ Обновление статистики f Резервное копирование БД 4 * 4 >{ Уведомление о неудаче J^Ч Рис. 13-4. Логика выполнения многоэтапного задания Следует также создать операторов, уведомляемых об успехе, ошибке или заверше нии выполнения задания. Если операторы не определены, уведомления об успехе или ошибке пользователям не передаются. По умолчанию уведомление об ошибке вы полнения задания автоматически заносится в журнал приложений Windows, просмо треть который можно с помощью утилиты Event Viewer.

Примечание Для передачи данных между этапами задания следует использовать по стоянные таблицы, глобальные временные таблицы или файлы ОС.

Расписания выполнения заданий Хотя задания можно выполнять вручную (обычно так выполняются тестовые задания или отдельные этапы заданий), для полной автоматизации задачи следует создать одно или несколько расписаний выполнения задания. Доступны различные виды расписа ний. Задание может выполняться постоянно (например задание мониторинга), в пе риоды простоя процессора (лнизкий уровень нагрузки определяется вами) или через определенные интервалы времени (например ежечасно, ежедневно или еженедель но). Кроме того, задания могут выполняться однократно или в ответ на конкретное оповещение. Подробнее об оповещениях Ч в занятии 3 этой главы.

Благодаря наличию нескольких расписаний, в рабочие дни задание можно выпол нять с одним интервалом, а в выходные Ч с другим. Расписания можно включать и отключать. Задание, все расписания которого отключены, по-прежнему может вы полняться вручную или в ответ на какое-либо оповещение.

Замятие 1 Создание заданий Примечание Отключенное задание не выполняется по каким-либо расписаниям или в ответ на оповещения. Но его можно выполнить вручную. При устранении проблем убедитесь, что задание и все его расписания включены.

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

Затем с помощью SQL Profiler и Windows 2000 System Monitor (подробнее об этих сред ствах мониторинга Ч в главе 14) оцените необходимый каждому заданию объем ре сурсов процессора. Низкий уровень загруженности должен включать в себя все ресурсы, необходимые заданиям, выполняющимся в периоды простоя процессора.

При простое процессора запускаются сразу все задания такого типа.

Примечание Чтобы задание выполнялось по расписанию, при создании расписания должна быть запущена служба SQL Server Agent.

Создание заданий Создать задание можно средствами мастера Create Job Wizard или непосредственно в SQL Server Enterprise Manager. Кроме того, задания можно создавать при помощи системных хранимых процедур Transact-SQL.

Использование мастера Create Job Wizard Запустить мастер Create Job Wizard можно из списка Wizards, или выбрав в меню Tools диспетчера SQL Server Enterprise Manager команду Job Scheduling. Мастер Create Job Wizard Ч простой способ начать создавать и планировать выполнение заданий. В диалоговом окне Welcome To The Create Job Wizard щелкните Next (рис. 13-5).

Schedule the Irequericy at the ph Moldy operalas about the slehs ot Hie job Рис. 13-5. Начало работы с мастером Create Job Wizard В диалоговом окне Select Job Command Type укажите тип команд, которые будут выполняться новым заданием. Мастер Create Job Wizard позволяет создавать только одноэтапные задания (рис. 13-6).

400 Автоматизация административных задач Глава Select job command lype S elect the type of command tint trie job should run Т hit command wil belong to It firtl - and onfci - ilep ii Ihe job When Itie 106 runs Ihe outeorw of the _ cgmand wit beiayed 1 'le J ab Нд|ту.

Рис. 13-6. Выбор типа команд, выполняемых заданием Выберите один из трех типов команд, выполняемых заданием. Если установить переключатель Transact-SQL Command и щелкнуть Next, откроется окно Enter Tran sact-SQL Statement, где можно выбрать БД и ввести оператор. Чтобы проверить син таксис оператора Transact-SQL, щелкните Parse (рис. 13-7). Можно также загрузить нужный оператор из файла.

Entai TianHct-SQL Statement Select a database and Ijwe the stalemenl or open e Яе centering Ihe Tianiacl-SQL itetgnent la tni ft> In erecute Рис. 13-7. Ввод и проверка оператора Transact-SQL Если установить переключатель Operating-System Shell Command и щелкнуть Next, откроется окно Enter Operating-System Shell Command, где можно ввести выполняе мую заданием команду (рис. 13-8).

Если установить переключатель Active Script и щелкнуть Next, откроется окно Enter Active Script Command, где можно ввести выполняемый заданием сценарий Visual Basic. Чтобы проверить синтаксис сценария, щелкните Parse (рис. 13-9). Мож но также загрузить нужный сценарий из файла.

Выбрав тип задания и введя необходимые сведения о нем, в окне Specify Job Schedule можно создать расписание выполнения задания, включая немедленный за пуск задания (рис. 13-10).

Создание заданий Занятие Еп1н Operating-S у Men Shell Command Туве I he operating-system she* command you art II job to execute Рис. 13-8. Ввод команды ОС Enter Active Snip* Command Type Ilie Visual Basic scrip! a open *ie He contwwig и that you want us job lo Set DMOSeiver ^ CrealeObiecirSQLDMO SOLSwvei"' DMOSav LoemSecuraл Tiue DMOSave Connect "SHtPacedCPU" Flint DMOSer.eiNams DMOSaver Disconnect Set DMOSever т No*mg ErdSun Рис. 13-9. Проверка команды Active Script Specify job ichedute Job? can lun one tune or be lecuinng Рис. 13-10. Создание расписания выполнения задания Автоматизация административных задач Глава Если установить переключатель On A Recurring Basis и щелкнуть Schedule, откро ется окно Edit Recurring Job Schedule, где можно определить расписание многократ ного выполнения задания. Укажите периодичность выполнения Ч ежедневно, еже недельно, ежемесячно, в определенные часы, дни недели, дни месяца (допустим, в первое воскресенье каждого месяца), как показано на рис рис. 13-11.

Рис. 13-11. Редактирование расписания выполнения задания Затем в диалоговом окне Job Notifications укажите существующего оператора, ко торый будет получать уведомления по электронной почте или посредством команд NET SEND. Создать нового оператора или настроить уведомление через пейджер при помощи мастера Create Job Wizard нельзя (рис. 13-12).

Job Hotificalioiii, select operators to be notified about the ttalut al the |ub.

Рис. 13-12. Выбор уведомляемого оператора В диалоговом окне Completing The Create Job Wizard можно задать имя нового за дания и просмотреть выбранные параметры. Чтобы изменить какой-либо параметр, щелкните Back, Для создания задания щелкните Finish (рис. 13-13).

2 м Создание заданий Completing the Create Job Wizard You have completed the steps requited to creale a |ob. Trie chaiacleiatics of the new lob are shown hekoA Job name. 1 Beckup M aster 0 atabase Description:

Рис. 13-13. Ввод имени задания Упражнение 2. Создание задания средствами мастера Create Job Wizard В этом упражнении вы с помощью мастера Create Job Wizard создадите зада ние, архивирующее БД master.

> Чтобы создать задание средствами мастера Create Job Wizard 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT пол учетной записью Administrator.

В дереве консоли SQL Server Enterprise Manager должны быть раскрыты контейке ры Management и SQL Server Agent.

2. В дереве консоли SQL Server Enterprise Manager щелкните контейнер SQL Server Agent экземпляра SQL Server 2000 по умолчанию.

3. В меню Tools выберите Job Scheduling.

Откроется окно Welcome To The Create Job Wizard.

4. Щелкните Next.

Откроется окно Select Job Command Type.

5. Убедитесь, что переключатель установлен в положение Transact-SQL Command, и щелкните Next.

Откроется окно Enter Transact-SQL Statement.

6. Убедитесь, что в раскрывающемся списке Database Name выбрана БД master, и затем в поле Transact-SQL Statement введите BACKUP DATABASE master TO DISK = 'C:\SQLBackups\MasterDB.bak' (если при выполнении упражнений главы 9 вы не создали папку C:\SQLBackups, сделайте это сейчас).

7. Щелкните Parse.

Появится сообщение мастера Create Job Wizard об успешной проверке синтаксиса команды.

8. Щелкните ОК и затем Ч Next.

Откроется окно Specify Job Schedule.

9. Установите переключатель в положение On A Recurring Basis и щелкните Schedule.

Откроется окно Edit Recurring Job Schedule Ч SelfPacedCPU.

Глава Автоматизация административных задач 10. В группе Occurs установите переключатель в положение Daily и щелкните ОК.

11. Щелкните Next.

Откроется окно Job Notifications.

12. В раскрывающемся списке Net Send выберите Operator и щелкните Next.

Откроется окно Completing The Create Job Wizard.

13. В поле Job Name введите Backup Master Job и щелкните Finish.

Появится сообщение мастера Create Job Wizard об успешном создании задания.

14. Щелкните ОК.

15. В дереве консоли щелкните контейнер Jobs.

16. В правой панели щелкните значок Backup Master Job правой кнопкой и выберите Start Job.

Через некоторое время появится окно службы Messenger Service с сообщением для SelfPacedCPU об успешном завершении и с подробной информацией о выполне нии задания Backup Master Job.

17. Щелкните ОК.

18. В правой панели щелкните контейнер Backup Master Job правой кнопкой и выбе рите Refresh Job.

Заметьте: в столбце Last Run Status указывается, что задание успешно выполнено, а в столбце Next Run Date отображается время нового запуска задания Ч 00:00: следующего дня.

19. Не закрывайте SQL Server Enterprise Manager.

Использование SQL Server Enterprise Manager Чтобы создать задание непосредственно в SQL Server Enterprise Manager, раскройте контейнеры Management и SQL Server Agent, щелкните последний правой кнопкой и выберите New\Job. Кроме того, можно щелкнуть в контейнере SQL Server Agent зна чок Jobs правой кнопкой и выбрать New Job. В любом случае откроется окно New Job Properties (рис. 13-14).

Рис. 13-14. Настройка свойств нового задания На вкладке General можно указать владельца задания (если вы не являетесь чле ном серверной роли sysadmin, эта возможность недоступна). Можно также указать категорию задания (по умолчанию Ч Uncategorized (Local)). Если вы делите свои за дания на категории, щелкните кнопку (...) напротив списка Category и выберите для задания нужную категорию. Чтобы задание можно было сохранить, укажите его имя в поле Name.

Занятие 2 Создание заданий Перейдите на вкладку Steps и щелкните New. Откроется окно New Job Step, по зволяющее создавать этапы задания (рис. 13-15).

Pages:     | 1 |   ...   | 5 | 6 | 7 | 8 | 9 |   ...   | 10 |    Книги, научные публикации