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

MS SQL Server

  Все выпуски  

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


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


#144<<  #145

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.Использование таблицы sysperfinfo для разрешения проблем SQL Server
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Новые и обновлённые технические статьи Microsoft
2.3.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.ПОЛЕЗНОСТИ
4.1.Почему функция SOUNDEX не работает с русскими словами?

СОВЕТЫ

Использование таблицы sysperfinfo для разрешения проблем SQL Server

По материалам статьи Joseph Sack Troubleshooting SQL Server with the Sysperfinfo Table

Когда есть возможность выбора между использованием инструментальных средств GUI или Transact-SQL, автор предпочитает выбирать последнее. Эта статья кратко описывает несколько запросов, которые помогают разрешать проблемы узких мест памяти, которые обычно обнаруживаются с помощью System Monitor (Performance Monitor). System Monitor полезен для отслеживания тенденций в течении какого-то времени (использование журналирования счётчиков), однако иногда автор предпочитает анализировать снимки текущего состояния экземпляра SQL Server. Используя Query Analyzer, Вы можете использовать или интегрировать в свой код представленные ниже запросы, которые автор представил в виде детализированных скриптов Transact-SQL.

Адресное пространство памяти SQL Server 2000 состоит из пула памяти и пула исполняемого кода. Пула исполняемого кода содержит объекты памяти, такие как загружаемые для распределенных запросов OLE DB Provider DLL, DLL - расширенных хранимых процедур, а также исполняемые движком SQL Server файлы и сетевые библиотеки.

Пул памяти содержит различные системные таблицы структур данных; буферный кэш (куда считываются страницы данных), кэш процедур (содержащий планы исполнения Transact-SQL запросов), кэш журналов (каждый transaction log для каждой базы данных имеет свой собственный кэш буферных страниц) и информацию о контексте подключений. Пул памяти - наиболее прожорливый потребитель ОЗУ для типичных случаев применения SQL Server.

Вообще говоря, автор предпочитает идентифицировать большинство проблем с узкими местами в использовании памяти путём анализа ошибок, которые появляются в журнале SQL сервера. Например, пользователь может запустить инструкцию с огромным предложением IN. В таком случае, может появится сообщение об ошибке "Failed to reserve contiguous memory of Size=XXXX". Когда автор видит эту ошибку, он выполняет в Query Analyzer несколько запросов, чтобы точно определить источник снижения или повышения производительности.

Во всех этих запросах, предлагается использовать системную таблицу sysperfinfo. Эта таблица используется для хранения внутренних счётчиков производительности SQL Server - тех же счётчиков, которые можно увидеть в System Monitor.

При поиске потенциального узкого места использования памяти, автор начинает с определения общей доступной памяти, используемой SQL Server. Для экземпляра SQL Server по умолчанию выполните:


SELECT  cntr_value/1024 as 'MBs used'
from master.dbo.sysperfinfo
where object_name = 'SQLServer:Memory Manager' and
   counter_name = 'Total Server Memory (KB)'

Для именованного экземпляра, используется следующий код вместо предыдущего, где InstanceName - вторая часть вашего имени именованного экземпляра, например: ServerNAME\InstanceName:


SELECT  cntr_value/1024 as 'MBs used'
from master.dbo.sysperfinfo
where object_name = 'MSSQL$InstanceName:Memory Manager' and
   counter_name = 'Total Server Memory (KB)'

Этот запрос возвращает размер в Мегабайтах используемой SQL Server памяти. Конечно, это число может изменяться во времени. Использование System Monitor может оказаться необходимым, чтобы отследить тенденции в использовании памяти, которые можно сохранять в журнале (не рассматривающемся в этой статье).

При анализе размера используемой сервером памяти, может возникнуть вопрос: "Почему размер используемой SQL Server памяти меньше доступного максимума?". Максимизация использования памяти потребует дополнительного анализа. Меньшее чем максимальное использование памяти может быть вызвано тем, что экземпляр SQL Server работает на компьютере совместно с другими прикладными программами (что не рекомендуется). Тогда SQL Server не сможет достичь потенциально возможного максимума, т.к. будет конкурировать за ресурсы сервера.

Следующий запрос используется для возврата размера буферного кэша, кэша процедур и свободных страниц в Мбайтах для экземпляра по умолчанию. Для именованного экземпляра, не забудьте заменять 'SQLServer:Buffer' на 'MSSQL$InstanceName:Buffer Manager'.


SELECT  'Procedure
Cache Allocated',
     CONVERT(int,((CONVERT(numeric(10,2),cntr_value)
* 8192)/1024)/1024)
as 'MBs'
from master.dbo.sysperfinfo
where object_name = 'SQLServer:Buffer Manager' and
   counter_name = 'Procedure cache pages'
UNION
SELECT  'Buffer Cache database pages',
     CONVERT(int,((CONVERT(numeric(10,2),cntr_value)
* 8192)/1024)/1024)
as 'MBs'
from master.dbo.sysperfinfo
where object_name = 'SQLServer:Buffer Manager' and
   counter_name = 'Database pages'
UNION
SELECT  'Free pages',
     CONVERT(int,((CONVERT(numeric(10,2), cntr_value)
* 8192)/1024)/1024)
as 'MBs'
from master.dbo.sysperfinfo
where object_name = 'SQLServer:Buffer Manager' and
   counter_name = 'Free pages'

Относительно результатов, возвращённых этим запросом, обратите внимание на очень высокие или низкие значения. Например, ошибка "contiguous memory" появляется, когда буферный кэш большой, а кэше процедур маленький (маленький для вашего запроса). Иногда инструкции или другие запросы пользователей могут создать ситуацию, когда кэш процедуры не может расшириться из-за того, что буферный кэш полностью использован.

Материалы этой статьи не претендуют на полную методологию исследования узких мест использования памяти SQL Server, а скорее являются одной из полезных методик, которую Вы можете использовать при разрешении проблемы в комплекте с другими доступными инструментами.

[В начало]

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

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

Работа с TreeView
На многих форумах посвященных ASP .Net технологии поднимался вопрос работы с TreeView и его динамического заполнения, но решения нужного мне я так и не нашел. Хочу представить свое решение данной проблемы...

[В начало]

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

Virus Alert About the W32.Slammer Worm
PRB: xp_sendmail Using a Microsoft Exchange 2000 Mailbox Fails with Mail Error 0x80004005 or 0x80007005
PRB: Use of OLAP 7.0 Add-In Fails with Outdated Comdlg32.ocx
PRB: Unexpected Errors Using OLE DB Provider for SQL Server
PRB: Unable to See All Cubes When Connecting from Excel 2000 to Analysis Services
PRB: Unable to Register OLAP Client Files with MDAC 2.6 Installed
PRB: SQLCancel Instead of SQLFreeStmt Causes a Memory Leak
PRB: SQL SELECT Query to OLAP Does Not Return Results for Certain WHERE Clauses
PRB: SQL Directory Is Not in the Service Path Until Windows NT Is Restarted
PRB: sp_grantlogin "NT AUTHORITY\SYSTEM" Fails on Microsoft Windows NT 4.0
PRB: Some Database Tables Are Not Available for OLAP Cubes
PRB: Running Multiple DBCC Commands Can Raise Spurious Errors
PRB: OLAP: MSSQLServerOLAPService Should Use Domain Account When Using Integrated Security
PRB: OLAP Services Fail to Start After Windows NT Computer is Renamed
PRB: OLAP Manager Addin or DTS Task Kit Addin Fail to Install if Both Setups are Started Around the Same Time
PRB: OLAP Dates May Display Incorrect Format on Japanese Windows NT 4.0
PRB: ODBC Call Failed or Error 3146
PRB: Memory Error When Loading Large Dimensions
PRB: Error 206 While Processing a Large Cube
PRB: Err Msg - Duplicate Dimension Key "Product" in VBDSOCreateSmallCube Sample Application
PRB: Division by Zero Displays Results in Strange Format
PRB: Cannot Administer SP1 OLAP Server from RTM OLAP Manager or DSO
PRB: An Error Occurs When You Set a Connection Timeout From DSO
PRB: "Unknown Reference" Error with OLAP Sample Projects
MS02-030: SQLXML Security Updates
INFO: Using Return Codes with xp_cmdshell Stored Procedure
INFO: DTC Files Are Removed from SQL Installation
INF: Working with NULL Values in OLAP Services
INF: Using BCP to Import Image Data into SQL Server
INF: Use of Thread Local Storage in an Ext. Stored Procedure
INF: TCP Ports Used by OLAP Services when Connecting Through a Firewall
INF: Stored Procedures Can Be Nested 16 Levels Deep
INF: SQL Server Truncation of a DBCS String
INF: SQL Server Code Pages and AutoAnsiToOem Behavior
INF: SQL Server 7.0 and SQL Server 2000 Logging and Data Storage Algorithms Extend Data Reliability
INF: Rollback Transaction in Triggers at Subscriber Can Break Transactional Integrity
INF: Requirements To Implement Cell-Level Security with OLAP Services
INF: Permissions That You Must Have to Administer an OLAP Server
INF: OLAP: How to Index Star/Snowflake Schema Data
INF: Location of Odbcss.h
INF: How to Write a Variance Query in SQL Server
INF: How to Use OLAP Number Formats with Office Web Components
INF: How to Set Up Security for Linked Server to OLAP Services
INF: How to Obtain the Latest SQL Server 7.0 Service Pack
INF: How to Obtain the Latest SQL Server 2000 Service Pack
INF: How to Monitor SQL Server 2000 Blocking
INF: How to Create Dynamic Table Names in SQL Server
INF: How to Automate an Archive or Backup of OLAP Database
INF: How Sorting Works in OLAP Services
INF: Example Active Server Page to Access OLAP Services
INF: Err Msg "Cannot Obtain Server's Start Directory From Registry"
HOW TO: Use the SQLIOStress Utility to Stress a Disk Subsystem Such as SQL Server
How to Use ListIndexedColumns in SQL-DMO by Using Visual Basic
FIX: VBDSOWriteEnableCube: Debug Assertion Caused by a Data Type Not Addressed in the Sample Code
FIX: Users Cannot Access OLAP Cube from Clients After Installing SP1
FIX: The fn_get_sql System Table Function May Cause Various Handled Access Violations
FIX: SQLTrace Start and Stop is Now Reported in Windows NT Event Log for SQL Server 2000
FIX: SQLMail Extended Stored Procedures May Fail with an Access Violation on SQL Server 2000 SP2 when SQL Server is Run As a Windows NT Service
FIX: SQLDescribeCol Returns Error on Prepared Outer Join
FIX: SQLDescribeCol & SQLColAttributes Give Wrong Nullability
FIX: sqlcursorfetch AVs on Select w/ "Order By," No Join
FIX: SQL Server Text Formatting Functions Contain Unchecked Buffers
FIX: SQL Server CE Subscriptions May Not Be Correctly Marked as Expired
FIX: SQL Server CE Subscribers May Receive Duplicate Changes on Synchronization
FIX: SQL Server CE Subscribers May Encounter Unnecessary Network Traffic on Synchronization
FIX: SQL Mail Operations May Lead to Failures and Memory Leaks
FIX: SQL Enterprise Manager May Experience an Access Violation When It Monitors Remote Servers Over Slow Connections
FIX: Spanish VSwitch Causes Setup to Fail
FIX: sp_OAGetProperty Fails on Properties From Inherited Interface
FIX: SET ANSI_WARNINGS ON Option Does Not Generate Warnings
FIX: Select Statement Can Cause Arithmetic Overflow
FIX: SELECT INTO with TEXT/IMAGE Data Is Not a Non-Logged Operation
FIX: Reinitialized SQL Server CE Subscribers May Experience Data Loss and Non-Convergence
FIX: Registered Remote Servers Disappear from SQL Enterprise Manager in Windows XP When Non-Domain User Password is Changed
FIX: Query Results in Message Body of xp_sendmail are Empty If You Use ansi_attachments Option
FIX: Potential English Query Security Issue
FIX: Patch Available for Script Injection with XML Tag and Unchecked Buffer in SQLXML ISAPI Extension Vulnerabilities
FIX: Optimizer May Consume Too Much Memory if Address Windowing Extensions (AWE) is Enabled
FIX: OLAP:DSO Role Update May Return "Key Already Associated" Error or Cause System Hang
FIX: OLAP: Cannot Upgrade Client Win98 Computer Containing Office 2000
FIX: ODS Errors During Attention Signal May Cause SQL Server to Stop Responding
FIX: New Trace Flag to Enhance Stored Procedure Replication
FIX: Merge Replication Reconciler Stack Overflow
FIX: Merge Publications Cannot Synchronize on SQL Server 2000 SP3
FIX: Merge Non-Convergence for SQL Server CE Subscriber
FIX: Merge Agent for a Filtered Publication Might Fail
FIX: Invoking SQL-DMO Methods By Using "By Reference" Parameters May Cause a Memory Leak
FIX: INSERTs into Temporary Tables with Identity May Cause an Undetected Deadlock
FIX: Infinite Loop Occurs in ESQL Application That Uses Keyset Cursor
FIX: If You Use the sp_reinitmergesubscription Stored Procedure with @UPLOAD_FIRST Set to TRUE Data Loss May Occur for SQL Server CE Subscribers
FIX: If You Change Windows Security to Windows/SQL Security the SA Password is Blank
FIX: Full-Text Search Population of a Word Document Stored in SQL Server Causes CPU Spin with SQL Server 2000 Service Pack 2
FIX: Floating Point Exception (Error 3628) Might Occur for Queries That Need Merged Histograms
FIX: Excessive Optimizer Memory Consumption May Occur for Queries That Have Multiple OUTER JOINS
FIX: EstimatedRows Property of Aggregation is Not Updateable
FIX: Error Occurs when you Exit Internet Explorer or Excel When You Use a Pivot Table Control with a Visual Basic User Defined Function
FIX: Error Messages May Occur During Parallel Processing of Partitions After You Apply SQL Server 2000 Analysis Services SP3
FIX: Error Message: "The specified index already exists" May Occur When Re-initializing Subscription with SQL Server CE Edition
FIX: Error Message 9004 May Occur When You Restore a Log That Does Not Contain Any Transactions
FIX: Error 8623 is Raised When SQL Server Compiles a Complex Query
FIX: Error 231 After Opening a Server Side Cursor
FIX: Error 1203 Occurs with Trace Flag 5302
FIX: Err 1203 Running Dynamic Cursor in a Stored Procedure
FIX: DTSTransferObjects with Events Generates an Error Message and an Access Violation in Visual Basic
FIX: DTS OLAP Processing Task Fails if Package Stored in Repository
FIX: Dimension Wizard: Cannot Browse a Table or a View With a Space in the Table/View Name
FIX: COMMIT TRAN Statement May Fail with Msg 602
FIX: Carriage Return/Line Feed Is Not Correctly Written in Errorlog
FIX: Calculated Members Based on User Defined or MS Excel/VBA Functions Do Not Work when Accessed from Excel and Pivot Table Controls
FIX: After Upgrade to OLAP SP2 Reconnection to Server May Cause "Cannot save object in DSO" Error Message
FIX: ADO Applications Report a Syntax Error When Column Names Contain Spaces
FIX: Abort of DTC Transaction in tempdb May Cause 7105 Errors, Assertions, and Possible Shutdown of SQL Server
FIX: A Query with an Aggregate Function May Fail with a 3628 Error
FIX: A Large Number of NULL Values in Join Columns Result in Slow Query Performance
FIX: A DTS Package That Uses Global Variables Ignores Error Message Raised by RAISERROR
FIX: 3600 Errors Written to ERRORLOG With INSERT..EXEC of xproc
BUG: Xp_grantlogin Has a Memory Leak
BUG: Table Transfer Fails with Msg That Table Does Not Exist
BUG: Structural Changes to a Shared Dimension Fail to Write-Disable Cubes
BUG: Startup Procedure Fails Selecting TEXT/IMAGE Data
BUG: SQLStatistics Does Not Return Unique Index Information
BUG: SQL_PRESERVE_CURSORS Fails on Reuse of a Connection Handle
BUG: SQL SELECT Query to OLAP Does Not Return Results for Certain WHERE Clauses
BUG: SEM Unusable If Database Is Created with Quoted Identifier
BUG: Sample Code VBADOSimple on SQL Server 7.0 CD has Error
BUG: Problem Using 'Create Table' When Transaction Log Is Full
BUG: Placing tempdb in RAM Requires Twice the Configuration Size
BUG: OLE DB Provider for OLAP Does Not Return Certain Children in PivotTable Service
BUG: OLAP Provider Reports OLE DB Version as 1.5
BUG: OLAP Manager:Error Processing When Data Source and Server Use Integrated Security
BUG: OLAP Manager: Unable to Select Correct Data Folder and Temporary File Folder of a Remote Server
BUG: OLAP Manager: Error Browsing When 'All Caption' Name Matches Level Name
BUG: NSQLPREP Substitutes DBCS Object Name with a Null String
BUG: Multiple threads Cause Connection Busy Error in the Driver
BUG: Misspelled OLE DB DataSource Property Names in OLAP Services Help
BUG: Misleading Error Message About Ambiguous Table
BUG: Locks Held Using Optimistic Concurrency with No Unique Index
BUG: Installing OLAP Services in Root Causes Permissions Error When Connecting Remotely
BUG: Incremental Updates of ROLAP Cubes May Fail
BUG: Excel Mode Function Returns #ERR in MDX Calculated Member
BUG: Error 4408 Generates Communication Link Failure, Connection
BUG: DOCERR: Adding a Multiple-Column Measure to a Cube
BUG: DBCC DBREINDEX Can Fail With Msg 603 After Msg 1105
BUG: Cube Metadata Does Not Indicate a Cube Needs to Be Reprocessed
BUG: Changing Partition's Underlying Fact Table Inadvertently Changes Column Name
BUG: Can't Save Changes When OLAP Repository on SQL Server 6.5
BUG: Cannot Drill Down Virtual Dimension with More Than 760 Members
BUG: ADOMD Hangs if no BeginTrans Corresponding to CommitTrans
BUG: "Cannot Start Service" Error Starting OLAP Services

[В начало]

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

Is the Schema Still Needed?
Steve Jones
The notion of a schema has been a part of relational databases for a long time. SQL Server implements this as the owner of the object. But is this a good idea? Have you ever questioned this?
Comparison of Business Intelligence Strategies between SQL and Oracle
Dinesh Priyankara
Recently one of our business clients wanted to have a Business Intelligence System for his company. Because of availability of many BI platforms, he needed to do a comparison between MS SQL Server 2000 and Oracle 9i BI platforms. So, I surfed on various web sites on read many white papers, and ended up with this document
Nesting Stored Procedures
Robert Marda
When one stored procedure calls another stored procedure (SP) you have what is called stored procedure nesting. I often call such stored procedures a switching yard because we often create one stored procedure that executes 1 of many SP’s based on what parameters are sent in. The nest level increases each time a stored procedure calls another SP. When the nest level exceeds 32 the transaction will stop with an error
Performance problems accessing SQL Server via COM+
Narayana Vyas Kondreddi
In this article, I'll share with you, how the SERIALIZABLE transaction isolation level enforced by COM+ effected the performance of an application. At the end of this article I provided links to SQL Server performance tuning books for your reference

[В начало]

ФОРУМ SQL.RU

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

Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
Кто на чем пишет клиентов под SQL Server?
Экзамены по SQL2000 и Windows 2000
1с версия 8.0
Raw partition
Поддержка двух P4 Xeon на SQL Server 2000
Много-много полей типа yes/no
вопрос чайника
SELECT с ограничением количества возвращаемых значений
Какой аналог OnError Resume Next (vb) в T-SQL?
Запрос в QA быстрее чем в Delphi6 + ADO
подмена значения переменной в курсоре
Help!
Как перенести много взаимосвязанных views на другой сервер
После установки SP3 перестали работать отчеты на XML.
Delphi7+dbExpress(MSSQL2000): Можно сделать что-то аналогчное DBE-шным Query ?
OFF: Как задолбал этот ворд
Тупая проблема с таблицей
Производительность запроса
Как лучше идентифицировать бухгалтерсие проводки
SQL Navigator для MS SQL Server 2000
события в MSSQL
Массив
Таблица Temp, Индексы или Cash?
Реплицируемые данные не появляются на PULL-клиенте (continue)
транзакции в С++ Builder
Трассировка блокировок
Как узнать, какой ID сгенерирует MS SQL 2000 для поля ID таблицы FIRMS ?
Кто нить пользовался Execution Plan
На Западном фронте без перемен - 3
Проблемы с импортом из Excel....
Нужен совет знающих людей!
Подключение к SQL по TCP
MDF попал на бэд сектор. Помогите восстановить.
Помогите посчитать количество дней которые товар был на складе
Проблема с DBF-файлами
Суммирование строк по формуле
DTS пакеты
интересная задачка
Maintenance Plan глючит
Удаление базы в MS SQL SERVER 6.5
Как выбрать по максимальному значению!?
помогите написать хп, плз
Открытие таблицы
Что не так? (Insert)
Код один, а результаты разные
Гадский guest в master????
SQL вопрос....
Права доступа для администратора ?
Блокировка при Update
Программы для описания структуры
Условный JOIN...
7.0 on SQL2000 ?
Trace Flag 2520: Help On All DBCC Commands!
Связывание MS SQL и 1C 6.0...
Убрать блокировки базы, ХЕЛП !!!
Помогите оптимизировать запрос
Какие Индексы лутьше для связки
Как можно принудительно завершить джоб
Перенос сервера, проблема!
Как очиститьTransaction Log?
Знатокам XML! Проблема с datetime
Exception 0xc0000005 EXCEPTION_ACCESS_VIOLATION at 0x00000000
Аналог SEQUENCE как в ORACLE.
select for update в процедуре?

[В начало]

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

Оформление SQL-запросов средствами XML
Transaction replication
установка MSDE 1.0 под Win98
Помогите розыскать файл...
Как извлечь из текстового (XML) файла данные в запрос?
офф-лайн репликация ms sql 2000
Нужна статья
SQL CAL 2000
Перенос сервера, проблема!
Перенос сервера, проблема!
изменение имени
Linked Server MS SQL Server 2000
Постоянная очистка каталога Temp
Перестали отрабатываться Job'ы по запуску DTS Package
Обновление значения в таблице Excel - ошибка!?
NT-информация о пользователях SQLServer
Прошу помочь....
исходящая почта не видна в Outlook
Про MSSQLRecovery
Пулинг соединений ODBC
Можно ли конвертировать данные из баз Финансы без проблем

[В начало]

ПОЛЕЗНОСТИ

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

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

Выпуск No. 14 от 2003-05-23
Вопрос : Почему функция SOUNDEX не работает с русскими словами?
Ответ

[В начало]

#144<<  #145

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

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

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




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

В избранное