Книги и статьи по SQL Rambler's Top100 Switch language to: English 29 марта 2024 г. 18:07:10


www.sql-ex.ru
Skip Navigation Links  

 

Print  Версия для печати

На главную страницу

От SQL 2000 к SQL 2005: Куда пропали все старые возможности?

Boris Baliner (оригинал: SQL 2000 to SQL 2005: Where Have All the Old Features Gone?)
Перевод Моисеенко С.И.

Поскольку все больше администраторов баз данных по всей планете начинают использовать серверы SQL 2005, но все еще управляют с их помощью серверами SQL 2000, я подозреваю, что будут повсюду раздаваться приглушенные стенания по поводу того, куда подевались все добрые старые средства. Хотя студия управления (Management Studio) имеет некоторые прекрасные долгожданные возможности, часть хорошего старых вещей там отсутствует.

Где мои испытанные и верные инструменты, например, панель задач (Taskpad)? Где опция IF EXISTS DROP, когда я генерирую скрипт хранимых процедур? Может кто-нибудь ущипнуть меня и сказать, что это только дурной сон?

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

Назову несколько старых добрых друзей, которые канули в небытие:

· Панель задач (Taskpad).

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

· Возможность быстро определить дисковое пространство в свойствах базы данных.

· Время создания хранимых процедур.

Несомненно, если Вы подключаетесь к экземпляру SQL Server 2005 с помощью студии управления, Вы получаете в свое распоряжение красочные отчеты и множество профессионально выглядящих графиков, но что они значат для большинства из нас, кто все еще не перевел свои серверы на SQL 2005, но уже обновил инструментальные средства?

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

Функциональные возможности панели задач

Не скажу за всех, но мне действительно нравится Taskpad, и я использую ее постоянно. Я столь же привык к ней, как и к своей старой паре шлепанцев - они обе вполне отвечают моим потребностям. И даже если панель задач выдавала мне время от времени недокументированную ошибку, я прощаю ее, тем более, что это она уходит навсегда. Но как нам вернуть его функциональные возможности?

Вкладка General в разделе Database теперь находится в свойствах базы данных под тем же самым заголовком.

Информацию, подобную разделу Maintenance, можно обнаружить, выполнив запрос к таблице backupset в базе данных msdb:

select max(backup_start_date) from backupset
where database_name = 'моя база данных'

Замечание: опции базы данных (раздел Database) - число пользователей (Number of Users), дата создания (Date Created), и владелец (Owner) все еще можно найти в свойствах базы данных в инструментах (tools) SQL 2005.

Информация из раздела используемой памяти (Space allocated) может быть найдена с помощью следующего кода T-SQL:

select * from sysfiles

Или, если Вам требуется только выяснить, сколько места занимает журнал, выполните:

DBCC SQLPERF (LOGSPACE)

Вкладка Table Info? Я использую ее не очень часто, но Вы можете получить подобные функциональные возможности, выполнив:

Exec sp_spaceused 'ваша таблица'

Как получить скрипт нескольких хранимых процедур, включая разрешения

Щелкните правой кнопкой мыши на базе данных, выберите Tasks > Generate Scripts, затем свою базу данных. Установите Include object Level Permissions в значение True. Замечание: если Вы установите опцию Include if NOT EXISTS в значение true, скрипт не будет создавать хранимую процедуру, если она уже существует в целевой базе данных.

Щелкните Next и выберите только Stored Procedures. Затем выберите, какие хранимые процедуры Вы хотите заскриптовать, проверьте окончательные опции и щелкните Finish.

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

IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'ваша процедура' AND type = 'P')
DROP PROCEDURE 'ваша процедура' GO

Этого действительно вне моего понимания. По причинам, известным только Microsoft и главному администратору компании Bayer (или какой-нибудь другой крупнейшей компании, выпускающей средство от головной боли), эта опция исчезла из финальной версии SQL 2005 RTM.

Смотрим дисковое пространство

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

exec xp_fixeddrives

Время создания хранимых процедур

По некоторым причинам временная составляющая столбца Create Date (даты создания) на вкладке Summary в SQL 2005 исчезла. Почему? Я предполагаю, что кто-то подумал, что администраторы базы данных больше в этом не нуждаются (я закатываю глаза). Хорошая же новость заключается в том, что Вы можете таки получить эту информацию, выполнив запрос к таблице sysobjects:

Select crdate as DateCreated
From dbo.sysobjects where name = 'ваша процедура'

Резюме

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

13-03-2006

На главную страницу

Print  Версия для печати


Использование любых материалов данного сайта возможно только
при условии обязательного размещения прямой ссылки на сайт
http://www.sqlbooks.ru
на каждой странице, где размещены используемые материалы.

 Начало   Статьи    Книги 
Рейтинг@Mail.ru Rambler's Top100 Alt Упражнения по SQL: обучение, тестирование, сертификация по языку SQL Copyright c 2002-2006. All rights reserved.