Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Вопросы и ответы по MS SQL Server" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
MS SQL Server - дело тонкое...
#036<<#037
DBA и безопасность
Microsoft Security Bulletin (MS01-013)
26 февраля 2001г. Микрософт опубликовал бюллетень об уязвимости защиты Windows 2000 «Event Viewer
Contains Unchecked Buffer». Компонента Windows 2000 Event Viewer оказалась
подверженной уязвимости из-за возможного переполнения буфера для кода, который
отображает детальное представление событий. Злоумышленник, при определённых
обстоятельствах, мог заставить сервер выполнить внедрённый в буфер код.
Затронутые продукты:
Microsoft Windows 2000 Professional
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
FAQ относительно этой уязвимости и заплаты можно найти тут:
http://www.microsoft.com/technet/security/bulletin/ms01-013.asp
Заплаты доступны тут:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=27842
http://download.microsoft.com/download/win2000platform/Patch/q285156/NT5/EN-US/Q285156_W2K_SP3_x86_en.EXE
Обратите внимание на то, что эта заплатка может применяться к системам Windows 2000 Gold, Windows 2000 с установленным Service Pack 1 или Service Pack 2. Заплаты для Windows 2000 Datacenter аппаратно - зависимы и доступны через производителей серверов.
СОВЕТЫ
Как избегать узких мест при использовании временных таблиц
По материалам статьи Neil Boyle на SWYNK.COM «Avoiding bottlenecks with temporary tables»
select *
into #tempTable
from source
В течение исполнения этого запроса, временная база данных будет заблокирована, пока не закончится вся
выборка. Это может занимать много времени, если исходная таблица содержит
большое количество данных. Во время блокировки, другие пользователи не могут
создавать временные таблицы. Фактическое, узкое место в том, что
блокируются системные таблицы tempdb
(sysobjects). В более поздних версиях SQL сервера модель блокировок изменилась,
что позволяет избегать этой проблемы.
Для того, что бы максимально смягчить последствия блокировок в tempdb необходимо добиться, что бы операции
"create temporary table" исполнялись настолько быстро насколько это
возможно. Например, можно использовать следующую конструкцию:
create table #temp(
........
)
insert #temp
select *
from sourceTable
В этом примере вначале создаётся временная таблица, которая сразу же освобождается в sysobjects. Блокировка
снимается настолько быстро насколько это возможно.
Если Вам необходимо избегать инструкций insert...into, или если Вы пишете только отдельный модуль кода и не
знаете точное определение таблицы до момента выполнения, Вы можете
воспользоваться следующей уловкой:
select *
into #temp
from sourceTable
where 1 = 0
insert #temp
select *
from sourceTable
Очевидно, что условие where 1 = 0 никогда не будет истиной. Независимо от того, сколько данных sourceTable находятся в оптимизаторе, SQL сервер достаточно умён, чтобы понять, что не стоит тратить время на просмотр таблицы. (Нейл всегда проверял план исполнения такого запроса, что бы в этом удостоверится, но никогда оптимизатор не выполнял просмотр таблицы). Не смотря на то, что SQL сервер не будет просматривать исходную таблицу, таблица *temp будет определена и основана на формате данных из инструкции отбора, но не будет содержать ни одной строки. После этого Вы можете выполнять insert...select, не опасаясь, что будут блокированы другие процессы доступа к tempdb.
Описанная выше проблема не относится к MS SQL Server версии 7, но есть - один случай, когда Вы можете неумышленно создать узкое место под любой версией. Проблема возникает, когда Вы используете INSERT...EXEC, чтобы загрузить временную таблицу, и саму хранимую процедуру создающую временную таблицу. Вы столкнётесь с блокировкой tempdb подобной описанной выше. Представленные выше уловки для 6.5 вряд ли Вам здесь помогут, а сама конструкция "INSERT #temp EXEC server.database.owner.proc" не идеальна во всех возможных применениях. Для получения более детального описания проблем блокировок временных таблиц и путей их разрешения, прочтите следующие статьи:http://support.microsoft.com/support/kb/articles/Q153/4/41.asp
http://support.microsoft.com/support/kb/articles/Q162/7/53.asp
Тюнинг индексов и статистики SQL сервера для повышения эффективности исполнения запросов.
По материалам статьи Mary V. Hooke на devx.com «Tune Up SQL Server Performance: Leverage indexes and
statistical information to optimize database performance»
В этой статье Мэри обсуждает способность SQL Server 2000 создать индексы для представлений (View), а также особенности настройки индексов с использованием Index Tuning Wizard (ITW). Она также показывает, как можно удостовериться, что запросы оптимально используют индексы и статистическую информацию.
Вопросы эффективности должны рассматриваться ещё на стадии дизайна базы данных. Однако у Вас есть возможность влиять на эффективность и после того, как ваша база данных перешла в стадию промышленной эксплуатации. Одним из ключевых элементов оптимизации поиска и сортировки данных являются индексы. Правильно построенные индексы могут значительно сократить время выборки/вставки данных, а сам процесс подбора индексов существенно упрощает ITW. ITW выдаёт рекомендации по построению индексов основываясь на указанной Вами рабочей нагрузке. Рабочая нагрузка это SQL сценарий или результаты трассировки, предварительно сохранённые во внешнем файле или специально созданной таблице. Рекомендации ITW будут столь же хороши, сколь хороша Ваша рабочая нагрузка, так что важно, что бы нагрузка была максимально приближена к реальности. Вероятно самый легкий и наиболее полный способ создания рабочей нагрузки для ITW это сохранение результатов трассировки, созданной SQL PROFILER. SQL PROFILER записывает все действия сервера, используя фильтры и критерии, которые Вы предварительно задаёте. Удостоверитесь, что ваша трассировка будет содержать наиболее типичные операции с базой данных. Другими словами, выберите время, когда база данных используется не особенно интенсивно или, наоборот, обращений к ней не мало. Продолжительность трассировки зависит от вашей конкретной системы. В некоторых случаях, Вам придется выполнять трассировку в течение часа, чтобы зафиксировать точное представление системных действий. В других случаях, могут потребоваться дни, чтобы сделать запись всех стандартных разновидностей действий, которые происходят в вашей базе данных.
Как только Вы создадите файл рабочей нагрузки, готовый к использованию, запустите ITW. В Enterprise Manager выберите сервер. Выберите Wizards в меню Tools, затем Index Tuning Wizard. Появляется экран «Добро пожаловать в ITW». Следующий экран ITW позволит Вам определить сервер и базу данных для дальнейшего анализа. В этом экране Вы имеете два дополнительных варианта выбора: сохранить все существующие индексы (Keep All Existing Indexes) и исполнить полное исследование (Perform Thorough Analyses). Отключение опции Keep All Existing Indexes, как правило, позволяет ITW выдать Вам оптимальные рекомендации по построению индексов. Однако ITW может предложить удалить или изменить некоторые из ваших существующих индексов. Оставьте эту опцию включённой, если Вы не хотите вносить изменения в Ваши существующие индексы. Выбор опции Perform Thorough Analyses заставляет ITW выполнять наиболее глубокий анализ. Хотя так можно получить наиболее лучшие результаты, вероятно, что выполнение полного анализа может потребовать большего времени. К тому же, полный анализ часто становится причиной повышенной нагрузки на Ваш сервер. Лучше запускать полный анализ на полигоне или во время малой загрузки промышленного сервера.
Третий экран в ITW предлагает Вам определить рабочую нагрузку, с которой Вы хотите работать. Если Вы используете файл, созданный SQL PROFILER, выберите переключатель My Workload File, и используйте диалоговое окно File, чтобы загрузить предварительно сохраненный файл трассировки. Вы можете также устанавливать некоторые дополнительные параметры, используя Advanced опции. Эти параметры позволяют задать максимальное дисковое пространство, которое рекомендуемые индексы должны будут использовать, и максимальное число запросов в вашем файле рабочей нагрузки, для аналитической выборки. Четвертый экран определяет, для какой таблицы или для каких таблиц Вы хотите получить рекомендации. Выбор только некоторых таблиц может существенно сэкономить время анализа, а также помогает Вам сосредоточиться на определенных прикладных областях. Однако если Вы используете ITW для того, чтобы оптимизировать вашу базу данных целиком, Вы можете выбрать всё таблицы в базе. Следующий экран ITW покажет рекомендованные для построения индексов, основываясь на заданных Вами прежде критериях. У Вас есть возможность выбрать опцию применения рекомендаций немедленно или запланировать выполнение созданных для этого сценариев позже. Есть возможность просто сохранить такой сценарий во внешнем файле.
SQL Server 2000 Enterprise Edition, в дополнение к индексации таблиц, умеет строить индексы для представлений. Для базы данных Pubs можно привести следующий пример SQL кода, который создаёт представление Quantity_Totals:
Use Pubs
GO
CREATE VIEW Quantity_Totals
with SCHEMABINDING
AS
SELECT ord_num, Total_Quantity =
Sum(qty), Total_Items = Count_Big(*)
FROM dbo.sales
GROUP BY ord_num
В SQL Server 2000 появилась новая функция COUNT_BIG, которая работает аналогично COUNT; различие в том, что
возвращается значение типа данных bigint, в противоположность int у COUNT.
Любое представление, которое включает предложение GROUP BY, должно также
содержать функцию COUNT_BIG, чтобы иметь право содержать индекс. Вы должны
создать представление, которое содержит индекс, используя опцию SCHEMABINDING,
которая также является новой. Представление привязывается к схеме его основных
таблиц, в момент определения этой опции.
Resultset, возвращённый представлением, не сохраняется в базах данных, если представление не имеет
индекса. Вы можете иметь представление со ссылками на большое количество строк
или включающее комплексную обработку, типа агрегированной группировки и многократных объединений. SQL сервер каждый
раз будет обновлять resultset для Ваших представлений.
Индексы для представлений работают почти таким же способом, как индексы для таблиц. Подобно таблицам,
представления могут иметь кластерный индекс и составные не кластерные индексы.
Однако для представления Вы должны сначала создать уникальный, кластерный
индекс, а уж потом можно создавать другие не кластерные индексы. Создание для
представления кластерного индекса обеспечивает постоянное хранение его
resultset в базе данных. Хотя сохраненный resultset отражает данные на момент
его создания, создание индекса обеспечивает автоматическое отражение всех
последующих модификаций данных в resultset. Создать индекс для представления
можно используя инструкцию «CREATE INDEX» (так же, как Вы создаёте индекс для
таблицы):
CREATE UNIQUE CLUSTERED INDEX
PRIMARY_IDX on
Quantity_Totals(ord_num)
Этот код создает уникальный, кластерный индекс для представления Quantity_Totals, созданного в предыдущем примере. Кроме повышения эффективности непосредственно представлений, Query Optimizer может использовать существующие индексы по представлению и для других, обычных запросов, даже для тех, у которых нет ссылок на представление в предложении FROM. Например, этот SQL запрос выбирает суммы всех проданных товаров, сгруппированные по порядковому номеру:
SELECT ord_num, Sum(qty)
FROM sales
GROUP BY ord_num
При выполнении этого запроса, Query Optimizer понимает, что суммы имеются в индексе, который SQL сервер
создал для представления Quantity_Totals. В этом случае, Query Optimizer может
принять решение, что использование индекса, созданного для представления, будет
наиболее эффективным при выполнении этого запроса. В SQL Server 2000 появилось
много подобных нововведений, которые можно использовать для оптимизации работы
представлений.
Кроме зависимости эффективности от дизайна базы данных, сама структура запросов
также может существенно влиять на общую эффективность. Аппаратные проблемы,
связанные с недостатком памяти или дискового пространства, могут существенно
тормозить запросы. Однако плохая эффективность исполнения запроса может быть
вызвана неспособностью Query Optimizer воспользоваться преимуществами индексов
или статистической информации.
Статистическая информация отражает распределения данных в столбцах. Query Optimizer использует
статистическую информацию для определения оптимального способа исполнения
запроса. SQL сервер создает статистическую информацию для столбцов в индексе
автоматически, непосредственно при создании индекса. По умолчанию, у SQL
сервера включена опция Auto Create Statistics. Обновление статистики происходит
так часто, как часто изменяются данные в столбцах или индексах. Обычно
обновление статистики не требует ручного вмешательства. Однако иногда
случается, что необходимая статистическая информация для ваших таблиц не будет
создаваться или не будет обновляться достаточно часто.
Вы можете использовать команду Transact-SQL (t-sql) DBCC SHOW_STATISTICS, чтобы определить какая
статистическая информация существует в настоящее время для столбцов в индексе.
Эта команда имеет два параметра. Первый параметр - название таблицы, для
которой Вы хотите анализировать статистическую информацию; второй - имя
индекса. Выполнение следующего SQL запроса в Query Analyzer покажет Вам
статистическую информацию, доступную для индекса aunmind в таблице authors базы
данных Pubs:
DBCC SHOW_STATISTICS (authors, aunmind)
Информация, возвращаемая командой DBCC SHOW_STATISTICS, включает дату и время последней модификации
статистической информация и число строк. Для столбцов, не входящих в индексы,
можно отображать эту информацию, с помощью Query Analyzer, в графическом виде.
Для этого, откройте Query Analyzer и выберите Manage Statistics в меню Tools.
Выберите базу данных, потом таблицу или представление для которых анализируется
статистическая информация и которой Вы хотите управлять в диалоговом окне
Manage Statistics. Query Analyzer покажет в listbox (внизу экрана) имеющуюся
статистику. Выбор существующей статистики и нажатие на ней кнопки Delete или
Update позволяет удалять или изменять статистическую информацию. Диалоговое
окно Create Statistic появляется, когда Вы щелкаете по кнопке New, и
обеспечивает создание новой статистики. При этом Вы имеете возможность выбрать
столбец или столбцы, чтобы задать процент данных для выборки в этих столбцах,
при превышении которого будет автоматически создаваться новая статистика. Вы
можете также создавать или обновлять статистику вручную, используя команды
T-sql CREATE STATISTICS и UPDATE STATISTICS.
Одним из способов определения эффективности использования индексов и статистической информации, состоит в
рассмотрении плана исполнения запроса в Query Analyzer. Для этого, откройте
Query Analyzer, и загрузите ваш запрос. Выберите Show Execution Plan в меню
Query, и запустите запрос на выполнение. Ниже текста запроса расположена
вкладка Execution Plan. Щелкните по этой вкладке, чтобы увидеть план выполнения запроса. Вы можете
анализировать этот план даже без выполнения запроса. Выбрав в меню Query опцию
Display Expected Execution Plan, Вы сможете получить графическую диаграмму,
иллюстрирующую оценку плана исполнения запроса. Эта диаграмма показывает, какие
шаги избрал Query Optimizer, или собирается выполнить при исполнении запроса.
Тут Вы сможете увидеть, какие из шагов наиболее ресурсоёмки, и рассмотреть
детали каждого такого шага. Также, Вы сможете определить, использует ли Query
Optimizer индексы. Если Query Optimizer отметил заголовок таблицы красным
цветом, значит для этой таблицы статистическая информация отсутствует или
устарела. Вы можете получить очень большое количество информации о каждом шаге,
изучая появляющуюся во всплывающем окне информацию, после нажатия на
графических элементах клавиш мыши.
SQL PROFILER также очень мощный
инструмент для выяснения причин низкой эффективности исполнения запросов.
PROFILER может идентифицировать медленные SQL запросы и инструкции, сохраняя
информацию об отобранных Вами действиях сервера. Использование SQL PROFILER в
целях оптимизации будет рассмотрено в следующих статьях Мэри.
ITW не предлагает рекомендации для primary keys и других уникальных индексов, и не обеспечивает рекомендации
по индексам для системных таблиц. Другие ограничения ITW включают неспособность
рассматривать больше чем 32,767 запросов в одной рабочей нагрузке, и
неспособность выдавать рекомендации для баз данных SQL SERVER 6.5 или более
ранних версий. Обратите внимание, что ITW создаёт рекомендации, основываясь на
предоставленной ему Вами выборке данных. По этой причине, может случится так,
что ITW выдаст Вам различные рекомендации, если Вы запустите его повторно с той
же самой рабочей нагрузкой. Если ITW не сможет обеспечивать Вас рекомендациями,
это означает, что он или не смог улучшить эффективность уже созданных индексов,
или ему не предоставили для этого достаточно данных.
ГОТОВИМСЯ К ТЕСТУ ПО 70-028
ШПАРГАЛКА #7> Продолжение (обзор официального курса Microsoft)
Архив шпаргалок Вы найдёте на следующих сайтах:
http://mssqlhelp.com.ru
http://subscribe.ru/archive/comp.soft.winsoft.sqlhelpyouself
Многосерверные задания
Если Ваша организация имеет несколько SQL серверов,
может оказаться удобным использовать задания, которые будут выполняться на всех
или избранных серверах под управлением одного сервера. Такой сервер будет
являться главным и будет не только распределять задания между подчинёнными
серверами назначения, но и получать от них все события. Это даст Вам
возможность управлять заданиями нескольких серверов из одного узла, объединив,
таким образом, свои серверы в одну логическую, структурную единицу. Правда, все
SQL серверы должны быть не младше седьмой версии. Как правило, главный сервер располагается в головной
конторе Вашей организации, причём, работать он может только под NT. Выделить такой сервер
можно в специальном мастере, в составе Enterprise Manager или с помощью системной хранимой процедуры sp_msx_enlist. При этом в
системную таблицу главного сервера systargetservers добавляется соответствующая строка. Для каждого
сервера назначения мастер автоматически создаёт специальную учётную запись с
суффиксом _msx_probe с паролем SQL сервера, которой предоставляются права для доступа к базе msdb главного сервера, откуда они будут
загружать задания. Пароль менять нельзя, т.к. сервер назначения утратит
предоставленные ему права, и «лечится» это только удалением сервера назначения
из списка и повторного его там определения. Также, мастер создаёт специального
оператора главного сервера MSXOperator и такого же
оператора на каждом из серверов назначения. Кроме указанного уже мастера,
сервер назначения можно заводить с помощью sp_msx_enlist, при этом, соответствующие записи добавляются в
таблицу msdb..systargetservers. У сервера назначения может быть только один главный сервер, который должен
располагаться или в том же домене, или в домене, имеющем с доменом главного
сервера доверительные отношения. Вы не сможете закрепить сервер назначения за
другим главным сервером, пока он не будет исключён из списка серверов
назначения ранее определённого главного сервера. Главный сервер может быть
использован серверами назначения и как сервер переадресации событий, если его
ресурсы в состоянии справиться с такой повышенной нагрузкой.
Главный сервер помещает многосерверные задания в список загружаемых с него файлов, который хранится в
таблице msdb..sysdownloadlist. Для того, что бы определить, не появились ли новые задания, серверы назначения
должны периодически подключаться к главному и заглядывать в этот список на
предмет появления там для них новых или обновлённых заданий. Если задание
получено, то, после его исполнения, сервер назначения помещает на главный
сервер результаты его исполнения и завершения. Основные экземпляры заданий и
расписаний хранятся на главном сервере, и только они могут быть изменены. Те
экземпляры, которые хранятся на серверах назначения менять нельзя. Удобство
использования Enterprise Manager заключается в том, что он автоматически включает в список
загружаемых файлов все необходимые инструкции. При необходимости просмотра
результатов выполнения и завершения задания, можно обратиться к системной
таблице msdb..sysjobservers. Дополнительную информацию, содержащую обычные сведения истории заданий, можно
получить на сервере назначения из таблицы msdb..sysjobshistory.
Продолжение следует.
ПОЛЕЗНОСТИ
Статья «Реляционные базы данных», автор которой Пит Лошин, поможет начинающим DBA и SQL программистам
разобраться в «краеугольных камнях» современных СУБД.
http://www.osp.ru/cw/2001/05/034_0.htm
Статья Сергея Кузнецова «Дубликаты, неопределенные
значения, первичные и возможные ключи и другие экзотические прелести языка SQL»
посвящена языку SQL, его некоторым, не афишируемым, но глубоко присущим
свойствам, отстраняющим этот язык от классической реляционной теории. Возможно,
Вам будет о чём поспорить с автором.
http://www.infocity.kiev.ua/db/content/db022.phtml
Новостная группа fido7.su.dbms.mssql представляет собой форум, интересный, как для DBA,
так и для SQL программистов. Удобство такого форума в том, что для доступа к нему Вам
необходима только программа почтового клиента (например, Outlook Express), умеющая общаться с
сервером новостей NNTP. Многие провайдеры предоставляют такой сервис и транслируют фидошные
конференции. Если на вашего провайдера это не распространяется, можно
воспользоваться альтернативными способами подключения. Например, через сервер:
nntp://news.gamma.ru
О некоторых стратегиях оптимизатора при построении
сложных, параллельных и распределенных планов рассказывает статья системного
инженера Microsoft Алексея Шуленина «Процессор запросов Microsoft SQL
Server». Для тех, кто будет читать эту статью, рекомендую не прекращать чтения, если станет «сильно»
непонятно. Просто пропускайте непонятные места. В статье очень много полезного
для понимания, как механизмов оптимизации запросов, так и многого другого.
http://www.infocity.kiev.ua/db/content/db024.phtml
Существенно облегчит жизнь начинающим использовать ADO программистам статья ещё
одного представителя Microsoft Corp. Carl Prothman: «Примеры подключения различных Баз Данных через ADO»
http://www.relib.com/article.asp?id=7&c=6
Вышло в свет второе издание книги Коннолли «Базы данных. Проектирование, реализация и сопровождение. Теория и практика». Это
издание дополнено несколькими новыми главами, освещающими новейшие технологии в этой области.
http://www.mistral.ru/content/42884.shtml
Новые технические статьи Microsoft:
Support WebCast: Microsoft SQL Server 2000 Log Shipping
Q219957 - FIX: SQLNumResultCols Results in Attentions Being Generated on SQL Server
Q253010 - FIX: Busy Connections Leave Cursors Open After Call To SQLFreeStmt or SQLCloseCursor
Q273813 - FIX: "Incorrect Syntax near the Keyword 'by' " Error Message with Column Names of "C", "CA" or "CAS"
Q279526 - FIX: SQL Server ODBC Driver Ignores Authentication Setting
Support WebCast: Multi-instancing in Microsoft SQL Server 2000
Q238238 - FIX: ODS API srv_revert_to_self Does Not Revert Multi-Protocol Connections
Q154353 - FIX: Aggregate Function on View With Correlated Subquery Can Cause Access Violation
Q156430 - PRB: Slow SQL Server Connections Using Named Pipes with Win 95
Q187278 - FIX: Large Query Text from Socket Client May Cause Open Data Services Access Violation
Q193390 - FIX: SQL-DMO::EnumQueuedTasks May Cause Memory Leak
Q195539 - FIX: Selecting TEXT/IMAGE with Insensitive Cursor May Disconnect
Q197800 - FIX: Cursor Overhead Higher on SQL Server 7.0 for Small Result Sets
Q199095 - FIX: Running SQL Trace with RPC Calls and sp_OA May Cause Access Violation
Q199122 - FIX: Regr:INSERT-EXEC rpc Generates 3307 on Constraint Violation
Q198998 - BUG: ANSI Join a Table with a Nested View with Group by Clause May Cause AV
Q214596 - FIX: Alpha: Access Violations When Executing Query Plans the First Time
Q214858 - FIX: SELECT INTO Including UNION with Trace Flag 5302 Causes Access Violation
Q215457 - FIX: Logreader Fails to Replicate When Updating Non-NULL Text Fields with Empty Space
Q215458 - FIX: LOAD DATABASE Fails with Error 603
Q217102 - FIX: Selecting Text or Image Field Using Table Owner's Name Causes Error
Q216370 - FIX: Constraint Violation Using INSERT INTO EXEC Causes SPID -1 and 3307
Q216381 - FIX: Failure to Spawn New Thread Not Handled Correctly by SQL Server and Open Data Services
Q219051 - FIX: Access Violation on Stored Procedure Inserting or Updating Table with Rules
Q219060 - FIX: ROLLUP and CUBE Return Incorrect Summary Values If Column Has CASE Expression
Q219413 - FIX: Select on a View May Generate Error 4409
Q216700 - FIX: "IF UPDATE" Functionality Does Not Work in SQL Server 6.5 Service Pack 5 and 5a
Q216674 - FIX: Automatic SQL Cluster Failover Does Not Work with Windows NT 4.0 Service Pack 4
Q219756 - FIX: Connections to SQL Server May Result in Handle Leak If SQLTRACE Is Enabled
Q219865 - FIX: Sqltrace.dll May Cause Heap Corruption with Zero Length Binary RPC Parameter
Q220154 - FIX: Forward Only and Dynamic Cursors May Infinitely Loop
Q220156 - FIX: SQL Cluster Install Fails When SVS Name Contains Special Characters
Q221176 - FIX: Sp_cursoropen Causes AV on the Initial Execution After LOAD
Q221558 - FIX: Executing Sp_replcounters with INSERT..EXEC May Cause Server to Stop Responding
Q223169 - FIX: Local Connections Are Delayed up to 12 Seconds After You Run DBCC Checkdb Command Several Times
Q221755 - FIX: REGRESSION: Cluster: SQL Resource Longer to Take Offline
Q225084 - FIX: IE 5.0 Hinders SQL Server 7.0 Wizards and Tabbed Dialogs on Windows 95 or 98 Computers
Q225143 - FIX: Implicit Conversion with Aggregate Functions Causes Overflow
Q224539 - FIX: Query Optimizer Fails to Consider Anti Semi Join for NOT IN Queries
Q224581 - FIX: Very Large Numbers of Predicates AND-ed Together May Cause Stack Overflow
Q228473 - FIX: Adding Merge Subscription Fails with Error 8115
Q230044 - FIX: SELECT INTO with TEXT/IMAGE Data Is Not a Non-Logged Operation
Q229875 - FIX: Unable to Perform Automated Installation of SQL 7.0 Using File Images
Q231323- FIX: SP5a Regression: Access Violations with Tempdb Deadlocking, Attentions
Q232580 - INF: Storing UTF-8 Data in SQL Server
Q232707 - FIX: Query with Complex View Hierarchy May Be Slow to Compile
Q233258 - FIX: DBCC DBREINDEX May Cause a LOAD TRAN to Fail with Error 1511
Q233259 - FIX: Error 3307 After Canceling Large UPDATE Statement
Q233179 - FIX: OLAP: Cannot Upgrade Client Win98 Computer Containing Office 2000
Q234679 - FIX: SNMP Extended Stored Procedures May Leak Memory
Q235220 - FIX: Enlisting Multiple Connections in the Same DTC Transaction Context Can Cause SPID Stop Responding
Q234783 - FIX: Error 8115 on Conversion from NUMERIC Constant to REAL
Q236447 - FIX: ODS Errors During Attention Signal May Cause SQL Server to Stop Responding
Q238306 - FIX: Calculated Members Based on User Defined or MS Excel/VBA Functions Do Not Work when Accessed from Excel and Pivot Table Controls
Q238620 - FIX: Terminating Clients with TSQL KILL May Cause ODS AV
Q238621 - FIX: Integrated Security Sprocs Have Race Condition Between Threads That Can Result in an Access Violation
Q239458 - FIX: Replication: Problems Mapping Characters to DB2 OLEDB Subscribers
Q240172 - FIX: Multiple Attachments not Sent Correctly Using xp_sendmail
Q241304 - FIX: Error 1203 Occurs When Trigger Fires on Insert to Table with Foreign Key Constraint
Q238970 - FIX: SQL Trace May Cause Heap Corruption After Handled Exception
Q240853 - FIX: Lock Escalation With Parallel Query May Cause 1203 Error And Server Shutdown
Q240858 - FIX: sp_statistics May Return Incorrect Results After ALTER TABLE DROP COLUMN
Q244230 - FIX: Slow Query Performance Using Correlated Subquery with "Or Exists" Clause
Q244505 - FIX: Query with Multiple Aggregate Functions and Subqueries May Encounter AV
Q244763 - FIX: Access Violation Under High Cursor Stress
Q245552 - FIX: SH_PAGE Lock Not Released After Fetch Operation on Keyset Cursor
Q245807 - FIX: Server Unresponsive After Deadlocks Under Tempdb Stress
Q243050 - FIX: Error 1203 Occurs with Trace Flag 5302
Q243740 - FIX: Replication AddSubscription Method Causes Handle Leak on Failure
Q243741 - FIX: Replication Initialize Method Causes Handle Leak on Failure
Q247191 - FIX: SQL 7.0 Slower than SQL 6.5 on Join with View Containing CASE and Subquery
Q249343 - FIX: SQL Performance Counters May Cause Handle Leak in WinLogon Process
Q250493 - FIX: Memory Leak with xp_sendmail Using Attachments
Q248483 - FIX: Client Disconnects Can Cause SQL Server Instability When Using More Than Two Gigabytes of Memory
Q248618 - FIX: SQL Server Returns Incorrect Value for a Bit Field When You Use a Static Cursor On Joined Tables
Q247871 - FIX: DTC Commit/Abort Operation May Leave Suspended Worker Thread with Waittype 0x0201
Q248764 - FIX: DBCC TEXTALLOC May Cause SQL Server to Stop Responding
Q248829 - FIX: Denial of Services During Connections
Q252905 - FIX: Slow Compile Time on Complex Joins with Unfiltered Table
Q252987 - INF: Execute a SQL Server DTS Package from Active Server Pages
Q254123 - FIX: Incorrect Values for Datetime, Smalldatetime, and Money Types With Big-Endian Client
Q254126 - FIX: Incorrect Error Numbers Reported on Big Endian Client
Q254253 - FIX: DBCC ShrinkDatabase or ShrinkFile Commands May Cause Errors 5042 and 3140
Q255804 - FIX: Incorrect Results with Count Distinct and Aggregate in Select List
Q253738 - FIX: SQL Server Components that Access the Registry in a Cluster Environment May Cause a Memory Leak
Q253927 - FIX: SP5a Regression- Trace Flag 1204 Causes Access Violation and Server Becomes Unresponsive
Q256649 - FIX: Simultaneous DTC Operations May Cause Errors
Q258082 - FIX: Abort of Command That Uses a Worktable May Result in Orphaned Extents in the Tempdb System Database
Q258083 - FIX: Abort of Distributed Transaction with Xproc May Cause Assertions, Access Violations and Server Shutdown
Q258084 - FIX: SPID May Stop Responding with CPU Spin During Log Out When it Drops Temp Procedure
Q258087 - FIX: Non-Admin User That Executes Batch While Server Shuts Down May Encounter Retail Assertion
Q257515 - FIX: DMO ExecuteWithResults Fails with Decimal Data
Q260087 - FIX: Large Error Numbers May Cause Heap Corruption in SQLServerAgent Service
Q260342 - FIX: Replication Agents May Fail With Arithmetic Overflow Errors Due to Large Latencies
Q257858 - FIX: xp_grantlogin and xp_revokelogin May Fail on Orphaned Windows NT Accounts
Q260346 - FIX: Transactional Publications with a Filter on Numeric Columns Fail to Replicate Data
Q259021 - FIX: Parallel Hash Join with Empty Result Set Incorrectly Flows Error Back on Client Connection
Q258974 - FIX: Query Analyzer Might Not Save All Rows in the Result Set to a File When You Use the "Results in Grid" Option
Q259141 - FIX: SP2 Regression: 8624 Error Might Occur When You Modify a Table with a Complex Query
Q259677 - FIX: OLAP Server May Not Use Aggregations Even When They Exist
Q259775 - FIX: ISNULL with ANSI_WARNINGS OFF Drops Connection On Divide By Zero
Q262019 - FIX: Aborting Parallel Query With Hash Operation May Orphan Extents in Tempdb
Q262023 - FIX: Queries With Large Numeric Values May Not Use Appropriate Index
Q263304 - FIX: UPDATE Fails Under INSERT/UPDATE Stress on Non-Indexed Table
Q261216 - FIX: Snapshot Agent for a Merge Publication Might Fail with Error Message 4408 or 50007
Q263553 - FIX: An INSENSITIVE Cursor That Retrieves TEXT/IMAGE Columns From a Non-Fully Qualified Table Causes a 7131 Error Message
Q263619 - FIX: Archive/Restore Fails After You Apply SP2 Add-in with SQL Server Repository
Q262462 - FIX: Conversion Errors Occur in Prepared Statements That Use UNIONs
Q263649 - FIX: Handled Access Violation on INSERT Through Cursor
Q263661 - FIX: Users May Unexpectedly Encounter FLT_UNDERFLOW_EXCEPTION Errors
Q263938 - FIX: Logreader May Fail with 9004 Error Message After an Abnormal Shutdown of Publisher SQL Server
Q263955 - FIX: Merge Agent Fails with "Setting Sentgen Too High" Error Message
Q263968 - FIX: Service Pack Install Can Save Standard Security Password in File
Q262699 - FIX: User Logged Into DB in Single User Mode May Encounter 924 Error
Q264229 - FIX: SELECT Statement Assigns Incorrect Values to NUMERIC or DECIMAL Variables When Used Multiple Times
Q264646 - FIX: Snapshot Agent Fails with 4408 Error Message If a Merge Publication Contains a Large Number of Join Filters
Q264489 - FIX: Index Tuning Wizard Does Not Process Parameterized Workload Across Batches
Q264687 - FIX: ADO Applications Report a Syntax Error When Column Names Contain Spaces
Q266008 - FIX: Ad Hoc Access Denied Post SP2 with the Use of OPENROWSET
Q265355 - FIX: NCHAR Columns Padded with Empty Strings Instead of Spaces During BCP/BULK INSERT
Q266158 - FIX: Complex Merge Join Might Cause Handled Access Violation
Q266234 - FIX: Parallel Query That Has Many Bit Columns May Cause Access Violation
Q264880 - FIX: Passwords May Be Retrieved from Enterprise Manager and from a DTS Package with No Owner Password
Q265838 - FIX: Attention Events that Occur During Blocking May Cause SQL Server to Stop Responding, Cause AVs or Other Errors
Q265865 - FIX: Float Data Inaccurately Converted When Sent to Linked Server
Q268150 - FIX: INSERT..SELECT with NOT EXISTS Can Choose Slower Merge Join Plan
Q268153 - FIX: Distributed Query with NO_BROWSETABLE Against Timestamp Column Can Cause Access Violation
Q266766 - FIX: Temporary Stored Procedures in SA Owned Databases May Bypass Permission Checks When You Run Stored Procedures
Q268367 - FIX: Posting 4 Digit Dates to SQL Server Errorlog, SQL Executive Log, and Windows NT Application Log
Q268501 - BUG: OLE DB Provider for OLAP Does Not Return Certain Children in PivotTable Service
Q269560 - FIX: LoginTimeout and QueryTimeout Properties in Replication ActiveX Control Are Not Used During Execution
Q271144 - BUG: DTS Execute SQL Task Fails to Complete When Constraints are Violated
Q272220 - FIX: TEXT/IMAGE Data Storage Space Not Reclaimed Correctly
Q272426 - FIX: Error Message 1203 Followed by Stack Overflow With Keyset Cursors
Q271760 - FIX: Incorrect Aggregates After "Incremental Update" of Cube from DTS
Q272457 - FIX: SQL Server Exception Encountered in CQDynArray::Resize
Q271835 - FIX: SPID May Stop Responding with Status of SPINLOOP During a Rollback Operation
Q271841 - FIX: Cursor Fetches Duplicate Row After Positioned Update
Q271848 - FIX: Selection of a Text Column From Keyset Cursor Defined as Join Might Cause Access Violation
Q273009 - FIX: sp_helptext May Fail to Return the Correct Text when a New Line Begins at Multiples of 8000 Bytes
Q273584 - FIX: Multiserver Jobs Fail to Download on French Localized TSX
Q273769 - FIX: SQL Server Setup May Fail If You Select Per Processor Licensing Mode
Q275050 - FIX: OLAP Databases Missing in OLAP Manager with Migrated Repository Database
Q274224 - FIX: Using SQL Server 2000 Merge Modules May Result in Confusing Message
Q274266 - FIX: Data Modification Query with a Distinct Subquery on a View May Cause Error 3624
Q274310 - FIX: Error 823 or 8966 Reported by SQL Server with Insufficient System Resources
Q275304 - FIX: Access Violation with Queries that Involve Hash Join on Large Data Sets
Q274329 - FIX: Optimizer Slow to Generate Query Plan for Complex Queries that have Many Joins and Semi-Joins
Q274330 - FIX: Sending Open Files as Attachment in SQL Mail Fails with Error 18025
Q275427 - FIX: SP2 Regression: Update That Contains a Join Causes a 601 Error Message and Produces Incorrect Results
Q276039 - FIX: Duplicate Hash Keys Generated for Two Distinct Index Key Values on Non-Unique Clustered Index
Q276041 - FIX: Retrieving Text/Image Data May Return Error 5180
Q276067 - FIX: Duplicate Distribution Steps May Lead to Bad Plan Selection for >= or =< Predicates
Q275483 - FIX: Insert Error (Msg 213 ) with NO_BROWSETABLE and INSERT EXEC
Q275536 - FIX: Linked Server Query with Hyphen in LIKE Clause May Run Slower than Expected
Q274706 - FIX: Regression: Compilation of Many UNIONs Takes Excessively Long Time
Q274797 - INF: SQL Server 7.0 Service Pack 3 Fixlist
Q276329 - FIX: Complex Distinct or Group By Query Can Return Unexpected Results with Parallel Execution Plan
Q276419 - FIX: Cannot Run Unattended Install of SQL Server 7.0 on Windows 2000 with Strong Password Policy
Q275900 - FIX: Linked Server Query with Hyphen in LIKE Clause May Run Slowly
Q275901 - FIX: SQL RPC That Raises Error Will Mask @@ERROR with Msg 7221
Q277626 - FIX: Distributed Partitioned View By Using UNION May Not Use Optimal Plan
Q277640 - FIX: Denial of Service Attack with NULL Bytes in RPC Request
Q277716 - FIX: OPENQUERY/OPENROWSET with DB2 Linked Server May Return Incorrect Results with Decimal Datatype
Q277839 - FIX: Active SDES for Negative Object ID Message Logged Followed by Process Termination
Q277843 - FIX: Restore of Log in Standby Mode May Cause 9004 Error Message if the Original Database has Shrink Enabled
Q278280 - FIX: Abort of Multi-Database Transaction Can Fail with Assertion
Q278285 - FIX: Attention During Tempdb Auto Stats May Result in Server Shutdown
Q278421 - FIX: A SELECT Statement with a Large IN Clause May Fail with a Stack Overflow and the Client Disconnects
Q278698 - FIX: Exception Access Violation Encountered During Compile of Hash Match Team Plan
Q279180 - FIX: Bcp.exe with Long Query String Can Result in Assertion Failure
Q279183 - FIX: Scripting Object with Several Extended Properties May Cause Exception
Q279293 - FIX: CASE Using LIKE with Empty String Can Result in Access Violation or Abnormal Server Shutdown
Q279295 - FIX: Parallel Index Creation on Large SMP Hardware Can Cause Handled Access Violation
Q279296 - FIX: Using ALTER TABLE to Change Column Type Can Result in Unexpected NULL Values on INSERT
Q281185 - FIX: Linked Index Server Query Through OLE DB Provider with OR Clause Reports Error 7349
Q281295 - FIX: Merge Replication Synchronization May Be Slow
Q282229 - FIX: SP_OA Procedures Leak Memory and Cause Various Errors
Q282243 - FIX: Incorrect Results with Join of Column Converted to Binary
Q282279 - FIX: Execution of sp_OACreate on COM Object Without Type Information Causes Server Shut Down
Q282455 - FIX: SQL Server Fails to Start When Computer Binds 48 or More Socket Addresses
Q281633 - FIX: SQLOLEDB Provider Incorrectly Leaves Transaction Open
Q281769 - FIX: Exception Access Violation Encountered During Query Normalization
Q280380 - FIX: Buffer Overflow Exploit Possible With Extended Stored Procedures
Q283023 - INF: SQL Server 6.5 Setup on Windows 2000 Needs Remote Registry Service
Q284228 - INF: New Trace Flag to Enhance Stored Procedure Replication
Q284351 - FIX: SQL Server Profiler and SQL Server Agent Alerts May Fail to Work After Installing SQL Server 7.0 SP3
Q283837 - FIX: SQL Server May Generate Nested Query For Linked Server When Option Is Disabled
Q286058 - FIX: Incremental Population of Full Text Catalog takes Longer than Original Catalog Creation
Q286253 - FIX: Multiple SQL Agent Jobs Launched At The Same Time May Fail With Primary Key Error Message
Q286255 - FIX: UNION Query Returns Internal Query Processor Error Message 8623
Q285006 - FIX: XML Parsing Error 6603 or Truncated Text Data with OPENXML
Q285100 - FIX: Local Connection Attempt Fails When Windows NT Server Name is Mixed Case
Q285290 - FIX: Complex ANSI Join Query with Distributed Queries May Cause Handled Access Violation
Q287234 - BUG: No Vertical Scroll Bar in DTS Dynamic Properties Task Properties Dialog Box
Q285870 - FIX: Update With Self Join May Update Incorrect Number Of Rows
Q288122 - FIX: Lock Monitor Uses Excessive CPU
Q289739 - FIX: Distributed Query with Optika Provider May Return Incorrect Results
Support WebCast: Implementing and Accessing Web Services Using Visual Basic 6.0 and the SOAP Toolkit for Visual Studio
Q283696 - INF: Job to Monitor SQL Server 2000 Performance and Activity
#036<<#037
Хостинг рассылки:
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
SQL.RU
ФОРУМ

http://subscribe.ru/
E-mail: ask@subscribe.ru |
|
В избранное | ||