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

MS SQL Server

  Все выпуски  

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


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


#172<<  #173

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.Счётчики производительности SQL Server и Windows (окончание)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Новые и обновлённые технические статьи Microsoft
2.3.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.ПОЛЕЗНОСТИ
4.1.Как произвести поиск строки по всей базе данных?
4.2.Публикация баз данных в Интернете
4.3.XML для профессионалов
4.4.Введение в OLAP-технологии Microsoft
4.5.Базы данных: модели, разработка, реализация. Учебник

СОВЕТЫ

Счётчики производительности SQL Server и Windows (окончание)

1.    Введение
2.    Анализ узких мест
3.    Счётчики
4.    Типы счётчиков
5.    Память
5.1. Поиск узких мест использования памяти Windows 2000
5.2. Наборы счётчиков мониторинга памяти
5.3. Системная таблица sysperfinfo
5.4. Диагностика всплесков отложенной записи
6.    Процессор
6.1. Поиск узких мест использования процессора Windows 2000
6.2. Набор счётчиков мониторинга процессоров
7.    Дисковая подсистема
7.1. Поиск узких мест использования дисковой подсистемы сервера Windows 2000
7.2. Набор счётчиков мониторинга дисковой подсистемы
8.    Сеть
8.1. Поиск узких мест сети
8.2. Набор счётчиков мониторинга сети
9.    Встроенные средства контроля производительности SQL Server
9.1. Статистические системные функции
9.2. Системная таблица spt_monitor и процедура sp_monitor
9.2. DBCC SQLPERF(...)

10. Восстановление счётчиков производительности

Счётчики производительности наиболее часто используются для контроля работы приложений, запускаемых в качестве службы (сервиса) Windows. Такие счётчики есть практически у всех сервисов, поставляемых с операционной системой или в комплекте поставки разнообразных серверов Microsoft. Одним из таких серверов является MS SQL Server.
Как правило, необходимый набор счётчиков представляет из себя отдельную компоненту, реализованную в виде DLL. Данные об устанавливаемых счётчиках сохраняются в реестре операционной системы. Доступ к счётчикам и их значениям осуществляется через стандартный интерфейс. На представленном ниже рисунке показана архитектура счётчиков производительности, реализованная в операционной системе Windows NT:

Начиная с Windows NT, стали поставляться локализованные версии операционных систем. С этим связана одна из проблем, возникающая на локализованных Windows NT и Windows 2000, которая проявляется в том, что счётчики производительности для какого-либо не локализованного сервера, устанавливаемого на локализованную ОС, не отображаются в Performance Monitor (System Monitor).

10.1. Проблемы локализации

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


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\

должна иметь два контейнера для английской (009) и для русской (019) версий счётчиков:


HKEY_LOCAL_MACHINE
    \SOFTWARE
        \Microsoft
            \Windows NT
                \CurrentVersion
                    \Perflib
                         \009
                         \019

Если один из разделов отсутствует, можно с помощью входящей в комплект операционной системы утилиты regedt32 скопировать имеющийся контейнер (например, сохранив его в файл), а потом добавить его содержимое в новый контейнер в указанной выше ветке реестра.
Ниже представлен очень сокращённый пример содержимого контейнера 019, сохранённого в файл 019.reg


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\

должна иметь два контейнера для английской (009) и для русской (019) версий счётчиков:


Раздел:          SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\019
Название класса:        <Класс отсутствует>
Последнее время записи:   01.01.1601 - 3:00
Параметр 0
  Название:            Counter
  Тип:            REG_MULTI_SZ
  Значение:            1
                 1847
                 2
                 Система
                 4
                 Память
                 6
                 % загруженности процессора
           
 
Параметр 1
  Название:            Help
  Тип:            REG_MULTI_SZ
  Значение:            3
                 Объект 'Система' (System) содержит счетчики, которые относятся 
                 ко всем процессорам данного компьютера в целом. Эти счетчики 
                 отражают активность всех процессоров данного компьютера.
                 5
                 Объект 'Память' (Memory) содержит счетчики, которые описывают 
                 поведение как реальной, так и виртуальной памяти данного 
                 компьютера. Реальная память выделяется блоками фиксированного 
                 размера, которые называются страницами. Виртуальная память может 
                 превосходить реальную по размерам, что вызывает выполнение 
                 страничного обмена (или подкачки) - процесса, в результате которого 
                 виртуальные страницы памяти перемещаются с диска в реальную 
                 оперативную память.
                 7
                 Загруженность процессора (Processor Time) - это процентное 
                 отношение времени, которое процессор был занят выполнением 
                 операций для не простаивающих потоков (non-Idle thread). Эту 
                 величину можно рассматривать как долю времени, приходящегося на 
                 выполнение полезной работы. Каждый процессор может быть назначен 
                 простаивающему потоку, который потребляет непродуктивные циклы 
                 процессора, не используемые другими потоками.

Обратите внимание на то, что в этом файле существуют два раздела, относящиеся к ключам системного реестра Counter и Help. Запись о каждом счётчике производительности в разделе Counter содержит чётный идентификатор счётчика и его название. В разделе Help хранится краткое описание назначения счётчика, которое имеет нечётный идентификатор, равный идентификатору соответствующего счётчика увеличенному на единицу. Такая организация идентификации счётчиков легко видна в представленном выше примере значений ключа реестра:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\019

Посмотрите на счётчик с идентификатором 2 - "Система", у которого описание имеет идентификатор 3 и содержит текст: "Объект 'Система' (System) содержит счетчики, которые…".

10.2. Ошибки в реестре

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


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

Это ключи: Last Counter и Last Help. По-видимому, значения этих ключей иногда понимается буквально, исходя из их названия. Увы, это не так. В этих ключах системного реестра хранятся не последние идентификаторы, а значения, которые должны быть больше самых больших значений идентификаторов счётчиков и их описаний соответственно. Таким образом, для русской локализации, в ключе:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\ Last Counter

Должно быть чётное значение, большее самого большого значения идентификатора счётчиков в ключах:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009\Counter

и


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\019\Counter

А для ключа:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\ Last Help

Необходимо не чётное значение, которое больше максимальных значений в ключах:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009\ Help

и


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\019\ Help

Если Вы обнаружили, что значения Last Counter и Last Help меньше или равны значениям максимальных идентификаторов Counter и Help, можете исправить это с помощью утилиты regedt32.

10.3. Дефектные DLL

Третьей причиной, из-за которой могут возникать проблемы со счётчиками производительности, это расширения для счётчиков производительности, оформленные в виде DLL, которые поставляются третьими фирмами. Ошибки в таких DLL могу приводить к проблемам в работе не только со счётчиками, которые устанавливаются для сервисов этих фирм, но и для других счётчиков. Что бы решать такие проблемы, необходимо найти и отключить дефектную DLL. Делается это простым, но хлопотным способом. Все относящиеся к счётчикам производительности DLL должны быть описаны вместе с обслуживаемыми ими сервисами, т.е. в ветке реестра:


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

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


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\service name\Performance

Для удобства, можно воспользоваться утилитой regedit и выполнять поиск по ключевому слову Performance. После каждого переименования, необходимо перезагружать операционную систему и проверять, исчезла ли проблема со счётчиками. Например, можно переименовывать таким образом: OrigLib.DLL заменяем на хxOrigLib.DLL.
После нахождения дефектной DLL, все остальные, переименованные DLL нужно переименовать в их прежние имена.

10.4. Недостаток прав пользователя

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

10.5. Переустановка счётчиков

После того, как Вы локализовали проблему со счётчиками, Вам, возможно, понадобится их переустановить. В случае MS SQL Server 2000 Вы можете удалить и повторно установить только компоненту счётчиков, воспользовавшись программой установки.
Есть и альтернативные варианты. В форуме на SQL.RU проблема восстановления счётчиков всплывала неоднократно и вот два рецепта, которые мне особенно запомнились:

Первый рецепт, автор: KanDid


Вот мои простейшие действия: 

1. Проверить правильность ссылок в реестре 
Hkey_Local_Machine\SoftWare\Microsoft\WindowsNT\CurrentVersion\PerfLib\009\Counter 
Hkey_Local_Machine\System\CurrentControlSet\Services\MSSQLServer\Performance\Library 
2. Грохаю Per?019.dat в system32 

Вот полезные ссылки: 

MS KB: SQL Performance Monitor Counters Missing (Q227662) 


BUG: SQL Server Perf. Counters Don't Work on WinNT Server 4.0 (Q170394) 


How can I rebuild performance counter library information?

Второй рецепт, автор: Дед Маздай


Фигня какая-то творится на Корусане, как говаривал магистр Йода. Интересно, что пишет select * from master..sysperfinfo? 
Скорее всего, ничего. Ладно, если Ваш SQL Server не хочет по-хорошему, поступим так:

0.Backup всему ценному. 
1.Разрегистрируйте sqlctr80.dll и переименуйте ее в .old. 
2. Грохаю Perf?019.dat в system32
2a.Скопируйте и зарегистрируйте sqlctr80.dll из дистрибутива. 
3.Перестартните SQL Server. 
4.Откройте командное окно и зайдите в binn. 
5.Скажите unlodctr MSSQLServer. 
6.Скажите lodctr MSSQLServer. 
7.Перезагрузите тачку. 
8.Если не полегчало, скопируйте perf?009.dat c дистрибутива Windows в system32 и перезагрузитесь еще раз. 
9.Скажите regrebld.exe. 
10.Запустите procsyst.sql из \install. 
Если не спасет, не знаю, остается только переустановка.

Кроме входящих в состав Windows утилит unlodctr и lodctr для операционных систем Windows XP и Windows 2003 появилась новая утилита, позволяющая переустанавливать счётчики производительности - это утилита командной строки wmiadap которую запускают с ключом /f.

ПРЕДОСТЕРЕЖЕНИЕ: Предлагаемые в этой статье операции с изменением значений ключей системного реестра, при неверном или ошибочном их исполнении, могут привести к отказам в работе установленного программного обеспечения или даже к краху системы. Если Вы решите воспользоваться любым из описанных выше способов восстановления ключей системного реестра, убедитесь, что Вы располагаете резервными копиями всей ценной информации, хранимой на компьютере и копиями системной информации (включая реестр). Необходимо выполнить все рекомендации поставщиков операционной системы и установленного на компьютере программного обеспечения по резервированию и восстановлению работоспособности системы и программ.

11. Заключение

В рамках статьи практически невозможно осветить все связанные со счётчиками производительности темы и проблемы. Здесь мы смогли рассмотреть только пороговые значения для наиболее интересных, с точки зрения мониторинга производительности MS SQL Server, счётчиков. Также, были даны рекомендации по выбору счётчиков для более детального анализа выявленных узких мест в работе программно-аппаратного комплекса. За рамками нашего рассмотрения остались вопросы и рекомендации по анализу конкретных проблем производительности компонент системы, сервера и аппаратных средств. Кроме того, для администраторов баз данных могут представлять интерес методики накопления хронологических данных по значениям ключевых счётчиков, а также их анализ и представление, для обеспечения возможности прогнозирования поведения информационной системы. Поскольку весь спектр применимости счётчиков производительности невозможно охватить усилиями одного человека, позвольте пригласить вас уважаемы читатели к сотрудничеству в рамках обозначенной этой статьёй темы. Я приглашаю вас стать авторами собственных статей или переводов, что бы наши совместные усилия смогли пролить больше света на это весьма "запутанное" дело :) Кроме рекомендаций по разрешению конкретных проблем производительности, в качестве темы самостоятельного исследования для подготовки статьи, предлагаю желающим найти не сложный и не ресурсоёмкий способ получения текущих значений счётчиков производительности не относящихся к MS SQL Server, для которого такие значения уже и так можно получить обычным селектом из таблицы sysperfinfo.

[В начало]

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

Статьи на русском языке

Защитите свои веб приложения
Timothy M. Chester
ASP: Аутентификация, основанная на использовании cookie популярна среди разработчиков, использующих Active Server Pages (ASP) потому, что это довольно простой способ, обладающий к тому же достаточной гибкостью. Однако такой способ аутентификации имеет существенный недостаток, cookies довольно просто обмануть и поэтому им не стоит особенно доверять. Любое веб приложение, безопасность которого основана на применении этого способа аутентификации подвержено риску. Корпорация Microsoft отреагировала на эту проблему внедрением более надежного и сложного механизма аутентификации на основе форм в ASP.NET (ASPX)...
Создавайте правильные индексы
Barrie Sosinsky
MSSQLServer: Индексы - это главный инструмент повышения производительности любой базы данных, но важно создать правильные индексы, иначе, вместо ускорения ваших операций, неправильный индекс может существенно замедлить исполнение Ваших запросов...
Стандартизируйте свои .NET пространства имен
Jonathan Goodyear
Пространства имен могут помочь вам организовать исходники в ваших .NET проектах, но только если у вас есть четкий план. Помните, как трудно было организовать исходные тексты COM объектов в вашей организации? У вас наверно было два имени верхнего уровня, с которыми вы и работали: имя проекта и имя класса...
Что использовать, DataReader или DataSet?
Jonathan Goodyear
ASP: Я постоянно слышу один и тот же вопрос: "Что мне лучше использовать для моего ASP.NET веб - приложения, DataReader или DataSet?". Самое большое недоразумение, которое я когда-либо читал в статьях или новостных группах, состоит в том, что DataReader (имеется в виду SqlDataReader или OleDbDataReader) лучше, чем DataSet. Иногда я встречаю абсолютно противоположное утверждение. Суть в том, что Microsoft разработал оба этих класса для доступа к данным только потому, что оба они нужны. У каждого есть свои сильные и слабые стороны, и использование какого-либо одного из них должно определяться конкретной ситуацией...
Использование динамических фильтров совместно с динамическими снимками
Александр Гладченко
MSSQLServer: Динамические фильтры в репликации позволяют использовать возвращаемые системными функциями SUSER_SNAME() и HOST_NAME() значения для выделения своих разделов данных каждому подписчику. Кроме этих функций, динамическую фильтрацию можно построить на определяемых пользователем функциях - UDF...
Методы сбора требований к программному обеспечению
Сергей Трофимов
В статье описываются методы сбора требований к программному обеспечению, которые часто применяются на этапе определения требований RUP...
Секреты Delphi. Отбор данных за месяц
Сергей Бердачук
Delphi: Завершим тему автоматизации выбора данных за заданный период функцией, которая формирует диалоговое окно, позволяющее выбрать данные за определенный месяц...
Метаданные и работа с ними
Kivals
Что такое объект Метаданные и зачем он может пригодиться? Объект Метаданные предназначен для доступа к объектам конфигурации, объявленным при ее создании (т.е. в Конфигураторе). Одна из задач, где широко используется метаданные - универсальные обработки, где заранее не известно, с какими видами объектов придется работать. Другая, не менее часто возникающая задача, - универсальная обработка атрибутов похожих но, тем не менее, различных видов объектов (например - одинаковая обработка табличных частей документов, в одном из которых есть "лишнее" поле)...
FAQ по 1С Предприятию 7.7 + MS SQL Server 7.0 (2000)
denis2001@pisem.net
Из литературы, личного опыта и по материалам форумов...
Технический обзор Internet Information Services (IIS) 6.0
Корпорация Microsoft
ASP: Администраторам и разработчикам Web-приложений необходим надежный, легкоуправляемый, высокопроизводительный и защищенный Web-сервер. В Internet Information Services (IIS) 6.0 и Microsoft® Windows® Server 2003 появилось много новых возможностей, обеспечивающих надежность, доступность, управляемость, масштабируемость и безопасность сервера Web- приложений. Данный документ является техническим обзором IIS 6.0, Web-сервера следующего поколения, доступного в семействе продуктов Windows Server 2003...
Encrypting File System в семействе Windows Server 2003
Network Associates Laboratories
Знакомьтесь с Encrypting File System (EFS) - сервисом прозрачного шифрования файлов, используемым в семействе операционных систем Windows Server 2003. EFS описывается в статье в том виде, в каком он существует в Windows XP Professional и Windows Server 2003. Сначала мы рассмотрим архитектуру EFS: работу, восстановление данных и компоненты EFS. Затем расскажем, как использовать EFS из оболочки и программным способом. В конце статьи будут рассмотрены некоторые вопросы защиты с помощью EFS...
ADS или SQL Server?
Bill Todd
Для минимизации стоимости владения приложением баз данных необходимо соответствие возможностей СУБД требованиям приложения. Использование СУБД с чрезмерно развитой функциональностью требует излишних затрат на лицензирование, обучение, развитие, развертывание, администрирование и сопровождение...

[В начало]

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

"String Data, Length Mismatch" Error Message with ODBC Driver for SQL Server If Application Inserts More Than 400 KB of Text Data
HOW TO: Manually Synchronize Replication Subscriptions by Using Backup or Restore
HOW TO: Send E-Mail Without Using SQL Mail in SQL Server
HOWTO: Insert NULL Data with OLE DB Consumer Templates
HOWTO: Pass a Timestamp Value To or From SQL Server With ODBC API
HOWTO: Retrieve XML Data by Using an XPath Query in a Visual Basic Client
HOWTO: Retrieving Calculated Fields from SQL Server 7.0
HOWTO: Retrieving Numeric Data with SQL_NUMERIC_STRUCT
HOWTO: Use a SQL Server 7.0 Distributed Query with a Linked Server to Secured Access Databases
HOWTO: Use ADO to Connect to a SQL Server That Is Behind a Firewall
INF: Basic Guidelines for Installing SQL Server Version 6.5 or 7.0
INF: Behavior if Both ARITHABORT & ARITHIGNORE Are Set ON
INF: C#: A SQL Server XML and ASP.NET Run-time Application (White Paper)
INF: Comparing SQL Collations to Windows Collations
INF: COMPUTE and the Microsoft SQL Server ODBC driver
INF: DIFFERENCE() and SOUNDEX() Functions in Transact-SQL
INF: Extended Procedure Error: "Cannot find the DLL 'xxx.dll'"
INF: Frequently Asked Questions - SQL Server 2000 - Setup
INF: How to Enumerate Available SQL Servers Using SQLDMO
INF: How to Monitor SQL Server 2000 Blocking
INF: How to Move, Copy, and Back Up Full-Text Catalog Folders and Files
INF: How to Remove Duplicate Rows From a Table
INF: How to Scan SQL Errorlog or DBCC Output for Errors
INF: How to Troubleshoot Orphaned Connections in SQL Server
INF: Installation Order for SQL Server 2000 Enterprise Edition on Microsoft Cluster Server
INF: Invalid Use of dbwritetext Can Cause 806 Errors
INF: OLAP: How to Index Star/Snowflake Schema Data
INF: Optimizer Hint NOLOCK or Isolation Level READ UNCOMMITTED Generates Error 605
INF: Order of Installation for SQL Server 6.5 MSMQ 1.0 Clustering Setup
INF: PRINT, RAISERROR, DBCC Commands and ODBC Driver for SQL Server 2000 and SQL Server 7.0
INF: PSSDIAG Data Collection Utility
INF: RAISERROR, PRINT, and the MS SQL Server ODBC Driver
INF: Server Side Cursor Behavior When CURSOR_CLOSE_ON_COMMIT Set OFF
INF: SQL Server 2000 Release A Replaces SQL Server 2000
INF: SQL Server 2000 Security Update for Service Pack 2
INF: SQL Server 2000 Windows CE Edition Component Releases and Versions
INF: SQL Server 6.0 ODBC Driver Changes Tempdb Usage
INF: Supported Windows Versions for SQL Server
INF: -T3640 Flag May Block Updates to an ODBC Application
INF: Timestamps and Their Uses
INF: Understanding and Troubleshooting the Copy Database Wizard in SQL Server 2000
INFO: MDAC 2.1 Sets Session Pooling ON by Default
INFO: No Padding of Parameters Done by SQL Driver Prior to Version 3.7x
INFO: Rebuilding SQL Server Registry Entries After Last Known Good
OLE DB Conversion Errors May Occur After You Select a Literal String That Represents Datetime Data as a Column
SAMPLE: RLockMFC.exe Demonstrates Row-Level Locking Using MFC and SQL Server
Simple Memory Tuning is Required if Both SQL Server 7.0 and Exchange 5.5 Service Pack 2 Are Installed on BackOffice Small Business Server 4.5
SMS: SQL Server Tuning Parameters for Systems Management Server
SQL Server 2000 High Availability Series Chapter Discusses a Configuration That Is Not Supported
SQL Server 2000 Is Not Supported on Windows Server 2003 Terminal Server Application Server
SQLDescribeParam Not Supported in Queries with Union Clause
You Cannot Install SQL Server 2000 SP3 on the Korean Version of SQL Server 2000

[В начало]

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

Indexed Views
Christoffer Hedgate
I guess more or less every reader has heard of denormalization and how it is used to improve performance. It is said that a query that joins several tables will perform bad, and that to remedy this you should denormalize your database design. This 'advice' is however wrong, and it is wrong in several ways. In this article I will show you why it is wrong and what you can do instead of following this advice
Breaking the Spell on Stored Procedures and Functions
Herts Chen
This is the first of three articles by Herts Chen on overcoming the inability of calling stored procedures in UDFs and SQL statements by using OPENQUERY. It discusses one of OPENQUERY's limitations and shows how to make OPENQUERY work around one of them. One of the strengths of RDBMSs is their underlying set-based query language—SQL. A query is always more concise and better optimized if you can express it in a single SQL statement than if you have to implement it in a batch of sequential T-SQL scripts. For example, suppose you have a 200MB table that contains a half million records. If you update an un-indexed column of this entire table in a single UPDATE statement, it may take about two minutes. However, if you do the same modification by issuing a half million UPDATE statements in a WHILE loop, it will cost you nearly three hours. There are, however, situations or "use cases" in which it's impossible to derive the results in a single SQL statement. One alternative is to encapsulate sequential details in these use cases into a stored procedure or a user-defined function (UDF).
Do You DB2?
Brian Moran
IBM recently stirred up the database market's low-end price range with the release of DB2 Universal Database (UDB) Express Edition with self-managing and resource tuning (SMART) technology—a repackaged version of DB2 Universal Edition 8.1 designed for the small to midsized business market. SMART technology offers self-healing, self-tuning, and self-administration properties, minimizing DBA intervention and maintenance. Other features include the Configuration Advisor, which optimizes performance, and the Health Center, which monitors your DB2 system, alerts you to potential problems and provides advice about resolving them. For IBM's full press release, go to http://www-3.ibm.com/software/data/info/db2express
SQL Server 2000 DTS Part 4 - DTS Designer Tasks
Marcin Policht
In the previous article of our series dedicated to SQL Server 2000 Data Transformation Services, we covered the first of the essential elements of a package - connection. Now it is time to look into another critical component - task - that is responsible for the processing of data retrieved through connections. Tasks are represented by icons in the Task area of the DTS Designer window and can be added to a package by simply dragging them with the mouse cursor to the package window area. A number of them will require an existing connection (or connections - in which case you will be prompted).
Troubleshooting SQL Mail
Alexander Chigrik
If you have problems with SQL Mail, review this 20-point troubleshooting checklist to find potential solutions
15 Seconds : Efficient Use of an ADO.NET Data Component
Nathan Zobrist
When I first began working with ADO.NET I found many great tutorials about basic usage. I learned to create Connection objects, DataAdapters, and DataSets for each form in my application. As I began applying these principals to larger projects I quickly became frustrated with having to maintain separate Connection objects, DataAdapters, and DataSets in each form. As program specifications would fluctuate, it was annoying that any change to the underlying database necessitated changes in each form. On top of this, maintaining a separate DataSet for each form in my application was a tremendous waste of resources, and keeping all DataSets in synch was nearly impossible
Working with Google APIs to Fetch Results using ASP
Vishal Parikh (a.k.a Graphiz)
Google is experimenting with a free web service that can be used non-commercially to gather search results in XML format. This format allows the search results to be displayed in any way the user wishes or transformed into another format. The interface is currently limited to returning only 10 results
Heavy-Duty Database Showdown: Oracle vs. IBM
Robyn Weisman
This story was originally published on July 29, 2003, and is brought to you today as part of our Best of ECT News series
Exploring SQL Server Triggers
John Papa
Triggers are one of the core tools available in relational databases such as SQL Server™ 2000. As one of the mainstays of SQL Server database programming, triggers also happen to be one of the topics that I get most of the questions about. In this month's installment of Data Points, I will explore the different trigger types that SQL Server 2000 makes available along with many of the features that they expose. When used properly, triggers can play a key role in a data model and in implementing enterprise-wide business rules. Triggers can be implemented to enforce business rules or referential data integrity in database applications. There are even types of triggers that open the doors to possibilities such as allowing data modifications to multiple base tables of a view
PDC Sessions
PDC 2003 featured 6 technical tracks with more than 120 sessions. Find the topics and sessions you're interested in, along with the PowerPoint slides and demo code from the sessions here
Scaling Out
Kumar Part
Sustaining the steadily increasing work load is essential for an application. If the application uses database as a repository to store data, then that database architecture must be flexible enough to withstand the different ways and means of improvising the scalability. Database’s sustainability and adaptability for the software and hardware level changes, will minimize the work involved in changing your software application
Sort Dates With XSLT
Dan Wahlin
XSLT 1.0 doesn't let you sort dates using the xsl:sort tag. This can present a problem because dates frequently play an important role in various applications. For example, XSLT doesn't let you sort the Customer nodes based upon the data contained within the CustomerSince nodes in this XML document
Chapter 3 – Threat Modeling
J.D. Meier, Alex Mackman, Michael Dunner, Srinath Vasireddy, Ray Escamilla and Anandha Murukan
Threat modeling allows you to apply a structured approach to security and to address the top threats that have the greatest potential impact to your application first. This chapter helps you to decompose your Web application to identify and rate the threats that are most likely to impact your system. The chapter presents a six-step threat modeling process
Store Key - Storing Misc Data
Narayana Raghavendra
Here is a new RDBMS concept, “Store Key” alias “SK”. In simple terms you store all the redundant data of a database in one table and use it whenever/wherever required via “Store Key ID” alias “SKID”.
Relocating Subtrees in Nested Intervals Model
Vadim Tropashko
In previous article, I introduced Nested Intervals Model — a tree labeled with Binary Rational Numbers. The advantage of this model is that every node has a permanent label, so insertion of a new node doesn’t affect existing nodes. I’ll describe how to move parts of the hierarchy in the Nested Intervals Model
Trees in SQL: Nested Sets and Materialized Path
Vadim Tropashko
Relational databases are universally conceived of as an advance over their predecessors network and hierarchical models. Superior in every querying respect, they turned out to be surprisingly incomplete when modeling transitive dependencies. Almost every couple of months a question about how to model a tree in the database pops up at the comp.database.theory newsgroup. In this article I'll investigate two out of four well known approaches to accomplishing this and show a connection between them. We'll discover a new method that could be considered as a "mix-in" between materialized path and nested sets.
Scripting Database Objects
Gregory A. Larsen
In the normal development lifecycle, developers design applications one piece at a time. This leads to developers creating tables, views, stored procedures, and other database objects over an extended period of time. Development work might be done on a number of different machines, like the developer’s laptop, or a development server. Eventually, the need will arise to migrate some or all these database objects to another server, like the production server. One of the common ways to migrate these objects is to script out the T-SQL code on the development server, and then run the script on the server where you want the code to be migrated. This article will describe three different ways you can generate T-SQL scripts for Microsoft SQL Server objects
Why Data Still Matters
Craig S. Mullins
Over the years, many technologies (and those marketing these technologies) have claimed that data has become irrelevant and that some “new and improved” technology, technique, or ideology will replace data as the center of IT and data processing. But it has yet to happen, and it never will happen, either
System Tables
Trudy Pelzer
How come the title of this article is “System Tables”? I was tempted to call this article “Well, you know, that stuff you get when you ask your DBMS what tables and columns and constraints it has.” Or possibly, “What SQL Server calls ‘system tables,’ but IBM calls ‘system catalog,’ but Oracle calls ‘data dictionary’.” The problem with the name is manifold
Something “Old,” Something “New,” Neither True
Fabian Pascal
By coincidence, the following two items were posted on DATABASE DEBUNKINGS at about the same time. The first as one of our “Weekly Quotes”
Demanding Times
Joe Celko
SQL is the first programming language to have native temporal data types and operators in it. I have always thought that if only COBOL has a DATE datatype, there would have been no Y2K crisis
Longhorn: Introduction
Brent Rector
This book focuses on the Microsoft "Longhorn" features for the developer. From a developer's point of view, "Longhorn" provides new functionality we can broadly categorize in five areas
The "Longhorn" Application Model
Brent Rector
Why do we need a new application model? One major reason is to bridge the gap between developing an application for Microsoft® Windows® and developing an application for the Web
Building a "Longhorn" Application
Brent Rector
To build a Longhorn application, you need the Longhorn Software Development Kit (SDK) installed. Alternatively, you can install a Microsoft® Visual Studio® release that supports Longhorn. In this book, I don't discuss using Visual Studio because its wizards, fancy code generation features, and project build capabilities obscure what actually happens under the covers. I believe that you should understand what a tool does for you before you rely on the tool
The Windows File System
Microsoft User Experience Group
Microsoft® Windows® Code Name "WinFS" (Windows File System) is the storage platform for Microsoft Windows Code Name "Longhorn." This article presents an overview of "WinFS" and how it makes possible a better experience for both you and your users
Build Data-Driven Web Services with Updated XML Support for SQL Server 2000
Christian Thilmany
SUMMARY XML is becoming the ubiquitous data format on the Web, and XML support in SQL Server is evolving to meet the additional demand. Using XML, SOAP, HTTP, and SQL Server, you can now build powerful Web Services easily. To show just how simple it is with SQLXML 3.0, this article walks the reader through the process step by step, from setting up a virtual directory enabling data access via HTTP to executing queries and building Web Services. Finally, the author illustrates the creation of two Web Services clients—one with C# that works with the Microsoft .NET Framework and one with the SOAP Toolkit 2.0 for anyone still using earlier development tools
SQL Server Techniques for Creating a Web Reporting Page -- Part 2
Louis Duc Nguyen
In the first article, we demonstrated SEARCH and GROUP functionality. In this article, we build upon our stored procedure and will demonstrate how to implement SORT and TOTAL row functionality
Setting NTFS Permissions with CACLS.EXE
Brien Posey, Posey Enterprises
The Windows GUI interface makes it easy to change the permissions associated with a file or folder on an NTFS file system. However, sometimes you may need to change a file or folder’s permissions from a script instead. If this is the case, then you can easily do so by calling on a Windows system file called CACLS.EXE. CALCS.EXE is a command line tool present in Windows 2000 and Windows XP. By using the various switches, you can modify the permissions on a file or folder in any way you could through the GUI. Here is the syntax for the CACLS.EXE command
Follow the Roadmap for XML and SQL Server
Lee The
As Microsoft's general manager of Data Access and XML Technologies, Dave Reed runs the SQL Server group's Web data team. He drives the direction of XML and data access, including ADO.NET, MSXML, System.XML (a library that ships in SQL Server), ODBC, OLE DB, MDAC, and the SOAP Toolkit (the native implementation of SOAP). Reed will deliver a keynote address at this year's VSLive! Orlando, where he'll talk about Microsoft's roadmap for XML and SQL Server in the rapidly evolving data landscape. In this interview, Reed gives you a sneak preview of his talk, along with other insights about where XML can (and can't) fit into your enterprise programming models
Sequential Numbering
Gregory Larsen
Microsoft SQL server does not support a method of identifying the row numbers for records stored on disk, although there are a number of different techniques to associate a sequential number with a row. You might want to display a set of records might where each record is listed with a generated number that identifies the records position relative to the rest of the records in the set. The numbers might be sequential that start at 1 and are incremented by 1 for each following record, like 1,2,3,4, etc.. Or in other case you may want to sequentially number groupings of records where each specific set of records are numbered starting at 1 and incremented by 1 until the next set is reach where the sequence starts over. This article will show a number of different methods of assigning a record sequence number to records returned from a query
Use .NET to Store XML Data
Rich Rollman
SQL Server 2000 and XML for SQL Server 2000 Web releases (SQLXML) provide three ways in which you can store XML data. XML Bulk Load and Updategrams, two client-side technologies, use annotated schemas to specify the mapping between the contents of an XML document and the tables in your database. OpenXML is a server-side technology that lets you define a relational view on an XML document. With OpenXML's relational view, you can use T-SQL code to query the data in the XML document and store the results in your SQL Server database
Dr. Edgar F. 'Ted' Codd (1932-2003)
Joe Celko
Obituaries come with old age — both the ones that I write and my own some day. Several years ago, I promised myself that I would try to meet people whom I admire before either of us died. Dr. Edgar Codd was one of my successes in that regard. By the time you read this column, Dr. Codd's death will be old news
Speed SQL Server Development with mssqlXpress
Randy Dyess
I decided the other day that I would do something I have never done before, and frankly, something that I am not very good at yet. I decided to investigate and write a small review on a third-party tool that I feel would be very useful for SQL Server developers and administrators. It is called mssqlXpress
Microsoft reveals Longhorn server plans
Ina Fried
Microsoft has laid plans for a server version of Longhorn, the next release of Windows. But it remains unclear what the software will include and when it will debut

[В начало]

ФОРУМ SQL.RU

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

Кто на чем пишет клиентов под SQL Server?
Помогите составить запрос
Как сделать, чтобы триггер запустился всего ОДИН раз за всю операцию
редактор T-SQL
Backup по сети
Чем больше оптимизирую - тем хуже....
как лучше хранить такую информацию?
Помогите сделать BackUp
подскажите как получше реализовать такое?
Профи, разминка! Сортировка по веткам дерева
Помогите тупому!!!
XML и whitespaces
Проблема с глобальными параметрами в DTS
Критическая масса
Кто нибудь работает с банковсикм ПО под SQL
Медленная работа запроса при подключениии через ADO
Linked_server на удалённую DB
MS SQL 2000 + Windows Server 2003
1C как реляционная - возможно ли такое?:)
Фильтр добавляет зверские тормоза

[В начало]

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

Перенос MS SQL Server с одного DC на другой
Yukon Beta 1 (sqlyknbeta1.exe)
HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!HELP!!!
ASPMaker - полезный инструмент
Как синхронизировать базы
Выборка первого документа для списка товаров.
SQL Server and Exchange
Почему в DTS не показываются Destination таблицы?
данные не импортируются
Unable to open BCP host data-file
Обмен книгами в Питере
Wow
ре
Проблема с Distributed Transaction!!!
Кодировка-backup
ПРОБЛЕМЫ ПРИ IMPORT-е (DTS)
Ошибка при инсталляции
Ошибка при Data Transformation: Creating Triggers on Destination Database
SQL Mail и загрузка новых сообщений
Index hints supplied for view 'Price' will be ignored?А затем - Invalid cursor state...
запуск CMDExec
DTS, Excel, параметры закачки
Как послать в тексте письма более 8000
Размер таблиц базы ?

[В начало]

ПОЛЕЗНОСТИ

Рассылка:  Вопросы и ответы по Microsoft SQL Server

Автор рассылки: Сергей Кошкин

Выпуск No. 25 от 2003-12-05
Вопрос : Как произвести поиск строки по всей базе данных?
Ответ

Публикация баз данных в Интернете

Мещеряков Е., Хомоненко А.

Серия: Мастер. Практическое руководство. Издательство: BHV. Место издания: Санкт-Петербург. Год издания: 2001. Количество страниц: 560. Тираж: 4000. ISBN: 5-94157-022-8

Совершенствование СУБД, информатизация общества и развитие Интернет-технологий позволили решить задачи предоставления автоматизированного доступа к содержимому баз данных через интернет. В книге рассматривается широкий спектр технологий, используемых для публикации баз данных в Интернете: активные серверные страницы ASP и элементы управления ActivX, сценарии JavaScript и JScript, интерфейсы CGI и ISAPI, средства Microsoft Access, среды Delphi и языка XML. Описывается как создание, так и управление БД. Даются рекомендации по выбору средств в зависимости от платформы, особенностей Web-узла и других условий. Приведен ряд примеров информационных систем. Изложение сопровождается множеством рисунков и контекстных примеров.

Книгу можно приобрести в магазине: rushall.ru: 49.00 руб. Купить

[В начало]

XML для профессионалов

Мартин Д. и др.

Объём: 866 стр.ISBN: 5-85582-120-X. Формат: 84х108/16. Серия: Программист - программисту. Дата выхода: 2001 г. Издательство: ЛОРИ

ASP стала лидирующей технологией создания динамических Web-приложений. Язык XML определяет стандартный формат универсального совместного использования данных, став составной частью всех крупных программных проектов как в Интернете, так и для больших корпораций. Web-сайты следующего поколения объединят эти две технологии, чтобы специалисты по электронной коммерции и программисты получили эффективные пути интеграции в Интернете своих производственных систем. Воспользовавшись последней версией спецификации ASP, современными взглядами на использование языка XML в приложениях и рекомендациями консорциума W3C, мы покажем пути объединения приложений ASP и языка XML. Наша главная цель – повысить знания читателей о языке XML и технологии ASP до уровня, необходимого для эффективного использования на практике всех возможностей и достоинств, которые предоставляют развивающиеся технологии интегрированным системам Интернета. Книга предназначена программистам страниц ASP, создающим приложения Интернета третьего поколения, которым нужно изучить и использовать язык XML В книге обсуждается объединение двух мощных технологий разработки приложений Интернета. Рассматриваются: – Теоретические основы XML, начиная с первичных понятий – DTD и схемы – Программирование с использованием DOM – Стили данных XML на основе CSS и ASP – Встроенная поддержка XML в ADO 2.5 – Связывание данных и построение библиотек процедур – BizTalk и SOAP – Упражнения, показывающие разработку реальных приложений на основе технологий ASP и XML.

Книгу можно приобрести в магазине: bolero.ru: 416.00 руб. Купить

[В начало]

Введение в OLAP-технологии Microsoft

Наталия Елманова, Алексей Федоров

Издательство: Диалог - МИФИ. ISBN 5-86404-175-0, Тираж: 3000 экз.

Книга предназначена для широкого круга читателей, включая опытных пользователей Microsoft Office, бизнес-аналитиков, разработчиков, менеджеров информационных служб и отделов автоматизации, желающих ознакомиться с основами применения аналитической обработки данных (OLAP) и хранилищ данных, а также с возможностями, предоставляемыми современными OLAP-средствами. Для иллюстрации обсуждаемых в книге вопросов используются OLAP-средства корпорации Microsoft

Книгу можно приобрести в магазине: ozon.ru: 108.00 руб. Купить

[В начало]

Базы данных: модели, разработка, реализация. Учебник

Т. Карпова

Твердый переплет, 2001 г. Издательство: Питер. ISBN 5-272-00278-4, Тираж: 5000 экз.

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

Книгу можно приобрести в магазине: ozon.ru: 102.00 руб. Купить

[В начало]


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

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

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




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

В избранное