Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

#027<<#028

СОВЕТЫ

SQL Server 7.0 Service Pack 3 Final version
Microsoft анонсировал финальную версию сервисного пакета для MS SQL Server 7.0. В представленной ранее бета версии этого пакета были устранены незначительные недостатки, что не привело к принципиальным изменениям в процедуре установки SP3 или в кодах версий его компонент. Совет по установке бета версии, изложенный в 24 выпуске http://mssqlhelp.com.ru/024.shtml, вполне сгодится и для финального релиза. Скачать SP3 можно здесь:
http://www.microsoft.com/sql/downloads/sp3.htm
Список исправленных ошибок находится тут:
http://support.microsoft.com/support/kb/articles/Q274/7/97.ASP

Снижение интенсивности операций ввода-вывода
По материалам сообщения John Savill на:
http://www.ntfaq.com/Articles/Index.cfm?ArticleID=14921

Если Ваш сервер баз данных чересчур интенсивно использует I/O, можно изменить значение параметра операционной системы I/O Page Lock Limit, который может увеличить эффективную норму чтения/записи данных операционной системой на жесткий диски.
Сначала, выполните эталонный тест I/O для вашей обычной загрузки сервера. Затем, в regedit.exe откройте ключ:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\IoPageLockLimit

Смысл Ваших действий состоит в пошаговом подборе значений этого ключа до наиболее оптимального, с точки зрения изменений результатов эталонного тестирования, значения.
В этом ключе операционная система считывает максимальное число байт, которые она можете использовать для операций I/O. По умолчанию установлено значение 0, которому соответствует 512КБ. Увеличивайте это значение по шагам, каждый раз прибавляя по 512КБ (например: "512", "1024", и т.д.), и выполняйте после каждого изменения эталонное тестирование вашей системы. Увеличивать этот параметр есть смысл только до тех пор, пока вы наблюдаете увеличение пропускной способности операций ввода – вывода, которое может проявляться в снижении временных затрат на стандартные дисковые операции. Когда Вы перестанете наблюдать существенное улучшение, возвратитесь в редактор реестра и уничтожьте последнее приращение.
Предостережение: Есть ограничение на максимальный размер значения этого ключа. Если Вы имеете 16 МБ ОЗУ, не устанавливайте IoPageLockLimit более 2048 байт; для 32МБ ОЗУ, не превышайте 4096 байт, и так далее.

“Тюнинг” – для Windows NT, обеспечивающий более эффективную работу MS SQL Server
По материалам статьи Sergey A. Vartanyan на swink.com “Tips on tuning the Windows NT server”.

Как DBA или разработчик, Вы должны знать некоторые общие аспекты конфигурирования системы Windows NT для повышения эффективности работы SQL сервера. В этой статье, Сергей предлагает некоторые настройки Windows NT, на котором предполагается запускать MS SQL Server:
1.) Если у Вас ОЗУ большого размера, Вы можете запретить Windows NT сбрасывать страницы в pagefile. Для этого, с помощью regedit.exe, установите значение ключа
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement в единицу. (Замечание Автора: лично я этот ключ трогать боюсь…)
2.) Создать на каждом отдельном физическом дисковом массиве свой page file. Исключение может составить только тот диск, где расположен системный каталог Windows NT.
3.) Установите для сервера опцию "Maximize Throughput for Network Applications":
Start => Settings => Control Panel => Network => Services
Выберите Server и потом Properties.
Из списка выберите последний пункт "Maximize Throughput for Network Applications".
4.) Вы можете повысить производительность отключив учёт даты последнего доступа к файлам. Для этого нужно установить в единицу ключ:
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate
5.) Используйте минимальный набор сетевых протоколов. Например, только TCP/IP. Если Вы используете несколько протоколов, определите наиболее часто используемый, и поместите его на первое место в Bindings листе.
6.) Используйте как можно меньшее количество счётчиков в Performance Monitor.
7.) Не используйте Open GL хранители экрана, потому что они используют очень много системных ресурсов.
8.) При настройке Audit Policy, добавляйте новые проверки очень осторожно. Не проверяйте "File and Objects Access" и "Process Tracking", т.к. это может привести к почти полной потере доступности сервера.
9.) Укажите серверу запускать приложения с консоли с тем же приоритетом, что и background applications
Start => Settings => Control Panel => System => "Performance"
Далее с помощью клавиши табуляции перейдите к нужному пункту и установите "Application Performance" в "None".
Важное замечание: Перечисленные Сергеем операции при не правильном или ошибочном применении могут привести к краху Вашей системы. Поэтому, позаботьтесь предварительно о наличии резервных копий баз и системы, сохраните рабочую конфигурацию NT, и промоделируйте возможные изменения на полигоне. Никогда не делайте более одного изменения конфигурации за один раз.

ГОТОВИМСЯ К ТЕСТУ ПО 70-028

ШПАРГАЛКА №6 Продолжение (обзор официального курса Microsoft)
Архив шпаргалок Вы найдёте на следующих сайтах:
http://mssqlhelp.com.ru
http://subscribe.ru/archive/comp.soft.winsoft.sqlhelpyouself

Восстановление баз данных (параметры оператора RESTORE)

Продолжаем рассмотрение параметров оператора RESTORE, полный синтаксис которого приведен в предыдущем выпуске http://mssqlhelp.com.ru/027.shtml.
Параметр FILE используется для указания на конкретную копию из возможного набора хранящихся на устройстве резервирования копий. Значением его должен являться порядковый номер копии в наборе.
Параметр MOVE … TO указывает место назначения копии, куда она должна восстанавливаться. Это может быть другой диск или сервер, а также резервный сервер.
Параметр REPLACE отключает проверки безопасности, призванные помешать записи резервной копии поверх существующей, другой базы, имеющей другое логическое имя или отличный от копии набор файлов.
Использовать перечисленные выше параметры можно не только для целей восстановления базы, но и для перемещения её в другое место. Однако, есть для этих целей и иной путь, например, использующий системные хранимые процедуры sp_attach_db или sp_attach_single_file_db. Эти процедуры позволяют прикрепить к новому master перемещённые в другое место базы или их файлы.
Синтаксис оператора RESTORE имеет целый ряд параметров, которые зависят от избранного Вами типа резервного копирования. Соответственно, перед началом процесса восстановления необходимо чётко для себя определить какая схема резервирования применялась в данном, конкретном случае, имеется ли полный набор файлов резервных копий, а также, что они являются доступными и не повреждены. Существенное влияние на план восстановления базы данных оказывают и причины, повлекшие за собой эту необходимость. В зависимости от того, стало ли причиной восстановления: повреждение физического диска, повреждение или порча файлов базы, необходимость переноса базы в другое место или необходимость отката введённой информации к состоянию на определённое время в прошлом; выбираются и разные способы применения параметров оператора RESTORE.
Далее мы рассмотрим параметры и способы их применения, которые определяются основными схемами резервного копирования: полной, разностной и копирование журнала, а также, восстановление избранных файлов.
В 26-м выпуске рассылки уж отмечалось, что при восстановлении полной копии все объекты базы автоматически создаются заново и в тех местах, где они располагались. Поэтому беспокоится о повреждённой базе не имеет смысла. Если будет восстанавливаться только полная копия, для восстановления согласованности данных применяют параметр RECOVERY. Если же кроме полной копии будут восстанавливаться разностные копии или копии журнала транзакций, для всех восстанавливаемых копий, кроме последней, необходимо отключить регенерацию данных параметром NORECOVERY, иначе, согласованность данных (как отмечалось в 26-м выпуске) будет нарушена. Ниже представлен пример скрипта по восстановлению полной копии базы данных Northwind из второй по счёту резервной копии устройства резервирования NorthwindBackupDevice.

USE master
RESTORE DATABASE Northwind
FROM NorthwindBackupDevice
WITH FILE = 2,
RECOVERY

Восстановление разностной копии по смыслу мало чем отличается от восстановления полной копии. Отличие в том, что предложение FROM указывает на файл разностной копии. Поскольку разностная копия включает в себя все изменения, которые произошли в базе на момент её создания с последнего полного/разностного копирования, восстанавливать создаваемые в этот же промежуток времени копии журнала транзакций (если таковые имеются) нет необходимости. Преимущество этого вида копирования/восстановления в том, что время, затраченное на восстановление разностной копии, как правило, меньше, чем время восстановления копий журнала транзакций за тот же период. Порядок восстановления следующий: восстанавливаем последнюю полную копию, потом последнюю разностную копию и копии журнала транзакций после последнего разностного копирования. Естественно, параметр RECOVERY должен использоваться только для самой последней из восстанавливаемых копий. Полную копию и все копии, которые будут восстанавливаться между ней и последней копией (например, журнала транзакций) нужно выполнять в режиме WITH NORECOVERY.
Восстановление журналов транзакций имеет ряд особенностей, которые стоит отметить особо. Во первых, как и в случае с восстановлением полной и разностной копии, регенерация включается только для последней, восстанавливаемой копии журнала транзакций. Для копий журнала это особенно актуально, поскольку они отписываются, как правило, значительно чаще, чем остальные копии. Кроме того, можно восстановить данные практически до момента сбоя, повлекшего порчу базы. Без отписывания копий журнала транзакций это не возможно. Полный синтаксис оператора RESTORE LOG следующий:

RESTORE LOG { database_name | @database_name_var }
[ FROM < backup_device > [ ,...n ] ]
[ WITH
    [ RESTRICTED_USER ]
    [ [ , ] FILE = { file_number | @file_number } ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]
            [ ,...n ]
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    [ [ , ] KEEP_REPLICATION ]
    [ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
    [ [ , ] { NOREWIND | REWIND } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] RESTART]
    [ [ , ] STATS [= percentage ] ]
    [ [ , ] STOPAT = { date_time | @date_time_var }
        | [ , ] STOPATMARK = 'mark_name' [ AFTER datetime ]
        | [ , ] STOPBEFOREMARK = 'mark_name' [ AFTER datetime ]
    ]
]

Порядок восстановления следующий: вначале, восстанавливается полная копия и все последующие разностные (если таковые выполнялись), причём с включённым параметром WITH NORECOVERY; затем, по порядку, восстанавливаются копии журнала транзакций после последнего полного/разностного копирования, также с параметром WITH NORECOVERY. Регенерация применяется только к самой последней копии журнала транзакций. Если необходимо восстановить изменения базы до определённого времени, используется параметр STOPAT, время в котором устанавливается с точностью до минуты. Это ограничение не позволит восстановиться транзакциям, зарегистрированном в журнале после указанного для параметра STOPAT времени. Этот замечательный параметр нельзя использовать в сочетании с STANDBY или NORECOVERY. Согласованность данных будет восстановлена при восстановлении последнего журнала транзакций с параметром WITH RECOVERY. В прелагаемом ниже примере будет восстановлена полная копия и две копии журнала, причём копия второго журнала будет восстановлена до момента, на одну минуту опережающего событие краха базы данных, повлекшего за собой необходимость восстановления данных. База данных, как всегда, Northwind:

USE master
RESTORE DATABASE Northwind
FROM NorthwindBackupDevice
WITH NORECOVERY

Далее, восстанавливаем первый журнал (копии журнала отписывается в другой файл, хотя, можно и в NorthwindBackupDevice:

USE master
RESTORE LOG Northwind
FROM NorthwindLogBackupDevice
WITH FILE=1,
    NORECOVERY

Восстанавливаем второй файл. Сбой наступил в 0:01АМ, поэтому восстанавливаем на 0:00АМ. Заодно, делаем регенерацию, для согласованности данных:

USE master
RESTORE LOG Northwind
FROM NorthwindLogBackupDevice
WITH FILE=2,
    RECOVERY,
    STOPAT = ‘January 1, 2001 0:00 AM’

Для особо крупных баз данных, которые в простолюдье именуют VLDB (Very Large Database), может быть применена схема копирования отдельных файлов или групп файлов. Причиной восстановления файла может стать его повреждение или случайное удаление. Кроме восстановления непосредственно самого файла, нужно будет применить копии всех журналов транзакций, которые были после этого выполнены. Причём, SQL сервер применит только те транзакции, которые относятся к восстанавливаемому файлу или группе файлов. Если Вы собираетесь восстановить один файл, а часть таблицы из этого файла или её индексы размещаются в другом файле, Вам потребуется восстанавливать оба файла. Регенерация, как и во всех уже описанных случаях, выполняется при восстановлении последней копии, если их несколько или после копирования файла были выполнены копии журнала. Это позволит применить все завершённые транзакции, записи о которых сохранились в журнале транзакций, но сами они небыли ещё отражены в базе, а также будут отменены все не завершённые, но зарегистрированные в журнале транзакции. Перечисленные условия являются непременным условием согласованности данных после восстановления из резервной копии. В представленном ниже примере, база данных Northwind разбита на три файла, второй из которых был случайно удалён в новогоднюю ночь. После последнего резервного копирования файла NorthwindFile2 была выполнена одна копия журнала транзакций в NorthwindLogBackupDevice. Процедура восстановления тогда будет иметь следующий вид:

USE master
RESTORE DATABASE Northwind
FILE = NorthwindFile2
FROM NorthwindBackupDevice
WITH NORECOVERY

Поскольку существует ещё и копия журнала, восстанавливаем и её, а также делаем регенерацию:

USE master
RESTORE LOG Northwind
FROM NorthwindLogBackupDevice
WITH RECOVERY

В следующем выпуске мы рассмотрим с Вами вопросы использования резервного сервера.

Продолжение следует

ПОЛЕЗНОСТИ

Вышла в свет книга «Структуры данных и алгоритмы», авторы: Альфред В. Ахо, Джон Хопкрофт, Джеффри Д. Ульман. В этой книге подробно рассмотрены структуры данных и алгоритмы, которые являются фундаментом современной методологии разработки программ. Показаны разнообразные реализации абстрактных типов данных, начиная от стандартных списков, стеков, очередей и заканчивая множествами и отображениями, которые используются для неформального описания и реализации алгоритмов. Две главы книги посвящены методам анализа и построения алгоритмов; приведено и исследовано множество различных алгоритмов для работы с графами, внутренней и внешней сортировки, управления памятью. Книга не требует от читателя специальной подготовки, только предполагает его знакомство с какими-либо языками программирования высокого уровня, такими как Pascal. Вместе с тем она будет полезна специалистам по разработке программ и алгоритмов и может быть использована как учебное пособие для студентов и аспирантов, специализирующихся в области компьютерных наук.

Вышла в свет книга «Разработка Web-серверов для электронной коммерции. Комплексный подход», авторы: Вивек Шарма, Раджив Шарма. Эта книга представляет собой обзор различных языков программирования, которые можно эффективно использовать при разработке приложений для электронной коммерции, а также имеет большое количество практических примеров. Кроме того, в ней рассматриваются проблемы функционирования и безопасности, что является важным моментом любого электронного коммерческого узла. В последнем разделе книги в качестве готового примера даны пять систем, которые могут быть адаптированы для любых электронных коммерческих узлов.
Книга будет особенно полезна профессиональным программистам, которые будут проектировать и разрабатывать приложения для электронной коммерции; менеджерам и студентам экономических факультетов, которым нужно знать, что из себя представляют электронные коммерческие системы, какие технологии для них требуются и как они могут быть разработаны; консультантам, разработчикам и студентам-программистам, которые собираются изучать различные сетевые технологии и реализовывать на их основе мощные Internet-приложения.
Книга имеет ряд следующих особенностей.
1.) Помогает читателям быстро использовать различные технологии для разработки Web-ориентированных систем.
2.) Содержит большое количество практических примеров.
3.) В ней поэтапно описывается процесс создания сложных систем электронной коммерции.
4.) Здесь приведены фрагменты кода на Java, JavaScript, JDBC, сервлетов и SQL, которые помогут сэкономить время при разработке программы.
5.) Детально описывает электронную коммерческую систему, что дает возможность пользователям лучше понять всю ее концепцию.
6.) Дает представление об XML и его использовании для электронной коммерции.

Статья «SQL Server в вопросах и ответах», авторы Карен Уоттерсон и Брайан Моран, Журнал "Windows 2000 Magazine", #03/2000
http://www.citforum.ru/database/articles/sqlservqa.shtml

Архив Компьютерной Документации, раздел Базы Данных - SQL Server
http://bookcase.ru/db/dbmssql.htm

На сайте ITTutor можно скачать бесплатный тест к экзамену SQL Server 7.0 Administration. Не смущайтесь, что закачка доступна только для Members, и смело кликайте нужную ссылку. Процесс регистрации займёт у вас пару минут и после этого можно скачать любой тест. Кроме теста по SQL, Вам придется закачать ещё и «ITTutor Gold and the FREE exams», т.к. только там лежит сама инстолляшка программы теста. Зато, Вы получите ещё и комплект из дюжины бесплатных тестов.
http://www.ittutor.com/images/aid/pg4.asp

#027<<#028


Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру на адрес: MSSQLHelp@pisem.net
Хостинг рассылки:
Majordomo.ru - качественный хостинг от $9 в месяц: от 10 Мб,неограниченный трафик, от 10 РОР3, Cgi-bin, MySQL, PHP и секретный сервер, FTP & anonymous FTP, бесплатная регистрация домена,перекодировка кириллицы... http://www.majordomo.ru/hosting и самое главное - уникальное предложение : ДОМЕННОЕ ИМЯ в зоне .ru, .com, .net, .org БЕСПЛАТНО. Побробности http://www.majordomo.ru/hosting/specpr.html

MSSQLHELP
SQL.RU
ФОРУМ
Описание рассылки


List.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное