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

MS SQL Server

  Все выпуски  

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


Информационный Канал Subscribe.Ru


#116<<  #117

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.Тюнинг подсистем I/O для SQL Server
1.1.1.Введение
1.1.2.Bytes Total/sec
1.1.3.Total Server Memory
1.1.4.Average Disk Queue Length
1.1.5.Cache Hit Ratio
1.1.6.Buffer Cache Hit Ratio
1.1.7.Pages/Sec
1.1.8.% Processor Time
1.2.Краткие рекомендации по настройке и оптимизации репликации транзакций
1.2.1.Повышение производительности репликации
1.2.2.Повышение производительности репликации транзакций
1.2.3.Повышение производительности при применении первоначального моментального снимка
1.2.4.Использование сжатых моментальных снимков
1.2.5.Использование параллельных процессов для генерации снимка
2.ССЫЛКИ НА СТАТЬИ
2.1.Отечественные статьи
2.2.Новые технические статьи Microsoft
2.2.Англоязычные статьи
3.ПОЛЕЗНОСТИ
4.ФОРУМ SQL.RU
4.1.Самые популярные темы недели
4.2.Вопросы остались без ответа

СОВЕТЫ

Тюнинг подсистем I/O для SQL Server
По материалам статьи Michael Otey Performance Counters

Статья посвящена вопросам мониторинга семи основных счётчиков эффективности работы MS SQL Server.

Введение

При установке SQL Server в Performance Monitor добавляются его специфические счетчики эффективности. Вы можете использовать их вместе с привычными счетчиками Win2K или NT, чтобы отслеживать производительность системы при изменении нагрузки. Чтобы устанавливать точку отсчёта, начинайте контроль счётчиков, когда система не испытывает пиковых нагрузок. Представленные в этой статье семь наиболее важных счетчиков помогут Вам быстро оценить производительность вашей системы с SQL Server и получить общее представление о её состоянии.

7. Bytes Total/sec

Счетчик Bytes Total/sec, который находится среди объектов Network Interface, может помочь Вам определить, является ли сетевой адаптер узким местом. Сравните значение этого счётчика с максимальной пропускной способностью вашей сетевой платы. Вообще, этот счётчик должен показать не более 50% утилизации пропускной способности сетевого адаптера.

6. Total Server Memory

Этот счетчик, расположенный среди объектов SQL Server: Memory Manager, показывает общую сумму динамически выделяемой памяти в килобайтах. Необходимо увеличить размер памяти, если среднее значение этого счётчика постоянно выше, чем доступное количество физической памяти в системе. (Замечание автора перевода: эта рекомендация не относится к тем случаям, когда для SQL Server установлен максимальный, фиксированный размер занимаемой им оперативной памяти).

5. Average Disk Queue Length

Этот счетчик показывает эффективность дисковой подсистемы и расположен среди объектов PhysicalDisk. Средняя длина очереди диска - это среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения. Согласно рекомендациям Microsoft, среднее число запросов ожидающих I/O не должно быть больше, чем в 1,5 - 2 раза числа шпинделей физических дисков. (Замечание автора перевода: по-видимому, автор статьи имеет ввиду значение с учётом масштаба по умолчанию для этого счётчика, т.к. на графике представляются умноженные на 100 значения). Если значения этого счётчика постоянно выше рекомендованных, Вы можете поднять производительность дисковой подсистемы установим более быстрые диски или увеличив их количество.

4. Cache Hit Ratio

Этот счетчик среди объектов SQL Server: Cache Manager показывает, может ли SQL Server размещать полностью планы исполнения запросов в кэше процедур. В идеале, это значение должно всегда быть выше 85 процентов. Если Вы наблюдаете снижение среднего значения этого счётчика, рассмотрите возможность добавление ОЗУ или оптимизации ваших запросов.

3. Buffer Cache Hit Ratio

Счетчик Buffer Cache Hit Ratio среди объектов SQL Server: Buffer Manager показывает, насколько полно SQL Server может разместить данные в буфере кэша. Чем выше это значение, тем лучше, т.к. для эффективного обращения SQL сервера к страницам данных, они должны находиться в буфере кэша, и операции физического ввода-вывода (I/O) должны отсутствовать. Если Вы наблюдаете устойчивое снижение среднего значения этого счётчика, рассмотрите возможность добавление ОЗУ.

2. Pages/Sec

Счетчик Pages/Sec, расположенный среди объектов Memory, показывает число страниц, которые SQL Server считал с диска или записал на диск для того, чтобы разрешить обращения к страницам памяти, которые не были загружены в оперативную память в момент обращения. Эта величина является суммой величин Pages Input/sec и Pages Output/sec, а также учитывает страничный обмен (подкачку/свопинг) системной кэш-памяти для доступа к файлам данных приложений. Кроме того, сюда включается подкачка не кэшированных файлов, непосредственно отображаемых в память. Это основной счетчик, за которым следует следить в том случае, если наблюдается большая нагрузка на использование памяти и связанный с этим избыточный страничный обмен. Этот счётчик характеризует величину свопинга и его нормальное (не пиковое) значение должно быть близко к нолю. Увеличение свопинга говорит о необходимости наращивания ОЗУ или уменьшения числа исполняемых на сервере прикладных программ.

1. % Processor Time

Один из наиболее жизненно-важных счетчиков, который необходимо контролировать, это счетчик % Processor Time среди объектов Processor. Этот счетчик показывает процентное отношение времени, которое процессор был занят выполнением операций для не простаивающих потоков (non-Idle thread). Эту величину можно рассматривать как долю времени, приходящегося на выполнение полезной работы. Каждый процессор может быть назначен простаивающему потоку, который потребляет непродуктивные циклы процессора, не используемые другими потоками. Для этого счётчика характерны непродолжительные пики, которые могут достигать 100 процентов. Однако, если Вы видите продолжительные периоды, когда утилизация процессора выше 80 процентов, ваша система будет более эффективной при использовании большего числа процессоров.

[Содержание]

Краткие рекомендации по настройке и оптимизации репликации транзакций

По материалам статьи Bren Newman, Xavier Schildwachter и Greg Yvkoff Transactional Replication Performance Tuning and Optimization
Автор: Владимир Белов

Эта статья посвящена повышению производительности и эффективности репликации транзакций MS SQL Server.

[Содержание]

Повышение производительности репликации

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

· Оптимизируйте при разработке вашу БД и с точки зрения репликации.
· Минимизируйте распределяемое для установок SQL Server количество памяти.
· Используйте выделенные диски для размещения журналов транзакций.
· Увеличьте размер памяти для серверов, задействованных в репликации.
· Используйте мультипроцессорные системы.
· Публикуйте только необходимые данные.
· Запускайте Shapshot Agent только при необходимости и не во время пиковой нагрузки.
· Не храните файлы моментальных снимков и файлы журналов транзакций на одном диске.
· Используйте единый путь для хранения файлов моментальных снимков.
· Рассмотрите возможность использования сжатия файлов моментальных снимков.
· Рассмотрите возможность использования pull и anonymous подписок.
· Проанализируйте возможность использования параметра -UseInprocloader для Distribution Agent

[Содержание]

Повышение производительности репликации транзакций

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

· Используйте постоянно запущенный Distribution Agent вместо запуска агента по расписанию.
· Разместит дистрибутора на отдельном сервере.
· Увеличьте количество памяти на дистрибуторе.
· Используйте хранимые процедуры при манипулировании большими объемами данных в репликации.
· Увеличение значения параметра -ReadBatchSize для Log Reader Agent.
· Сократите время хранения истории и время завершения подписки.
· Используйте свои хранимые процедуры для операторов типа insert, delete, update на подписчике.
· Используйте горизонтальные фильтры.

[Содержание]

Повышение производительности при применении первоначального моментального снимка

Применение первоначального снимка может занимать довольно-таки значительное количество времени, особенно если вы переносите большой объем данных по сети или у вас низкое качество соединения. Следующие примеры показывают увеличение производительности Shapshot-агента при оптимизации параметра -MaxBCPThread и при использование параметра -UseInprocLoader

[Содержание]

Использование параметра -MaxBCPThread

В репликации транзакций, параметр -MaxBCPThread может быть применен как к Shapshot-агенту, так и к Distribution-агенту. Данный параметр указывает количество параллельно выполняемых операций bulk-copy. Максимальное количество потоков и ODBC-соединении, которые могут быть выполнены одновременно - это и есть значение параметра -MaxBCPThread.
Параметр - MaxBCPThread должен иметь значение больше нуля и может быть не лимитирован по значению. По умолчанию, используется значение равное 1. Когда данный параметр используется у Shapshot-агента, он влияет на время генерации файла моментального снимка. Если данный параметр используется у Distribution-агента, он влияет на время применения изменений на подписчике.
Так как Shapshot-агент производит массовое копирование всех данных указанной публикации, он записывает полную публикацию по указанному пути. Следовательно, "быстрая" дисковая подсистема позволит быстро считывать и записывать данные на диск, уменьшая время формирования файла моментального снимка. Это также применимо для Distribution-агента, который "применяет" снимок на подписчике. В тестовых примерах, которые будут показаны ниже, использовались разные диски для хранения файлов журнала транзакций и хранения файлов моментальных снимков.
Выигрыш в производительности при использовании параметра MaxBCPThread также зависит от количества процессоров сервера. Установка высоких значений для MaxBCPThread может сильно загрузить систему, так как система должны расходовать очень много ресурсов для управления процессами. Использование количества потоков, большего чем количество статьей в какой-либо публикации (естественно надо выбрать какое-либо среднее значение) не предоставит вам дополнительных преимуществ. В представленном ниже примере, публикация имеет сем статей, общий размер которых 228 мегабайт.

Публикация №1
ArticlesTotal rows Reserved size (KB)Index size (KB)
CUSTOMER120,00019,9844.032
PAYMENT120,00011,2802,848
ORDERS374,00082,20822,416
NAMES120,0007,05632
CUSTOMER_HISTORY120,00023,74464
PAYMENT_HISTORY120,0008,44864
ORDERS_HISTORY374,00075,376192
TOTAL1,348,000228,09629,648

[Содержание]

Генерация начального снимка Shapshot Agent'ом

Следующие данные были получены на двухпроцессорном сервере: 450 Mhz Xeon, RAM 256Mb. При установленном значение параметра -MaxBCPThreads в "7", время генерации снимка в 1.6 раза происходит быстрее, чем когда данный параметр имеет значение равное "1". На однопроцессорной машине, использование значение "7" для параметра -MaxBCPThreads ускорило генерацию снимка в 1.27 раза относительно результата для значения равного "1". Установка значения "7" на однопроцессорной системе не дает существенных преимуществ, и только больше загружает процессор.

ПроцессорMaxBCPThreads = 1 MaxBCPThreads = 3MaxBCPThreads = 7
2 процессора122 сек84 сек76 сек
1 процессор122 сек96 сек96 сек

[Содержание]

Применение начального снимка Distribution Agent

Следующие данные показывают, что на двухпроцессорной машине, при использование значения "7" для параметра -MaxBCPThreads, применение начального снимка происходит в 1.3 раза быстрее, чем при использовании значения равное "1". На однопроцессорной машине, CPU является, скажем так, "узким местом" и изменение данного значения не даст прироста в производительности. При использование значения "7" для параметра -MaxBCPThreads, применение снимка происходит в 1.3 раза быстрее, чем при использовании значения равного "1". Использование двухпроцессорной машины, несомненно, дает больше прирост производительности, чем использование однопроцессорной машины. Применение снимка происходит в 1.75 раз быстрее, чем на однопроцессорной машине.

ПроцессорMaxBCPThreads = 1 MaxBCPThreads = 3MaxBCPThreads = 7
2 процессора120 сек98 сек92 сек/td>
1 процессор148 сек144 сек144 сек

[Содержание]

Использование параметра -UseInprocLoader

Данный параметр может быть использован Distribution-агентом во время применения снимка на подписчике. Когда используется указанный параметр, Distribution-агент будет использовать BULK INSERT операции, что уменьшает время, необходимое для применения первоначального снимка на подписчике. Для увеличения производительности репликации в дальнейшем используйте параметр -UseInprocLoader совместно с параметром -MaxBCPThread. Следующий пример показывает публикацию, включающую в себя 10 статей общим объемом 46 мегабайт.

Публикация №2
ArticlesTotal rows Reserved size (KB)Index size (KB)
CUSTOMER60,0007,9441,968
PAYMENT60,0005,6401,424
ORDERS187,00029,89611,144
NAMES5,76532816
PRODUCTS10,000904264
INTERESTED_IN6,0001,216752
STATE2006448
SHIPPERS514032
SHIP_TYPE114032
REGION24032
TOTAL329,02946,11215,712

Когда вы используете только параметр -UseInprocLoader, снимок применяется в 1.4 раза быстрее, чем без использования данного параметра. Когда -UseInprocLoader используется совместно с параметром -MaxBCPThread с установленным значением равным "5", снимок применяется в 2.1 раза быстрее.

Время применения снимка на подписчике

Без параметров-UseInprocLoader -UseInprocLoader, -MaxBCPThread = 5
36 секунд25 секунд17 секунд

В последнем примере вы можете наблюдать явное увеличение производительности. По умолчанию, данный параметр не используется, потому что он негативно влияет на количество свободной памяти на издателе и пропускную способность сети. Для начала я бы рекомендовал использовать данный параметр для подписчика с небольшим кол-вом публикаций и некоторое время понаблюдать за работой сервера. Я использовал данный параметр для подписчика с 2-мя публикациями по 3 таблицы в одной публикации и с 1 таблицей во второй публикации. При этом количество появления интернет-заказов в минуту для нашей системы увеличилось приблизительно в 3-3.5 раза. То есть, если раньше время появления заказа в системе шло со скоростью 1 заказ в 2 минуты (причем по так и не выясненным причинам), то на данный момент это происходит со скоростью 2-3 заказа в 1 минуту.
Для установки данного параметра в Enterprise Manager выберите необходимого Distribution-агента, и в свойствах агента на вкладке Step выберите шаг "Run agent" и добавьте параметр -UseInprocLoader.

[Содержание]

Использование сжатых моментальных снимков

Использование данной опции рекомендуется, когда вы используете pull или удаленного push подписчика. Эта опция также предоставляет дополнительные возможности, когда вы используете для размещения снапшотов FTP. Сжатие файлов моментальных снимков в указанном для хранения снимков пути может уменьшать размер дискового пространства, необходимого для хранения файлов снимков и, в некоторых случаях, может увеличить производительность, когда есть необходимость передать файл снимка по линии с низким качеством связи. Однако, сжатие файлов снимков требует дополнительного расхода ресурсов системы при создании и применении файла моментального снимка. А это, соответственно, может привести к увеличению времени генерации и применения снимка. В публикации №2, состав которой был приведен выше, Shapshot-агент создаёт 20 файлов, включая файлы со схемами данных и файлы данных, общий размер которых составит 130 мегабайт. Если Вы используете сжатие указанных файлов, Shapshot-агент создаст .cab файл размером около 65 мегабайт, фактически подписчику нужно загрузить вдвое меньший файл. Несмотря на это, для хранения сжатых файлов снимков требуется больше места на диске. Сжатые снимки могут занимать больше места на дистрибуторе (сохраняется и сжатый снимок, и обычный снимок), также время генерации файла снимка увеличивается приблизительно в 4.5 раза по сравнению со временем, необходимым для генерации несжатого файла снимка, т.к. оно расходуется на сжатие файла снимка.

[Содержание]

Использование параллельных процессов для генерации снимка

Когда Вы используете установки по умолчанию для генерации файла снимка, SQL Server накладывает разделяемую блокировку на все таблицы, включенные в статью для репликации. Это предотвращает изменение данных во время генерации файла снимка. При параллельных процессах генерации снимка (доступно только для репликации транзакций) также происходит наложение разделяемой блокировки, но на непродолжительное время, т.е. все пользователи могут спокойно продолжать работать с данными.
Когда Вы создаете новую публикацию, используя репликацию транзакций и указываете, что все подписчики будут работать под управление SQL Server 7.0 или SQL Server 2000, только тогда возможно будет использовать параллельные процессы для генерации файлов снимка.
После старта репликации, Shapshot-агент накладывает разделяемую блокировку на публицируемые таблицы. Наложение блокировки позволяет предотвратить изменение данных, помеченных для генерации снимка. В это время происходит запись в журнал транзакций времени начала генерации снимка. После окончания генерации снимка, блокированные ресурсы освобождаются и пользователи могут модифицировать данные. Продолжительность блокировки, естественно, зависит от количества данных, необходимых для копирования.
После окончание генерации снимка, происходит вторая запись в журнал, показывающая время окончания генерации снимка. Любые транзакции, изменившие данные в публицируемых таблицах и успешно завершенные в указанный промежуток времени, считываются Log Reader и записываются в базу распределения. Когда снимок применяется на подписчике, Distribution-агент сначала применяет файлы снимка (схема и данные). Затем, для согласования данных каждой завершенной транзакции, идет проверка, применялась ли данная транзакция на подписчике. Во время процесса согласования данных, таблицы на Подписчике блокируются, транзакции ожидают освобождения блокировки и будут применены на Подписчике только после освобождения таблиц.
Несмотря на наличие параллельных процессов генерации создания снимков, дополнительные операции ввода-вывода при записи на диск файлов снимков могут существенно снизить производительность. Поэтому, если это возможно, определите время для создания снимка во время небольшой активности сервера.
Для SQL Server 2000 использование параллельных процессов генерации файлов снимков не рекомендуется, если публицируемая таблица имеет уникальный индекс без первичного ключа или кластерного. Если изменения данных затрагивают кластерный ключ, когда начался параллельный процесс генерации снимка, репликация может обвалиться с ошибкой "duplicate key".

[Содержание]

ССЫЛКИ НА СТАТЬИ

Отечественные статьи

Самообслуживание в информационных системах
Количественные показатели (производительность серверов, пропускная способность каналов, объемы хранимой информации и т.д.), такие впечатляющие цифры, как размеры инвестиций, и такие внешне заметные признаки, как количество мониторов на рабочих столах, создают полную иллюзию совершенства современных информационных систем. Впрочем, если попытаться выйти из плена искусственно создаваемой технологической эйфории, совсем несложно убедиться в обратном. Уже много лет видные экономисты говорят о «парадоксе продуктивности», понимая под этим отсутствие строгих доказательств экономической эффективности ИТ. Не всегда их аргументы точны, однако даже с учетом видимых изъянов в их рассуждениях, нельзя не признать: на самом деле прогресс, достигнутый на этом поприще, пока достаточно скромен...
Как добиться успеха в безнадежных проектах
Многим руководителям ИТ-проектов знакомы ситуации, когда прекрасно спланированный процесс не укладывается во временные рамки. Несмотря на то что сроки были определены с запасом, одни модули «забирают» все доступные ресурсы, другие сразу после появления на свет удаляются за ненадобностью, а постоянные изменения требований окончательно разрушают проект...
Международные стандарты качества ISO 9000
Глобализация экономики и развитие международных торговых и производственных связей повышают требования, предъявляемые потребителями к качеству продукции. Для подтверждения качества продукции, предлагаемой различными поставщиками, необходимо наличие международных стандартов качества и соответствующих им документов - сертификатов качества, признаваемых в разных странах мира. До середины 80-х годов такими стандартами являлись различные национальные и международные стандарты качества на товары и услуги. На рубеже десятилетия ситуация изменилась...
Pазвертывание приложения использующего dbExpress на примере Delphi 6
Начиная с Delphi 6 в палитре компонентов появилась новая закладка dbExpress. В настоящее время данные "кирпичики" широко используются в приложения для доступа к различным базам данных. Однако развернув готовое приложение на компьютере, без установленной Delphi, разработчик недоумевает о неработоспособности приложения. Возникает резонный вопрос: ЧТО ДЕЛАТЬ?...
MS SQL 7.0: Restore database
Очень часто приходится отвечать на вопрос "как восстановить базу данных в MS SQL 7.0" c уточнением, что при попытке выполнения комманды RESTORE DATABASE сервер ругается...
Управление WEB-формой из пользовательского компонента
Многократное использование единожды написанного и отлаженного кода - одна из важнейших задач, решение которой в той или иной мере обеспечивают практически все современные системы программирования. Не исключение здесь и технологии ASP.Net, предоставляющие разработчику возможность не только использовать поставляемые в стандартной комплектации WEB-компоненты, но и создавать свои собственные...

[Содержание]

Новые технические статьи Microsoft

BUG: Cannot Upload Null Values in Sql_variant Data Type by Using SQL Server CE Merge Replication
BUG: Error 14274 When Updating a SQL Agent Job After Renaming Windows Server
FIX: BCP Import with Extended Character as a Column Delimiter Fails
FIX: Installation Fails When Windows Computer Name Is Mixed or Lowercase
FIX: Optimizer May Consume Too Much Memory if Address Windowing Extensions (AWE) is Enabled
FIX: Property_Content_Type Is Set to 0 in Local Cube When You Use the CREATE GLOBAL CUBE Statement
FIX: SQL Server Grants Unnecessary Permissions or an Encryption Function Contains Unchecked Buffers
FIX: Subquery That Returns One Row May Cause CPU Spin and Excessive Optimizer Memory Usage
FIX: Text Truncated in Replication Property Page with Japanese Locale
FIX: The SELECT Statement with Parallelism Enabled May Cause an Assertion
Handle Leak Occurs in SQL Server When Service or Application Repeatedly Connects and Disconnects with Shared Memory Network Library
HOW TO: Add Columns in a Rollup Subscriber Topology
HOW TO: Archive and Restore an Analysis Services Database from the Command Prompt in SQL Server 2000 Analysis Services
HOW TO: Archive More Than Six SQL Server Error Logs
HOW TO: Author MSDE 2000 Setup Packages by Using Visual Studio .NET
HOW TO: Backup the Last Transaction Log When the Master and the Database Files Are Damaged
HOW TO: Change Domains for a SQL Server 2000 Failover Cluster
HOW TO: Change the Owner of a User-Defined Data Type That Is in Use in SQL Server 2000
HOW TO: Change the SQL Server 2000 Pull Subscription Working Directory
HOW TO: Change the SQL Server Service Account Without Using SQL Enterprise Manager in SQL Server 2000
HOW TO: Change the Temp Database Location in SQL Server CE
HOW TO: Cluster SQL Server 2000 Analysis Services in Windows 2000
HOW TO: Configure Memory for More Than 2 GB in SQL Server
HOW TO: Configure Security for Log Shipping
HOW TO: Create a Data Transformation Services Custom Task by Using Visual C# .NET
HOW TO: Create a Database, a Table, and Run a Query (SQL Server CE Sample)
HOW TO: Create a DTS Custom Task by Using Visual Basic .NET
HOW TO: Create a Package With Visual C++
HOW TO: Create Patch Files for the MSDE 2000 Sample.msi File
HOW TO: Create, Edit, and Execute Stored Procedures in Visual InterDev
HOW TO: Debug an Extended Stored Procedure
HOW TO: Determine Proper SQL Server Configuration Settings
HOW TO: Dynamically Number Rows in a Select Statement
HOW TO: Enable Replication Agents for Logging to Output Files in SQL Server
HOW TO: Enable SSL Encryption for SQL Server 2000 with Certificate Server
HOW TO: Enable SSL Encryption for SQL Server 2000 with Microsoft Management Console
HOW TO: Enforce Uniqueness For All Non-Null Values (ANSI UNIQUE CONSTRAINT)
HOW TO: Handle Data Transformation Services Package Events in Visual C# .NET
HOW TO: Handle Errors in Data Transformation Services "Package" and "Step" Objects
HOW TO: Identify the Cause of Recompilation in an SP:Recompile Event
HOW TO: Identify Your SQL Server Service Pack Version and Edition
HOW TO: Implement a SQL Server 2000 Desktop Engine Callback Function and Example
HOW TO: Import XML into SQL Server with the XML Bulk Load Component
HOW TO: Increase the Number of SQL Server Error Logs
HOW TO: Install Data Transformation Services (DTS) Event Handlers in Visual Basic
HOW TO: Install SQL Server 2000 - Basic Local Installation
HOW TO: Iterate Through a Result Set by Using Transact-SQL
HOW TO: List Database Properties Settings
HOW TO: List the Results of a SELECT Query on a Table by using SQL-DMO
HOW TO: Log Data Transformation Services Package Execution to a Text File
HOW TO: Manage the SQL Server Desktop Engine (MSDE 2000) by Using the Osql Utility
HOW TO: Manually Remove SQL Server 2000 Default, Named, or Virtual Instance
HOW TO: Manually Synchronize Replication Subscriptions by Using Backup or Restore
HOW TO: Move a Database Diagram
HOW TO: Move Databases Between Computers That Are Running SQL Server
HOW TO: Move Extended Stored Procedures Out of Process
HOW TO: Obtain a List of DTS Packages
HOW TO: Obtain and Install SQL Server 2000 Desktop Engine (MSDE 2000)
HOW TO: Obtain the Current Day with a MDX Query or Expression in SQL Server 2000 Analysis Services
HOW TO: Pass a Variable to a Linked Server Query
HOW TO: Perform a SQL Server 7.0 Distributed Query with OLAP Server
HOW TO: Populate a SQL Server 2000 Database with Information from Active Directory
HOW TO: Prebuild a Database in SQL Server CE
HOW TO: Process Results in an Embedded SQL Application
HOW TO: Program the SQL Merge Control by Using Visual Basic .NET
HOW TO: Program the SQL Merge Control by Using Visual C# .NET
HOW TO: Program the SQL Snapshot and SQL Distribution Control by Using Visual Basic .NET
HOW TO: Program the SQL Snapshot and SQL Distribution Control with Visual C# .NET
HOW TO: Refer to a Just-Inserted Record in a SQL Server 7.0
HOW TO: Remove a SQL Server Service Pack
HOW TO: Remove the IDENTITY Property from an Existing Column in SQL Server 2000
HOW TO: Remove the IDENTITY Property from an Existing Column in SQL Server 7.0
HOW TO: Resolve "The Maximum Connection Limit Has Been Reached" Error Message
HOW TO: Resolve Permission Issues When You Move a Database Between Servers That Are Running SQL Server
HOW TO: Retrieve a Table or Rows from Database or Transaction Log Backups
HOW TO: Return Multiple Columns in a DTS Lookup Query
HOW TO: Rotate a Table in SQL Server
HOW TO: Schedule a Package with Visual C++ in SQL Server 2000
HOW TO: Send E-Mail Without Using SQL Mail in SQL Server
HOW TO: Set Up Alternate Synchronization Partner in SQL Server 2000 Merge Replication
HOW TO: Show Expanding Hierarchies by Using SQL Server
HOW TO: Shrink the Tempdb Database in SQL Server
HOW TO: Store and Retrieve an Image File with SQL Server CE and eVB
HOW TO: Synchronize Mobile Databases by Using SQL Server CE Relay
HOW TO: Troubleshoot a SQL Server Desktop Engine 2000 Installation and Upgrade
HOW TO: Troubleshoot DTS Packages That You Run from Visual Basic Applications
HOW TO: Troubleshoot Error 15401
HOW TO: Troubleshoot Slow-Running Queries on SQL Server 7.0 or Later
HOW TO: Troubleshoot SQL Server Error 8645
HOW TO: Troubleshoot the "Setup Failed to Perform Required Operations on the Cluster Nodes" Error
HOW TO: Troubleshoot Your SQL Mail Issue
HOW TO: Use Extended Stored Procedures
HOW TO: Use Replication with SQL Server 2000 Desktop Engine (MSDE 2000)
HOW TO: Use sp_OA Stored Procedures and SQL Distributed Management Objects (SQL-DMO) to Script Out Jobs in SQL Server
HOW TO: Use the DisallowAdHocAccess Setting to Control Access to Linked Servers
HOW TO: Use the sp_fixindex Stored Procedure
HOW TO: Use the SQL Server CE Connectivity Management Utility
HOW TO: Use the SQLIOStress Utility to Stress a Disk Subsystem Such as SQL Server
HOW TO: Using DB-LIBRARY in a Threaded Application
HOW TO: Verify and Change the System Administrator Password by Using MSDE
HOWTO: Connect to a SQL Server 2000 Named Instance with JDBC
HOWTO: Retrieve @@IDENTITY Value Using JDBC
INF: Clustered SQL Server Do's, Don'ts, and Basic Warnings
INF: How to Add or Modify SQL Server Licenses
INF: Information That PSS Needs to Troubleshoot SQL Server Replication
INF: SQL Server 2000 Security Update for Service Pack 2
INF: Trace Flag 8816 to Help Year 2000 Conversion
INF: Transaction Log Grows Unexpectedly or Becomes Full on SQL Server
INF: Transact-SQL Debugger Is Turned Off By Default for Earlier Clients After You Install SQL Server 2000 Service Pack 3
PRB: User in Two Roles May Cause Query Execution Failure

[Содержание]

Англоязычные статьи

Alternatives to SQL Backups
Andy Warren
When most of think about doing a backup, we think a SQL backup to disk or tape - or for the more adventurous, using the capabilities of a third party backup solution to do the same thing. Some combination of full, differential, and log backups (you ARE doing log backups aren't you) gives us the ability to recover if something bad happens.
Hidden Connections
Steve Jones
It seems that I encounter my fair share of problems. On the same day that I got slowed by the Target Server issue, I also got around to checking on my push logs log transfer job I had implemented. It was failing miserably and I decided today was the day that I would find out why.
Yukon will appear in the middle of 2003 ...
Svetlana Kuvshinkova
The Microsoft corporation prepares a 64-bit DBMS and the DBMS of the following generation, which was given the title Yukon, and is offered first of all as the base of data repositories and will allow to reduce to minimum periods of idle time of a database server. The release of Yukon beta-version and 64-bit SQL Server version which was given the title SQL Server 2000 64-bit, is scheduled at the beginning of 2003.
Some tips on SQL Server server performance monitoring
Svetlana Kuvshinkova
Processor : % Processor Time - shows CPU loading. In the multiprocessing system diagnostics of loading, both of each processor separately and all together, is possible. In addition, the same parameter can be used for definition of the processor utilization by each stream. If the meter Processor : % Processor Time shows average value in a range from 80 up to 100 percents it is, as a rule, testifies a problem with productivity of a processor subsystem of your server. It is necessary to take measures on scaling the system or re-configuration.
CHECK It Out
Itzik Ben-Gan
Using a CHECK constraint to validate IP addresses. T-SQL problems have a way of tricking programmers. At first glance, those problems look so simple that you're certain you'll need only a few minutes to solve them. However, after you start working on a solution, you realize that the problem isn't so simple after all. Validating IP addresses can be one of those problems. In particular, you might be stymied when you try to write a CHECK constraint that validates character strings containing IP addresses entered into a table column. I found this challenge interesting because I had to perform T-SQL acrobatics and exhaust my bag of tricks before devising a solution. As I share my conclusions in this article, I assume that you know how to use the LIKE predicate to write simple CHECK constraints and pattern searches and that you're familiar with basic string-manipulation functions such as CHARINDEX(), REPLACE(), SUBSTRING(), LEFT(), and RIGHT(). For each part of the solution, I've provided complete Web listings that you can download from http://www.sqlmag .com, InstantDoc ID 26728.
The 64-Bit Era
Michael Otey
With Intel's release of the Itanium 2 processor and AMD's imminent release of its Opteron chip, the era of mainstream 64-bit computing is fast approaching. Three factors will drive adoption of the new 64-bit platform: hardware support, OS support, and application support
SQL Server and Oracle: Making the Connection
John Paul Cook
Linked servers can bring your SQL Server and Oracle databases together. Suppose you have a Microsoft .NET-enabled Internet ordering system but your warranty system is a legacy Oracle database application. You don't want to bill your commercial customers when they place orders for warranty replacement parts, so you need realtime answers from your Oracle database. Creating a linked server lets you use SQL Server to query your Oracle database in realtime to find out who your existing customers are.
Put Data Mining to Work
Jim Yang, ZhaoHui Tang, Sanjay Soni, Kamal Hathi
Discover who your customers really are. Data mining helps users find hidden patterns and useful business information in large data sets. Corporations can use these patterns and rules to improve their marketing, sales, and customer-support operations by better understanding their customers. These patterns can help solve many business problems, such as figuring out which customers are most likely to leave or discovering what other products certain customers are most likely to be interested in. In these scenarios, the key activities are discovering inherent (but not always obvious) patterns in the data and then, based on the patterns, making predictions.
Scripting a Custom Database Installation
William Sheldon
Packaging a SQL Server database for installation as part of a custom application can be challenging. Your most important task is moving the database's tables, procedures, and related objects cleanly. Other tasks, such as packaging the database instance's backup, carry added peril, preventing you from specifying new user accounts and the primary data file's name. However, you can use Microsoft Windows Installer with a set of custom VBScript and T-SQL scripts to package and custom-install your database with remarkable efficiency. In this article, I use T-SQL scripts generated from SQL Server 2000. You can use the installation to create either a SQL Server 2000 or SQL Server 7.0 database.
Hands-On XML
Wei-Meng Lee
SQL Server 2000 is an XML-enabled database server. If you set up your Microsoft IIS system to take advantage of SQL Server 2000's XML capabilities, you can use a browser to access database records—without writing a single line of ADO code.
Loading a Series of Flat Files
Andy Jones
I recently faced a requirement to load a number of flat files to a SQL Server 2000 database on a nightly basis. The customer also wanted the ability to load a single file as an ad-hoc request. The files were placed within a directory on the database server by a third party piece of software. I have seen a number of questions to deal with similar tasks in threads on this site, here is how I solved this task using the extended stored procedures xp_DirTree, xp_FileExist and xp_CmdShell (which are available within the master database although the first two are undocumented in Books Online) together with a DTS package. My original solution included various error logging that I have omitted here for brevity.
EMC, Microsoft Team On Groundbreaking SQL Server SANs
Industry Leaders Develop 45 Terabyte SAN; EMC Automated Networked Storage Technology Provides Foundation for SQL Server Labs
ORLANDO, FLA (Storage Networking World) -- Oct. 29, 2002 --Technology industry leaders EMC Corporation and Microsoft Corp. have teamed to develop the largest Microsoft SQL Server (TM) storage area network (SAN) ever built. The joint engineering activity, conducted at Microsoft's SQL Server Labs in Redmond, Wash., resulted in a 45-terabyte configuration that included a simulated 10-terabyte human genomics database. The project highlights the scalability and flexibility of SQL Server 2000 and will be used to showcase total-cost-of-ownership, management and performance benefits of large-scale automated networked storage environments.

[Содержание]

ПОЛЕЗНОСТИ

Человек несовершенен. И это явственно прослеживается в историях взаимоотношений администраторов баз данных и Microsoft SQL Server. Забытое сделаться вовремя архивирование базы - типичный наглядный пример такого несовершенства. Что здесь сыграло, забывчивость, случай или "авось", уже становиться совершенно неважным в ситуации, когда администратор остается один на один с убитым диском, на котором располагался журнал транзакций, единственным сохранившимся файликом MDF и статусом базы "suspect". Ощущая холодные мурашки, администратор явственно себе представляет сколько важных данных оказалось положено на алтарь нерадивости, какие это может иметь последствия лично для него, и лихорадочно пытается найти выход из создавшегося положения. Обращения на форумы к коллегам и (как заключительный этап) поиски в документации дают ценнейшую пищу к дальнейшим размышлениям: наличие в составе MSSQL гениальных по абсолютной бесполезности процедур sp_resetstatus и sp_attach_single_file_db. Танцы с бубном и шаманские заклинания не уменьшают безрезультативность конвульсивных попыток использования этих средств. Зато количество вышеупомянутых мурашек начинает возрастать, так как других средств восстановить данные (хотя бы по большей части) первоисточники больше не упоминают. Практически безвыходная ситуация до недавнего времени. Теперь же появилось средство, помогающее в такой безнадежной ситуации - новая утилита, с которой можно познакомиться на сайте http://forcedattach.nm.ru
Утилита "MDF forced attacher" позволяет произвести "принудительное" присоединение MDF-файла к SQL-серверу, заново создает журнал транзакций и делает получившуюся базу работоспособной и целостной. Естественно, восстановлены данные будут только те, которые были сохранены в MDF-файле в целостном состоянии. Данные из незавершенных транзакций или которые были не до конца записаны из кэша, будут утеряны (обычно, это данные последних минут работы). Зато остальные данные (подавляющее большинство) будут спасены.
Утилита предназначена для работы только с MSSQL версий 7.0 и 2000 и только для спасения данных в экстремальной ситуации, когда имеется в наличии только MDF-файл, а других способов восстановления не остается.

[Содержание]

ФОРУМ SQL.RU

Самые популярные темы недели

Линк к гадскому ORACLE... Выполнение "его" процедур?!?
Интересно, реально ли выбрать одну случайную запись из таблицы [new]
ADO и миллисекунды
Значение переменной по её имени ? [new]
2 Хранение дат за любой период 2 [new]
Mozno li derzat MDF/LDF files na drugom servere?
Помогите SQL20002 + 1C неделю Бъюсь [new]
Конфигурация сервера для MSSQL 2000
задачка для развлечения :); [new]
Корефеи! Простой вопрос (Курсоры).... [new]
Помогите с репликациями!!!
Помогите, пожалуйста, составить SQL-запрос по дням(без выходных)
Как статические данные в условии where превратить в динамические
Русские названия полей, таблиц и.т.д. [new]
Что такого хитрого делает INSERT?
Беда с запрососм
Разобрать строку
"Пустое значение" Null [new]
InstallShield&SQL
minus в PL/SQL, а как в TransactSQL ? [new]
Insert данных
SQL запросы вешают сервер
подскажите как отследить какие данные возвращает запрос
Если имя поля Date

[Содержание]

Вопросы остались без ответа

MSSQL <-> MySQL - автоматическая репликация? [new]
MS SQL --> OLE-объект --> DELPHI
Подскажите где взять ODBC Для CLARION
Блокировки
Solution
Как использовать оператор Group By With Rollup в гриде (Delphi)?
MSSQL2000: SoundEx
Ошибка при создании дистрибьютера
Msg 3628: A floating point exception occurred in the user process
UNIQUEIDENTIFIER ?

[Содержание]

#116<<  #117

Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру Гладченко на адрес: mssqlhelp@pisem.net

sql.ru Описание рассылки

МИНИФОРМА
ПОДПИСКИ




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное