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

MS SQL Server

  Все выпуски  

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


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

#252<<  #253

СОДЕРЖАНИЕ

1.СТАТЬИ
1.1.Основы I/O в SQL Server 2000 (продолжение)
1.2.Решение проблем, связанных с целостностью данных в Analysis Services 2005 (окончание)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа

Получи SQL Server 2005 CTP и Visual Studio 2005 Team System Beta 2 первым

Для этого открыта ознакомительная программа Beta Experience. Вы станете одними из первых, кто познакомится с новыми возможностями Visual Studio 2005. В программу включены свежие бета-версии инструментов СУБД SQL Server 2005 и Visual Studio 2005 Team System, а также обучающие материалы, которые помогут полнее освоить новые продукты. Почтовая рассылка программы Beta Experience поможет быть в курсе новостей, познакомит с мнениями экспертов и сообщит о мероприятиях, проходящих в вашем регионе. Присоединяйтесь к программе Beta Experience – и вы подготовитесь к выпуску следующей версии SQL Server и Visual Studio. Информация о программе размещена на сайте:
http://www.microsoft.com/emea/msdn/betaexperience/ruru/default.aspx.

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

  • Server: privatenews.microsoft.com

  • Account name: privatenews\sql05

  • Password: feedback

СТАТЬИ

Основы I/O в SQL Server 2000 (продолжение)

По материалам статьи Bob Dorr: SQL Server 2000 I/O Basics
Перевод Александра Гладченко

Завершение работы и интервал регенерации

Штатная операция завершения работы сервера баз данных запускает процесс контрольной точки для всех баз, закрывает все внутренние процессы проверки структур баз данных и завершает процесс SQL Server.
Интервал регенерации (recovery interval) управляет поведением контрольной точки. Когда этот интервал увеличивается, между вызовами контрольной точки в памяти появляется больше "грязных" страниц.
Современные версии Microsoft Windows рассчитывают, что завершение работы SQL Server успешно выполнится за 60 - 120 секунд.

Работа в кластере

Работа в кластере может повлиять на время завершения работы сервера баз данных.

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

  • Кластерный ресурс SQL Server будет отмечен состоянием отказа SQL Server. При этом, в соответствии со сценарием перемещения группы, кластерный процесс физически передаст отказавшие ресурсы под управление другим узлом.

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

  • Microsoft строго рекомендует использовать установленные по умолчанию значения для интервала регенерации, это гарантирует оптимальную метрику регенерации и будет правильно работать с учётом типовых ограничений кластерных ресурсов. Если интервал регенерации превышает 60 секунд, велика вероятность того, что работающий на кластере экземпляр будет переведён агрессивным сценарием в автономное состояние. Хотя применение агрессивных сценариев поддержки отказоустойчивости и имеет множество плюсов, они нежелательны. Если процесс регенерации сопряжён со значительными сложностями, вызванными большим числом транзакций, Microsoft рекомендует оптимизировать размещение баз данных, физическое размещение их файлов и физических каналов I/O, а не корректировать интервал регенерации, в целях повышения его производительности.

Корректировка интервала регенерации

После корректировки интервал регенерации могут возникнуть несколько побочных эффектов. Обдумайте их тщательно перед тем, как корректировать интервала регенерации.

Время жизни "грязных" страниц - страница считается "грязной", когда имели место изменения её данных. Грязная страница не может быть удалена из буферного пула SQL Server, пока вначале связанные с ней записи журнала транзакций и затем сама страница не будут записаны непосредственно на долговременный носитель. Увеличение интервала прохождения контрольной точки (после увеличения интервала регенерации) под высокой нагрузкой системы провоцирует вытеснение обработки грязных страниц под управление кода программы отложенной записи. Это может привести к полной деградации производительности, потому что отложенная запись не предназначена для исполнения действий, подобных контрольной точке.
Программа отложенной записи действительно исполняет соответствующие её действия с грязными страницами, чтобы обеспечить гарантию целостности данных и высвобождение свободного места, но, в отличие от процесса контрольной точки, она не приспособлена для сокращения времени жизни грязных страниц. Контрольные точки позволяют более продуктивно сохранять грязные страницы. Передача функций контрольных точек программе отложенной записи увеличит время ожидания, потому что отложенная записи вынуждена исполнять I/O для отложенных буферов, вместо простых операций в памяти, обеспечивающих свободное место. Если Вы изменили интервал регенерации, нужно проверить показания счётчиков производительности, относящиеся к программе отложенной записи.

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

Продолжительность регенерации - Увеличение интервала регенерации может привести к увеличению времени регенерации. Если SQL Server не штатно завершает свою работу (неожиданное завершение процесса или, например, происходит падение напряжения), во время следующего старта, менеджер регенерации обеспечивает правильность состояния транзакций базы данных. Если контрольная точка запускается не часто, и это приводит к значительному увеличению числа грязных страниц, не штатное завершение потребует для менеджера регенерации исполнение большого числа откатов и проверки транзакций, необходимых для возврата базы данных к непротиворечивому состоянию транзакций. Основным фактором, влияющим на производительность этой операции, является то, что буферный пул SQL Server будет "холодным" (в памяти не будет страниц) во время регенерации. Процедура восстановления должна будет считать в память все соответствующие страницы базы данных и сделать необходимые изменения. Это может увеличить время ожидания регенерации, что является нежелательным для промышленных применений. Увеличение интервала регенерации часто приводит к потерям в производительности и к дискриминации требований к доступности приложений.
Например, предположим, что при штатной загрузке системы контрольная точка каждую минуту должна сбрасывать на диск 250 Мб грязных буферов. В соответствии с алгоритмом работы контрольной точки, при интервале регенерации в 10 минут, на диск будет сброшено 2500 Мб данных, если все другие влияющие факторы останутся постоянными. Если продолжительность контрольной точки превысить величину интервала, тогда для этого дискового массива стоит увеличить число дисков, что бы все страницы успевали обрабатываться, и возможности параллельной обработки были задействованы полностью. Однако, 2500 Мб грязных страниц сами по себе потребуют достаточно больших затрат для поддержания удовлетворительной работы процесса регенерации.

Обзор моделей резервирования

Microsoft SQL Server 2000 использует несколько моделей резервирования баз данных: Full, Bulk-Logged и Simple. Рабочая нагрузка прикладной системы при разных моделях резервирования может получить разное поведение I/O. Приложение, аппаратное решение и модель резервирования должны выбираться из бизнес - требований к развертываемой системе по резервированию и восстановлению.

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

[В начало]

Решение проблем, связанных с целостностью данных в Analysis Services 2005 (окончание)

По материалам статьи T.K. Anand, Microsoft Corporation: Handling Data Integrity Issues in Analysis Services 2005
Перевод Виталия Степаненко

Март 2005 года

О чем эта статья: В статье рассматриваются типичные проблемы, связанные с целостностью данных, и показывается, какие средства дает Analysis Services 2005 для решения этих проблем. (10 печатных страниц)

Относится к:
SQL Server 2005 Analysis Services

Содержание

Вступление
Типы проблем, связанных с целостностью данных
Элементы управления целостностью данных
Сценарии
Заключение

Сценарии

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

Проблемы целостности данных в таблице фактов

Таблица фактов sales имеет записи с product_id, которые не существуют в таблице измерений product. Сервер выдаст ошибку KeyNotFound во время обработки. По умолчанию ошибки KeyNotFound логирутся и ведется их подсчет до предела количества ошибок, который по умолчанию равен нулю. Поэтому обработка прервется на первой же ошибке.

Решением является изменение ErrorConfiguration для группы измерений. Ниже показаны две альтернативы:

- Установить KeyNotFound = IgnoreError.

- Установить KeyErrorLimit равным достаточно большому числу.

По умолчанию обработка ошибок KeyNotFound заключается в постановке записи из таблицы фактов в соответствие неизвестному элементу. Другой альтернативой является установка KeyErrorAction равным DiscardRecord, чтобы проигнорировать эту запись из таблицы фактов.

Проблемы целостности данных в таблице измерений SnowFlaked

Таблица измерений product имеет записи с product_class_id, которых не существует в таблице измерений product_class. Эта проблема обрабатывается таким же образом, как и в предыдущей главе, кроме необходимости модификации ErrorConfiguration для измерения.

Внешние ключи со значением NULL в таблице фактов

Таблица фактов sales имеет записи, в которых product_id равен NULL. По умолчанию все значения NULL конвертируются в ноль, и уже нулевое значение ищется в таблице product. Если существует product_id, равный нулю, то соответствующие данные таблицы фактов соотносятся с этим значением product (возможно, это не то, что Вы хотели). В противном случае выдается ошибка KeyNotFound. По умолчанию ошибки KeyNotFound логируются и производится подсчет количества таких ошибок до предела количества ошибок, который по умолчанию равен нулю. Поэтому обработка прервется после первой же ошибки.

Решением является изменение NullProcessing в свойстве группы измерений. Ниже показаны две альтернативы:

- Установить NullProcessing = ConvertToUnknown. Эта установка сообщает серверу, чтобы он поставил записи со значениями NULL в соответствие неизвестному элементу "Invalid Product". При этом также генерируются ошибки NullKeyConvertedToUnknown, которые по умолчанию игнорируются.

- Установить NullProcessing = Error. Эта установка сообщает серверу, чтобы он игнорировал записи со значением NULL. При этом также генерируются ошибки NullKeyNotAllowed, которые по умолчанию логируются и их количество подсчитывается до достижения предела количества ошибок. Это можно регулировать с помощью изменения ErrorConfiguration в группе измерений.


Рис.5. Диалоговое окно Edit Bindings

Заметьте, что свойство NullProcessing должно быть установлено у KeyColumn свойства группы измерений. Во вкладке Dimension Usage дизайнера кубов отредактируйте отношение между измерением и группой измерений. Нажмите кнопку Advanced, выберите свойство масштабируемости и установите NullProcessing.

NULL в таблице измерений Snowflaked

Таблица измерений product имеет записи, в которых product_class_id имеет значение NULL. Эта проблема обрабатывается таким же образом, как и в предыдущей главе, кроме необходимости установки NullProcessing у KeyColumn в DimensionAttribute (в панели Properties дизайнера измерений).

Несогласованные отношения в таблице измерений

Как было описано ранее, несогласованные отношения в таблице измерений приводят к задвоению ключей. В примере, описанном ранее, brand_name со значением "Best Choice" появляется дважды с разными значениями product_class_id. Это приводит к ошибке KeyDuplicate, которая по умолчанию игнорируется, а сервер игнорирует задвоенную запись.

В качестве альтернативы можно установить KeyDuplicate = ReportAndContinue/ReportAndStop, что приведет к логированию ошибок. Этот лог можно будет потом исследовать для определения потенциальных недостатков в дизайне измерений.

Заключение

Решение проблем целостности данных может оказаться нелегкой задачей для администраторов баз данных. SQL Server 2005 Analysis Services предоставляет сложные элементы управления, такие, как Unknown Member (неизвестный элемент), Null Processing (обработка Null) и Error Configuration (конфигурирование ошибок), которые сильно упрощают задачи управления кубами.

[В начало]

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

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

Вышли новые бета-версии
Брайан Моран
MSSQLServer: Microsoft объявила о доступности Visual Studio 2005 Beta 2, .NET Framework 2.0 Beta 2 и SQL Server 2005 April Community Technology Preview (CTP). Также сообщается о новой программе лицензирования GoLive!, предусматривающей возможность развертывания приложений Visual Studio 2005 и SQL Server 2005 Express Edition в рабочей среде еще до выпуска указанных продуктов. Открыт общедоступный сайт Microsoft, где каждый может заявить о своем желании участвовать в программе Technical Adoption Program (TAP), в рамках которой клиентам предоставляется право включать в рабочую эксплуатацию предварительные варианты (CTP) версий SQL Server 2005 Standard и Enterprise Edition. Как говорится в адресованном сообществу SQL Server открытом письме старшего вице-президента Microsoft Пола Флес...

Windows Server 2003 SP1: проблема совместимости
Поль Тюрро
Microsoft опубликовала список из 14 серверных приложений, в различной степени несовместимых с Windows Server 2003 Service Pack 1 (SP1). Таким образом, подтвердились опасения, что низкоуровневые изменения, сделанные в целях безопасности, могут вызвать неполадки в работе программ. Самое удивительное: многие приложения в этом списке принадлежат именно Microsoft....

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

Roman's Weekly SQL Server Tip - Enabling job status notifications with DB Maintenance plans
Roman Rehak
The Database Maintenance Plan Wizard doesn't give you an option to configure job status notifications for the maintenance jobs it creates. You can configure these jobs to send notifications, but you have to do it after you ran the wizard. Open the job properties and configure the Notifications section just like you would for any other types of jobs. For example, you can look up the backup job created by the wizard and then configure it to send you an email if a database backup fails

Understanding mining model attributes
DMTeam
Gain insight into the mining algorithm's view of your data and learn how to retrieve this information programmatically

Deployment of assemblies to Sql Server 2005
Niels SQL Server Blog
As I have blogged about before, I am not terribly pleased with the deployment mechanism of assemblies to SQL Server 2005 from the "SQL Server Project" project-type in Visual Studio 2005, and I created my own MSBUILD deployment tasks instead. Sporadically I have uploaded these tasks for general consumption and the latest realease targetting the April CTP of SQL Server 2005 and .NET can now be downloaded from here. Nothing has changed in this release from the previous release. However I still want to point out a couple of things

Descriptive Statistics – Frequencies & Means
Dejan Sarka
In our Vienna and Madrid SQLU summits I had quite a few presentations on Data Mining. One of the most important parts of Data Mining is data comprehension. In order to gather basic knowledge about your data, you need descriptive statistics functions and procedures. Some of them are included in T-SQL, like Avg, Var, VarP, StDev and StDevP. In version 2005 row and rank functions can be very useful as well. During the presentations I got interesting feedback – attendees liked explanation of these functions from statistical point of view and also some T-SQL solutions

Do you see "Failed to load Msxmlsql.dll" when using the April CTP with OpenXML?
Michael Rys
As part of our improvements on OpenXML, we have changed the MSXML component from 2.6 to 3.0 (running in 2.6 backwards-compatibility mode) and moved to a private DLL (called MSXMLSQL.DLL) in order to avoid the reboot requirement when installing SQL Server 2005. This change has been released the first time in the April CTP and will also be included in SQL Server 2000 SP4 (yeah!)

Migrating Database Objects
Jeffrey Yao
Not a fun task, although SQL Server 2000 makes the job easier than a few other platforms. Still it's work and it starts to encroach on Jeffrey Yao's two DBA laws having to do with fun at work. Read about his laws and see if you agree and follow along on a real world adventure in migrating hundreds of database objects to a new database

Building a community debt tracker webapp
Write Ahead Blog
Having built webapps in Java and PHP, I have been curious about ASP.NET. So I decided to teach myself some basic ASP.NET programming by building a useful webapp. A common problem that I've faced going for dinners/movies/shopping with other single friends is splitting bills and keeping track of who owes who how much. It is typical in the plastic money era for us not to have any cash on ourselves. So when they bring the check it is quite tedious to request it being charged to 8 different credit cards with varying amounts. We end up with just one or two of us paying on behalf of others who try to remember the small debts they owe. Three or four such transactions per week and an ever growing social network of friends makes tracking these debts pretty hard

Yukon Empahsizes XML
ftponline.com
Jon's Radio on InfoWorld.com has an interesting post based on interviews with Michael Rys about SQL Server 2005's implementation of XML

Making the Case for Enterprise ETL
Stephen Swoyer
Last week, we examined the surprising abundance of ad hoc ETL solutions that still accomplish much of the day-to-day data integration legwork in many enterprises. There are a number of reasons why organizations typically embrace ad hoc approaches to ETL (e.g., scripting, programmatic SQL) over bona-fide enterprise ETL tools—not the least of which is pricing. (Read last week's article at http://www.esj.com/business_intelligence/article.aspx?t=y&EditorialsID=7497.)

XML Indexing In SQL Server 2005
Shankar Pal, Istvan Cseri, Oliver Seeliger, Gideon Schaller, Leo Giakoumakis, Vasili Zolotov
Intrested in how to index XML documents? Here's a 12 page PDF on how this works

How to use trace flags in SQL Server 2000
Christoffer Hedgate
SQL Server 2000 trace flags can dramatically alter the behavior and functionality of the server. There are a number of ways that they can be enabled and Chris Hedgate brings us a tutorial on their use and benefits

Why you shouldn't compress SQL Server data and log files
Ken Henderson's WebLog
Most knowledgable SQL Server DBAs know you shouldn't compress a database's data and log files, but I'll wager that few know the details behind why that's such a bad idea. The general reply might be "Performance" -- and that's correct -- but the assumption that the performance hit you take when you compress data/log files is due to compressing/decompressing data is only part of the story. There's a lot more to it than that

SQL Server: Customized Calendar Tables
Muthusamy Anantha Kumar
SQL Server job schedule configuration is limited to a one-time occurrence: daily, monthly and weekly. [Refer Fig 1.0] There are many occasions when you need to run a job on certain dates in a year. Many Finance and pharmaceuticals companies have End of Month processing, End of Week processing, etc. where batch jobs need to be executed on a certain day of the month and/or week. Some companies have to execute certain jobs only on holidays while others require procedures to be executed if yesterday was a holiday

Microsoft Great Plains SQL Reporting And Data Fixing
Andrew Karasev
This is beginner level SQL scripting article for a DB Administrator, Programmer, or IT Specialist. Our and Microsoft Business Solutions' goal here is to educate the database administrator, programmer, and software developer to enable them Microsoft Great Plains support for their companies. In our opinion self support is the goal of Microsoft to facilitate implementation of its products: Great Plains, Navision, Solomon, Microsoft CRM. You can do it for your company, being aware of simple data repair techniques and appealing to Microsoft Business Solutions Techknowledge database. This will allow you to avoid expensive consultant visits onsite. You only need the help from a professional when you plan on complex customization, interface or integration, then you can appeal to somebody who specializes in these tasks and can do inexpensive nation-wide remote support for you

Why does sp_spaceused return inaccurate values?
aspfaq
There is some subtraction going on within sp_spaceused, which grabs some of its information from the sysindexes table. If the columns in sysindexes are not synchronized with what's actually in your database, it is quite possible that certain columns in both resultsets of this procedure can contain negative values. This is especially true after a large number of insert/update/delete operations, or after a shrinkdatabase or shrinkfile, or after a large DTS import, or after dropping or truncating tables. These operations do not have any trigger-like activity that affects sysindexes, so the data it is using to calculate data file sizes and space usage are out of sync, and these deltas lead to strange values indeed

If you use encryption in the April CTP, read this first
Tom Rizzo
If you are going to use the April CTP with encryption, please note that some of the T-SQL syntax has changed. BOL is behind so it has incorrect information

XML Tools in Visual Studio 2005
David Boschmans' Weblog
Ken Levy, VS Data Product Manager and a Channel 9 veteran interviewee, gets interviewed by Scoble and shows the new XML tools in Visual Studio 2005. These new XML tools are useful to any developer working with XML no matter what primary programming language is used. The free beta Visual Studio 2005 beta 2 includes these new XML tools. All level versions of Visual Studio 2005 including the Visual Studio 2005 Express versions (Web, VB, C#, C++, J#) include the new XML editor. Visual Studio 2005 Professional level and higher has all of these new XML tools including the new XSLT editor/debugger

Using CROSS APPLY in SQL Server 2005
graz
My interest in writing this article was started by an MSDN article titled SQL Server 2005: The CLR Enters the Relational Stage. The article shows how to write a function that returns the top three countries per category. That's always been something that was difficult to do in SQL so I was curious about the approach. The article started out well but I was very unhappy by the end. It's just soooo much easier to do this in SQL Server 2005 using the new CROSS APPLY clause in Transact-SQL. So I'm going to write a query to return the top 3 orders for each customer and I'm going to do it in about 10 lines of SQL

Configuration Manager - Startup account change fails
Blog Entries
Well, with the release of the April CTP drop, otherwise known as IDW14 or build 9.0.1116, the idea is just about everything that is going to be in the final version is here and ready to be played with

Rev Up Performance with Custom Connectors
Douglas McDowell, Jay Hackney
One of the most dramatic changes in SQL Server 2005 is the redesign of Data Transformation Services (DTS); renamed SQL Server 2005 Integration Services. SSIS is a strong extraction, transformation, and loading (ETL) product that offers insane performance, a large catalog of dynamic components, a sound deployment model, and flexibility and extensibility. Extensibility has been a strong suit for Microsoft products, and the company has concentrated on building robust platforms that meet common customer needs but that customers can extend to meet uncommon needs as well. As you consider the role SQL Server 2005—and particularly SSIS—will fulfill in your environment, you need to understand what platform extensibility will let you do

When is Ragged Right right for Fixed-length files?
Hitachi Consulting Yukon Team
It's natural to expect that if you have a Fixed Length file, that you should choose the SSIS Fixed Length file type. But Fixed Length is really for binary files, where there are no CRLF characters at the end of the lines. If you have a fixed length text file, and want to eliminate the delimiter, use Ragged Right flat file, and for the final column, specify CRLF as the delimiter

[В начало]

ФОРУМ SQL.RU

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

Кто на чем пишет клиентов под SQL Server?
БД: логическая связь таблиц. Какие плюсы?
отправка сообщения с сервера MSSQL по всем ADO коннектам текущей БД?
Delete from ... with (index(0)) ???
Знает ли процедура собственное имя?
данные из Paradox в SQL Server
генерация значения ключевого поля до insert
Как выбрать следующую запись по времени запросом
Deadlock между Select и Insert
Прошу голосовать за SQL.RU в конкурсе Интернить 2005
Опять проблема с репликацией!
Временная таблица из Select...into...openrowset в хранимой процедуре дохнет при рождении
Пустые NT_userlogin
DTS -> как мне сделать экспорт в Excell с 15 строки и другие вопросы.
Сортировка чисел в строке
Как работать с типом данных table?
Преобразование адреса KLADR в числовой код !!!
Использовать архиватор в MSSQL
Объясните пожалуйста команду DBCC REBUILD_LOG
MS SQL - интернет

[В начало]

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

зависает ЕМ при обращении к свойствам SQL server agent
Проблема с CDO - MAPI_E_LOGON_FAILED(80040111)
Скрытые булевы операторы для CONTAINS
Не устанавливается SQL Server 2005 Express Edition CTP
Восстановить базу из файла данных (mssql 6.5)
Распределенная транзакция SQL Server 2000 -> Oracle 10g
Экспорт данных
Параметризация преобразований DTS

[В начало]


Вопросы, предложения, коментарии, замечания, критику и т.п. оставляйте Виталию Степаненко и Александру Гладченко в форуме: Обсуждение рассылки

СЕМИНАРЫ  КОНФЕРЕНЦИИ

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



ПУБЛИКАЦИИ  АРХИВ


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.winsoft.sqlhelpyouself
Отписаться

В избранное