SQL.RU
 client/server technologies
 Главная | Документация | Статьи | Книги | Форум | Блоги | Опросы | Гостевая | Рассылка | Работа | Поиск | FAQ |
   
#348<<  #349  >>#350

СОДЕРЖАНИЕ

1.СТАТЬИ
1.1.Основы ввода-вывода Microsoft SQL Server. Часть 2 (продолжение)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.КНИГИ
4.1.Программирование баз данных Microsoft SQL Server 2005. Базовый курс
4.2.Основы разработки приложений на платформе MS .NET Framework 2.0 (экз. № 70-536)
 

 

СТАТЬИ

Основы ввода-вывода Microsoft SQL Server. Часть 2 (продолжение)

По материалам статьи Bob Dorr: Microsoft SQL Server I/O Basics. Chapter 2

Динамическое административное представление dm_io_pending_io_requests

SQL Server 2005 предоставляет возможность динамического мониторинга информации об обслуживаемом вводе-выводе, что позволяет администратору базы данных определить подверженные задержке ввода-вывода базы данных, их файлы и смещения в этих файлах. Динамическое административное представление (DMV) dm_io_pending_io_requests предоставляет подробную информацию о выполнении и состоянии каждого из исполняемых запросов ввода-вывода. Эта информация может использоваться службой поддержки платформ Microsoft и разными утилитами, для выяснения первопричин задержек. Для получения более подробной информации, посетите сайт поддержки: http://support.microsoft.com, на котором ищите информацию о трассировке событий IRP и ETW.
Столбец представления io_pending содержит одно из ключевых значений возвращаемого набора, он указывает на то, находится ли запрос ввода-вывода в обработке или подсистема ввода-вывода уже завершила его обслуживание. Значение этой колонки определяется с помощью вызова HasOverlappedIoCompleted, который показывает состояние запроса ввода-вывода. В представленной далее таблице показаны возможные для колонки io_pending значения:

Значение
io_pending

Описание

TRUE

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

FALSE

Указывает на то, что запрос ввода-вывода закончен и возможны дополнительные действия по обслуживанию задачи в SQL Server.
Если длительность задержки ввода-вывода продолжает увеличиваться, это может привести к проблемам в работе планировщика SQL Server. Для изучения работы планировщика SQL Server и возникающих при этом проблем, обратитесь к обзорному документу: How to Diagnosis and Correct Errors 17883, 17884, 17887, and 17888.

Столбец io_pending_ms_ticks - число миллисекунды (ms), прошедших с момента отправки запроса ввода-вывода операционной системе.
io_handle - дескриптор файла, с которым связан запрос ввода-вывода. По этому столбцу можно составить соединение по столбцу file_handle с динамической административной функцией (DMF) dm_io_virtual_file_stats, и в результате узнать конкретный файл и ассоциированную для ввода-вывода базу данных. Ниже показан пример запроса, который позволяет получить эту информацию.

SELECT fileInfo.*, pending.* FROM sys.dm_io_pending_io_requests AS pending INNER JOIN (SELECT * FROM sys.dm_io_virtual_file_stats(-1, -1)) AS fileInfo ON fileInfo.file_handle = pending.io_handle

Этот запрос можно расширить, добавив вывод информации о типе и названии базы данных, или добавить вычисление затронутого PAGEID, используя для этого смещение (Offset/8192 = PAGEID).
ПРЕДУПРЕЖДЕНИЕ: DMV и DMF в своей работе обращаются к внутренним системным структурам. Внутренние структуры могут быть доступны только для безопасных потоков, и это может сопровождаться изменением производительности. Использование обращаются к ядру SQL Server динамических административных представлений и функций должно быть сведено к минимуму, что бы это не вредило общей производительности сервера.

Повторное чтение

В SQL Server 2005 внесены изменения в логику использование повторного чтения страниц данных, что призвано повысить уровень последовательности операций чтения. Повторное чтение выполняет ту же операцию чтения после отказа предыдущей операции чтения, что бы попытаться все-таки завершить операцию чтения успешно.
Microsoft с успехом использует операции повторного чтения, что позволяет компенсировать неустойчивую работу подсистем ввода-вывода. Повторные чтения могут маскировать проблемы нарушения целостности данных в подсистеме ввода-вывода и должны быть тщательно изучены, чтобы определить и устранить их первопричину. Например, разрушающийся диск может периодически возвратить неправильные данные. Повторное чтение может вернуть правильные данные и тем самым способствовать хорошей последовательности чтения во время исполнения запроса. Однако, такая ситуация явно говорит о том, что диск находится под угрозой и он должен быть тщательно проверен, чтобы предотвратить потерю критических данных.
Microsoft добавило логику повторного чтения в Exchange Server, и было выявлено улучшение последовательности операций чтения. В этой главе Вы узнаете, как и когда SQL Server 2000 и SQL Server 2005 исполняют операции повторного чтения.

Повторы для ресурса

SQL Server 2000 исполняет повторное чтение только если в начале операции чтения происходит сбой и возвращаются ошибки операционной системы: ERROR_WORKING_SET_QUOTA (1453) или ERROR _NO_SYSTEM_RESOURCES (1450). В отличие от более развитых возможностей SQL Server 2005, SQL Server 2000 не использует других форм повторного чтения, кроме как повтор сортировки.
Когда происходит ошибка, исполнитель SQL Server выжидает 100ms и снова пробует повторить операцию чтения. Этот цикл продолжается, пока ввод-вывод не пройдёт успешно. Упрощенный алгоритм показан ниже.

WHILE(    FALSE == ReadFile()
    && (1450 == GetLastError() || 1453 == GetLastError())
)
{
    Yield(100);
}

SQL Server 2005 использует ту же самую логику когда нужно запустить операцию чтения.

Повтор сортировки

SQL Server 7.0, 2000 и 2005 используют логику повторов, связанную с сортировкой. Чаще всего, такие повторы появляются в виде записей в файле регистрации ошибок SQL Server, в которых упоминается 'BobMgr'. Когда чтение из очереди буфера сортировки в tempdb оканчивается неудачей, SQL Server пробует повторить эту операцию чтения снова. Повтор выполняется всего несколько раз, после чего считается, что сортировка окончилась сбоем. Повтор сортировки является серьезной проблемой стабильности ввода-вывода. Чтобы исправить эту проблему, пробуйте переместить базу tempdb в другое место.

Повторы чтения при других отказах

В SQL Server 2005 внесены улучшения в логику повторного чтение. Они направлены на то, чтобы чтение выполнялось и в тех случаях, когда отказ произошёл уже после того, как чтение было успешно начато. Если ReadFile возвращает TRUE, это указывает на то, что операционная система приняла от приложения запрос на чтение из файла. Если после этого происходил отказ, SQL Server выдавал ошибки 823 или 824.
SQL Server 2005 использует операции повторного чтения для того, чтобы сохранить непрерывность чтения даже тогда, когда чтение закончилось ошибкой, вызванной нехваткой ресурсов. В любых отличных от нехватки ресурсов случаях, возможны еще четыре повторные попытки.
Каждый последующий повтор выжидает некоторое время, после чего операция чтения может быть повторена ещё раз. Время выжидания рассчитывается по следующей формуле: ("время выжидания" = "номер попытки повтора" * 250ms). Если состояние ошибки не исчезает после четырех повторов (всего пять попыток: первое чтение и четыре повтора), выдаётся сообщение об ошибке 823 или 824. SQL Server 2005 сохраняет исходное описание состояния ошибки, например, это может быть расхождение контрольной суммы. Эти сообщения об ошибках сохраняются в файле регистрации ошибок SQL Server.
Если повтор выполнился успешно, к файлу регистрации ошибок SQL Server добавляется особое информационное сообщение, которое указывает на то, что были повторы. Вот пример такого сообщения:

"A read of the file «FILE NAME» at offset «PHYSICAL OFFSET» succeeded after failing «RETRY COUNT» time(s) with error: «DETAILED ERROR INFORMATION». Additional messages in the SQL Server error log and system event log may provide more detail. This error condition threatens database integrity and must be corrected. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online."

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

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

[В начало]

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

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

Рекурсивные запросы в SQL:1999 и SQL Server 2005
Frederic BROUARD
Каждый хотя бы однажды за свою жизнь имел опыт использования рекурсии. Когда я был молод, однажды находился в отпуске в Париже в старом здании, в котором коридор имел две зеркальные стены. Когда я прошел между этими зеркалами, мое тело было отражено бесконечное число раз, и я был очень горд, радостно восхищаясь моим изображением и имея конкретное представление бесконечности. Это и есть рекурсия... Процесс, который способен воспроизводить сам себя в течение некоторого промежутка времени.

Выйди из "пробки" в SQL Server при помощи DBCC
Arthur Fuller
В моменты бедствия проверка согласованности базы данных (DBCC), может оказаться вашим самый ценным другом. Здесь приводится краткий обзор того, что DBCC может сделать для Вас, в частности:

SQL Native Client: введение
Acey J. Bunch
Возможно, вы уже слышали о новой технологии доступа к данным, названной "SQL Native Client", которая поставляется с SQL Server 2005. Но прежде, чем мы начнем ее обсуждать, уясним для себя, что подразумевается под словом "новая". Новым в этой библиотеке доступа к данным является то, что она не существовала до появления SQL Server 2005, однако очевидно, что это не некая радикально новая схема доступа к данным!

Начинаем работать с SQL Native Client
Chris Lee
Как Acey Bunch уже объяснил в апрельском блоге, SQL Native Client удовлетворяет потребностям тех разработчиков, которые хотят использовать новые возможности SQL Server 2005 из приложений, работающих через ADO, ODBC и OLE DB. Для тех из Вас, кто еще не обращался к SQL Native Client, мы начинаем изучение его использования. Хорошая новость состоит в том, что это очень просто. Мы реализовали очень небольшое количество новых интерфейсов для OleDb, однако самые новые функциональные возможности реализованы через атрибуты подключения или операторы, которые Вы уже знаете, как использовать.

Нарастающие итоги в запросах SQL Server
Arthur Fuller
Вам поручают создать запрос в SQL Server, содержащий нарастающие итоги на момент наступления события. Классическим примером является счет в банке. Для каждого заданного счета вы суммируете дебиты (депозиты) и кредиты (снятие средств) на данный момент времени. После каждой транзакции Вы хотите знать текущий баланс. В листинге А приводится простой пример создания такой таблицы.

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

Возможные причины появления сообщения об ошибке "SQL-сервер не существует, или отсутствует доступ"
Microsoft
"SQL-сервер не существует, или отсутствует доступ" - это универсальное сообщение компонентов доступа к данным Microsoft (MDAC), которое свидетельствует о том, что установить соединение с компьютером под управлением Microsoft SQL Server не удается. Появление сообщения возможно по нескольким причинам, некоторые из них описаны в разделе "Дополнительные сведения" этой статьи.

Устранение основных неполадок, возникающих при использовании протокола TCP/IP
Microsoft
В статье приводятся рекомендации по устранению наиболее распространенных неполадок, которые возникают в работе сетей, использующих протокол TCP/IP. Как правило, эти неполадки относятся к одной из следующих категорий.

SQL Server 2005 сертифицирован в России
Открытые системы
Российская федеральная служба по техническому и экспортному контролю (ФСТЭК) сертифицировала русские версии СУБД Microsoft SQL Server 2005 Standard Edition и Enterprise Edition. Выданные сертификаты свидетельствует о том, что данная СУБД имеет оценочный уровень доверия ОУД 1 (усиленный) в соответствии с руководящим документом "Безопасность информационных технологий. Критерии оценки безопасности информационных технологий" (Гостехкомиссия России, 2002г.) и может использоваться для создания автоматизированных систем для класса защищенности 1Г включительно. Объектом сертификации стала не только СУБД Microsoft SQL Server 2005, но также система производства и распространения, организованная ФГУП "Предприятие по поставкам продукции Управления делами Президента Российской Федерации" и компанией "Алтэкс-строй". В результате заказчики смогут получать любое количество необходимых им сертифицированных продуктов в течение всего срока действия сертификата. Сертификация производства Microsoft SQL 2005 Standard Edition и Enterprise Edition обеспечивает получение сертифицированных обновлений, что позволит потребителю постоянно соответствовать законодательству.

Вышел Service Pack 2 для SQL Server 2005
Служба новостей IDG
Корпорация Microsoft выпустила второй сервисный комплект для SQL Server 2005 и объявила о введении новой схемы лицензирования СУБД для исполнения в виртуализованных средах. Обладатели полной лицензии на SQL Server 2005 Enterprise Edition могут исполнять на одном сервере неограниченное количество виртуальных копий SQL Server 2005 с установленным Service Pack 2. В SP2 улучшена возможность взаимодействия с программными продуктами сторонних компаний. В частности, генератор отчетов Report Builder позволяет выводить произвольные отчеты по данным, хранимым в продуктах Oracle и в СУБД Essbase компании Hyperion Solutions. Сервисный комплект имеет следующие особенности: дополнения для Excel и Visio, позволяющие выполнять добычу данных с помощью OLAP-механизма SQL Server Analysis Services; интеграция SQL Server Reporting Services с SharePoint; новые средства администрирования, в том числе "мастер" копирования базы. SQL Server 2005 SP2 - пока единственная версия СУБД Microsoft, которая будет поддерживаться в серверной ОС Longhorn, выходящей во второй половине года, и единственная, поддерживаемая в Vista.

Переход на летнее время, память сервера и другие темы
Nancy Michell
В. Принимая во внимание предстоящее изменение графика перехода на летнее время в США, нужно ли мне обновить приложение SQL Server™ для выполнения требований Закона об энергетической политике (Energy Policy Act) 2005 года?

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

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

Как добиться высокого уровня доступности сервера SQL Server
Zach Nichter
Высокий уровень доступности - это концепция, которую должен понимать каждый администратор баз данных. Она относится к скорости отклика и доступности системы. Иногда высокий уровень доступности означает время отклика в пределах нескольких секунд, в то время как в других случаях речь идет о долях секунды. Однажды я консультировал компанию, веб-серверы которой должны были успевать отправить SQL-запрос и получить на него ответ в течение нескольких миллисекунд. Если время отклика превышало указанную величину, база данных считалась недоступной, а веб-сервер пытался подключиться к следующему по списку серверу баз данных.

Новые средства для проверки работоспособности индексов
Randy Dyess
Одну из первых строк в списке способов настройки производительности любого сервера SQL Server занимает оптимизация индексов базы данных. Способность оптимизатора запросов сервера SQL Server правильно использовать индексы при выполнении запроса зависит не только от создания эффективных индексов, но ёи от того, насколько эти индексы работоспособны. Ряд динамических административных представлений (DMV) и функций (DMF), вошедших в состав SQL Server™ 2005, может помочь администраторам баз данных оценить эффективность своих индексов и определить проблемы с производительностью.

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

[В начало]

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

Mapping 101: Part 1
Dan Dosen
Now that you're getting accustomed to the Entity Framework and Entity Data Model (Entity Data Model 101: Part 1 and Entity Data Model 101: Part 2), we'll now take a look at the Object Relational Mapping (ORM) characteristics of the Entity Framework. We'll post several "Mapping 101" topics to describe the content of the artifacts required by the Entity Framework for supporting mappings between Entity Models and an underlying database. We expect the content of these artifacts to be best edited with our tool support in Visual Studio, but until those are ready, users may want an understanding of these artifacts in detail.

SYSK 295: Difference between password handling in SQL 2000 and SQL 2005
Irena Kennedy
Did you know that in SQL Server 2000, the engine used to maintain two copies/versions of each SQL Server login password. One contained the actual password supplied by the user, and the second one was the password converted by SQL Server to all uppercase letters.

Ten Common Database Design Mistakes
Louis Davidson
No list of mistakes is ever going to be exhaustive. People (myself included) do a lot of really stupid things, at times, in the name of "getting it done." This list simply reflects the database design mistakes that are currently on my mind, or in some cases, constantly on my mind.

Maintain Database Partial Availability
Linchi Shea
In SQL Server 2005, the basic unit of availability is filegroups. A database can remain online as long as the primary filegroup and the transaction log are online. In addition, if a data file is damaged or missing, only its user-defined filegroup becomes unavailable; all the other user-defined filegroups remain online. This ability to keep a database partially available is an especially important feature in managing very large databases.

Personalize ASP.NET 2.0 sites with profiles
Tony Patton
Personalization is a key component of most Web applications these days. TechRepublic and Amazon are good examples of sites that remember certain user attributes. Providing such functionality with ASP.NET 1.x required some extra work and the use of the Session object, but version 2.0 simplifies the personalization process.

Setting up Database Mail in SQL Server 2005
Tim Chapman
SQL Server 2005's Database Mail is completely SMTP based, allowing you to send e-mails with attachments, format HTML e-mails, and more. Tim Chapman fills you in on the advantages of Database Mail and explains how to set it up in your environment.

Finding the highest value in several SQL Server columns
Arthur Fuller
If your task is to return the maximum value contained on a row from n columns, you may want to program defensively, anticipating that some new column(s) might be added. See why Arthur Fuller says this approach can leave you with useful functions.

Clear the cache when doing MDX scripting
Lorents Nord-Varhaug
It have been very scilent here for a while, so I will try to bring some new articles in near future.

Corrupted SQL Server tools -- how do I recover them?
sqlmaster
There is a common question in the forums & newsgroups stating "Microsoft SQL Sever management Studio: Failed to open connection dialog" and similar error with Enterprise Manager tool too.

Using getdate() in a UDF
Decipherinfosys
You might have tried using the getdate() non-deterministic function within a UDF some time and would have gotten an error stating:

Stolen Identity
Decipherinfosys
No, we are not talking about identity thefts over here. We are talking about the identity property for a column in a table. In SQL Server, when you insert a record in a table that has an identity property associated with a column, in order to get the value that was just generated, there are a couple of ways of getting that value and depending upon how you are getting it, you can get the wrong identity value.

Conditional Ordering of records
Decipherinfosys
Sometimes, you come across requirements where you want to order by certain groups i.e. if say 1000 records are being returned in a query and say there are 10 different sub-categories and you want category number 8 to be the first one to appear (and the records within that category can be ordered separately) and then category 2 records etc.. Conditional ordering can be very easily achieved by using a CASE statement in the ORDER BY clause. Here is an example of doing that (SQL Server Syntax):

SSIS Nugget: Output the rowcount
Jamie Thomson
I haven't published a nugget for a while but today a guy called Antonio was asking me how one might output the captured rowcount in a file so i thought I'd put something together that demonstrated it.

New Ranking Functions within SQL Server 2005
Gregory A. Larsen
With SQL Server 2005, Microsoft introduced a number of new features. These new features make it easier for a DBA or SQL Server developer to code against and to maintain SQL Server databases. In this article I will discuss the new ranking functions provided with SQL Server 2005. These new functions make it much easier for you to code your T-SQL to associate a ranking to your result set. As I discuss each of the new ranking functions I will provide one or more examples to help illustrate how these new functions work.

Top 10 Hidden Gems in SQL Server 2005
Cihan Biyikoglu
SQL Server 2005 has hundreds of new and improved components. Some of these improvements get a lot of the spotlight. However there is another set that are the hidden gems that help us improve performance, availability or greatly simplify some challenging scenarios. This paper lists the top 10 such features in SQL Server 2005 that we have discovered through the implementation with some of our top customers and partners.

Does rebuilding a clustered index rebuild nonclustered indexes?
Ken Henderson
This came up yesterday with one of our support engineers, so I thought I'd post a brief entry on it. On SQL Server 2005, using ALTER INDEX…REBUILD to rebuild a clustered index does not rebuild its nonclustered indexes by default. If you think about it, it makes perfect sense-the clustered keys, which are the record locators in the NC indexes, aren't changed merely because you rebuild the index. All rebuilding the index does is lay the pages back down. The rows may move around on the clustered index pages, but we don't care because the NC indexes don't use a RID to reference the data; they use the clustered key and have since SQL Server 7.0. Naturally, if you completely drop the clustered index, we have to rebuild the NC indexes because their record locators have to be changed to RIDs. And if you then recreate the clustered index, we have to reverse the process. So, being able to rebuild the clustered index in place is a real performance boon.

Ragged Hierarchy RollUp: Using a Common Table Expression (CTE)
Dan Perrin
At the time of starting this (my first real) entry, I had wasted several hours failing to solve in my view a straight problem. However for whatever reason I just wasn't getting my head around it. Anyway the solution is simple so there is probably no need to read any further.

Formatting Addresses using UNPIVOT, PIVOT and ROW_NUMBER
Dan Perrin
For this particular problem we had our residential addresses being held in the BS7666 format using 6 columns of a table. (BS7666 is the standard address format that most PAF like software outputs, including Capscan that has been used in this example. The standard columns are Secondary Address Object, Primary Address Object, Street, Locality, Town and Postcode)

First and Last
Dan Perrin
Hmmm another T-SQL Post. Using ROW_NUMBER again, this time to get determine the First and Last values. I am sure 101 people got here before me, but wanted to note it for my own reference if nothing else.

Setting up Database Mail in SQL Server 2005
Tim Chapman
Database Mail, a new addition to the SQL Server 2005 database engine, is as simple to use as it is useful. Destined to be the replacement for SQL Mail, Database Mail uses a Simple Mail Transfer Protocol (SMTP) server to send e-mails rather than using the MAPI accounts that SQL Mail required. This allows your organization to send e-mails with attachments, e-mail query results, attach query results, and format HTML e-mails. It also gives you the ability to set many other configuration settings without requiring you to have an Exchange Server or configuring any type of MAPI workaround.

RSS Feeds with ADO.NET Entity Framework and the ASP.NET RSS Toolkit
Tim Mallalieu
The ASP.NET team has released the RSS toolkit beta on sandbox.asp.net. This led me to want to tinker with exposing some RSS feeds using ADO.NET Entity Framework to retrieve the data. I pulled the toolkit and within 10 minutes had my first couple of feeds going.

DANGER! DropObjectsFirst and CopyAllObjects on the same server
Matt Masson
A post in the forums had me try out what turned to be a dangerous combination of flags in the Transfer SQL Objects task. The user said they were no longer able to access their database after running their package, and I was curious as to why this would be... It turned out to be a logic problem with the DropObjectsFirst and CopyAllObjects flags.

Sync Services: Thoughts on Schema Creation
Rafik Robeal
In typical database to database sync scenarios where the backend database is SQL Server, the sync framework creates the schema for the tables undergoing synchronization on the client database. All that is needed is to have the SelectIncrementalInsertsCommand or SelectIncrementalUpdatesCommand supplied on the SyncAdapter object corresponding to the table in question. The sync runtime queries the database for the schema and provide it to the client as a dataset. This logic also works with none SQL Server backend however this process is subject to failure. The reason is that the schema obtained from the server might, and most likely will, have different data types which SqlCe on the client does not know how to map to its supported data types. Even with SQL Server as the backend, some data types are not supported on SqlCe and will lead to the same failure.

The easy fix to mysterious SQL collation errors
Jonathan Rabson
I'm doing this query that's the same SELECT statement for two tables with a UNION ALL connecting them. While each query works great on its own, when I try to run them together (with the UNION ALL) I get this error message:

Change all database object owners to DBO - now runs changeOwner for you
Darrell Norton
This SQL Server script comes to you courtesy of Geoff Appleby! Change All Object Owners to a given account (usually dbo) if not already owned by the SA (change the @NewOwner variable to another username string if you don't want DBO to own everything):

Object Services - Write less code
Brian Dawson
One of the main features of the Entity Framework revolves around Object Services. The main points of Object services are to write less code and allow programmers to program against objects to access the data that's stored in a database or possibly anywhere. We can consider this feature as a road to CRUD; where CRUD represents Create, Read, Update, and Delete operations against data, except this feature provides more than just a simple road.

Be aware, using Nonempty without filterset, might give unexpected result
Lorents Nord-Varhaug
I have just used a bit of time to examine why the result from a MDX query dit not return the data I expected, missing some rows.

Tree Utilities in Analysis Services Stored Procedures
Jamie MacLennan
This past week I was helping out a customer that wanted to reduce the length of a questionairre by using data mining to determine which of the 300+ questions were actually necessary for them to get the understanding they required. By using a tree model, and playing with the COMPLEXITY_PENALTY parameter, I was able to build a model that was reasonably accurate and only required 10-17 questions. (I was able to do the whole project using the Data Mining Add-ins as well!)

Manipulating the registry using T-SQL
Raymond Lewallen
Well, after a 3 week vacation from blogging, I'm back. The past month has been very busy for me, but its time I get back on track.

Quick T-Sql to parse a delimited string
Raymond Lewallen
I was working on some code to parse some data for a friend, and had to write this little piece of code that some of you might find useful. Right now, you can just take this, pop it into query analyzer and run it. Its simple enough to change this to a function that accepts the string, plus a delimeter value, such as:

Database Basics Part One - The ACID Model
Raymond Lewallen
In an effort to provide information for those of you who are newcomers to databases, especially with the wonderul new Sql Server Express, I have committed myself to about half a dozen posts or so targeted directly at you to help you understand and build better databases. Stay tuned to this blog for weekly updates to this series, or subscribe to the rss feed.

Database Basics Quick Note - The difference in Varchar and Nvarchar data types
Raymond Lewallen
I saw the following question posted on a forum and left the answer for the poster. I thought I would share it with you all as I am in the process of the Database Basics posts, and this ties in.

How Sql Server 2005 bypasses the 8KB row size limitation
Raymond Lewallen
Here I talked about row size limitations and using varchar versus nvarchar data in Sql Server. Now, lets look at what you can do in Sql Server 2005 that allows you to surpase the 8KB row size limit.

Database Basics Part Two - Normalization
Raymond Lewallen
In an effort to provide information for those of you who are newcomers to databases, especially with the wonderul new Sql Server Express, I have committed myself to about half a dozen posts or so targeted directly at you to help you understand and build better databases. Stay tuned to this blog for weekly updates to this series, or subscribe to the rss feed.

Database Basics Part Three - Isolation
Raymond Lewallen
In an effort to provide information for those of you who are newcomers to databases, especially with the wonderul new Sql Server Express, I have committed myself to about half a dozen posts or so targeted directly at you to help you understand and build better databases. Stay tuned to this blog for weekly updates to this series, or subscribe to the rss feed.

Database Basics Part Four - Table Joins
Raymond Lewallen
In an effort to provide information for those of you who are newcomers to databases, especially with the wonderul new Sql Server Express, I have committed myself to about half a dozen posts or so targeted directly at you to help you understand and build better databases. Stay tuned to this blog for weekly updates to this series, or subscribe to the rss feed.

Storage Performance Reference Architecture
Joe Chang
I will expand the matter of file placement in more detail over time. A brief word first on the separation of data and logs. This advice is frequently followed without understanding the underlying reason. Some people take it to mean that all data files are place in one group of disks, and all log files should be place on another array. In fact, the underlying reason for separation of data and logs is the radically different performance characteristics of a disk drive in handling random and sequential IO.

RAID Levels and IOs per disk
Decipherinfosys
Here is the calculation of the I/O's per disk for different RAID levels:

Why I do not use Stored Procedures
Jeremy D. Miller
I promised myself that I wouldn't ever make another post about stored procedures, but Eric's post on sproc's hit a few of my hot buttons on the subject. Four years ago the pre-Agile, VB6/ASP coding me would have fervently agreed with Eric's pro-sproc stance and I wrote PL/SQL by the bushel full, but today my answer to the sproc question is a firm "no thank you" or at least a "guilty until proven innocent." Besides, I'm an Oracle guy in a Sql Server shop and I despise T-SQL.

Don't Let the Database Dictate Your Object Model
Jeremy D. Miller
Before you go on, I'm specifically worried at the moment about "Logic Intensive Systems" here. Systems that perform complex calculations, make optimizations, determinations, decisions, etc.

Switching context with using EXECUTE AS ... not always switch it in fact as you wish
Igor Kovalenko
In this demo i will try to explain why SET TRUSTWORTHY ON on some databases may make the sysadmin job unsafe. In previous posts i explained how db owner (or any developer) can try to implemet simplest luring attack against server sysadmin. According to BOL to avoid this problem sysadmin should switch to the context of the account/login with lowest possible privileges. Lets try to test this approach.

Add Foreign Keys Back to the Database
Brett Kaiser
"OK Brett, Now that I Removed all my Foreign Keys to Truncate the Data, Now What? I'm Hosed! Thanks a bunch"

SQL 2005 Maintenance Wizard Part 2
Don Schlichting
SQL 2005 includes a graphical tool called the Maintenance Plan Wizard that can be used to create database optimization and integrity checking packages. Some of the tasks the Maintenance Plan Wizard can orchestrate include backing up the database, reorganizing data and index files, compressing the data file, and updating the index statistics. While all of these tasks can be created using TSQL commands, the Wizard provides an easy way of selecting these tasks and their options. Packages created by the Wizard can be executed on command or scheduled as reoccurring jobs. In addition, the wizard will roll all of your selected tasks into a reusable and customizable package that can be edited in the Maintenance Plan Designer, which we'll explore in this article.

A Complete URL Rewriting Solution for ASP.NET 2.0
Gaidar Magdanurov
This article describes a complete solution for URL rewriting in ASP.NET 2.0. The solution uses regular expressions to specify rewriting rules and resolves possible difficulties with postback from pages accessed via virtual URLs.

Images, Thumbnails, SQL Server, and ASP .NET - Level 200
Eric Wise
Ok, it's been a bit of time since I posted some technical content. I seem to be the only codebetter blogger who has big business aspirations and is launching a real ISV so I've been trying to mix that content into the Codebetter feed for those of you who have similar aspirations. I think it's time to get back to some technical content though.

System.Transactions MSDTC Issue
Eric Wise
Ready to pull my hair out over this one. Decided to use System.Transactions in my latest project, so being I'm doing my development on my local machine with a dev SQL Server 2005 install on a 2k3 machine I need to turn on MSDTC stuff... So running the code that uses system.transactions on the server works fine, if I run the same code from my workstation calling the server I get

Understanding Full Text Searching Compared with LIKE
Simon Sabin
One of the most common questions that comes up on the newsgroups is around searching for terms containing punctuation. The questions are normally something like

Database Links in Oracle
Decipherinfosys
A database link (same as linked servers in SQL Server) is an object in one Oracle database that defines a path to another database. They allow you to query remote tables and execute remote procedures residing in an Oracle User on that remote Oracle database. That way, you can use tables and other objects from that database in a SQL statement that you execute locally. Say, for example, that you had a table called USER_MASTER in a remote database (ABC), and that you wanted to access that data while connected to your local database (XYZ) and based on the information that you get from that table, you need to decide what your processing logic is going to be. A database link is what you need. Before creating it, you must collect the following information:

SSAS: Getting the xmlaWarningCollection from a Process operation
Darren Gosbell
There was a question recently on the Analysis Services forum asking how to get a list of the Warnings from a Process() method in AMO.

Using Visual Studio's Code Model objects for code base understanding
JHalmans
A bit of a diversion from the normal SQL Server posts. Recently I've found a very useful feature in Visual Studio that can help to analyze large amounts of source code - the Visual Studio Code Model objects

Arrays and Lists in SQL Server 2005
Erland Sommarskog
In the public forums for SQL Server, you often see people asking How do I use arrays in SQL Server? Or Why does SELECT * FROM tbl WHERE col IN (@list) not work? The short answer to the first question is that SQL Server does not have arrays - SQL Server has tables. However, you cannot specify a table as input to SQL Server from a client. What you can do is to specify a string and unpack that into a table.

TableDiff.exe - a cool SQL Server 2005 tool
Mladen Prajdic
While searching for something in BOL i've accidently stumbled onto this little cool command line utility

Empowering Enterprise Solutions with SQL Server 2005 Enterprise Edition
Lara Rubbelke
The power of Microsoft SQL Server 2005 Enterprise Edition delivers a complete platform to support your most challenging, large-scale, mission-critical, and demanding analytical database applications. Learn how the advanced capabilities in SQL Server 2005 Enterprise Edition can improve your enterprise database and analytical applications.

Extensions to SQL Server to Support Full-Text Search
Margaret Li and Frank Pellow
Microsoft® SQL Server™ 7.0 introduces facilities that support textual queries on data residing in SQL Server itself as well as textual queries on data in the file system. This paper describes the first of these capabilities, that is support of textual queries against data within SQL Server tables. We begin by introducing the Full-Text Search concepts, followed by the form that a full-text search query would take and the type of information that can be retrieved via such queries. We then take the reader through a fairly technical presentation of the internal design and architecture of the Full-Text Search system, and then proceed to describe how this system can be administered via stored procedures and/or graphic user interfaces available through SQL Server Enterprise Manager.

Using the SQL FTS Stored Procedures to index your table
Index Server Faq
sp_fulltext_service: This stored procedure is used to manipulate/query the Full Text Service, MSSearch Service. Sp_FullText_Service has two arguments: action and value.

[В начало]

ФОРУМ SQL.RU

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

Посылаемые изменения в таблицу и старые данные
"Баковское" округление на T-SQL (как Math.Round в .NET)
с появлением SQL2005 T-SQL уже не нужен?
данные из Paradox в SQL Server
Возможно ли
Не боян еще? SQL 2005 SP2 выложили
импорт/экспорт/Excel
Помогите пожалуйста решить простой запрос T-Sql
timeout при выполнении UPDATE одной записи в небольшой таблице небольшой базы данных
багофича FMTONLY
"Провалы" производительности на BULK INSERT
часть данных на прилинкованном сервере не видно
Задачка
Помогите с оптимизацией...
Full-text indexing MS SQL 2000
Как все же определить кто авторизовался?????
Немонопольный доступ к базе.
Линкованый запрос в ХП.Борьба с DTS
SQL Server 2000 на Windows 2003 Server нормально работает?
Сортировка даты из списков SharePoint

[В начало]

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

изучение MSSQL
Минимальные требования к железу
There were errors configuring the data adapter. <Дубль 2>
Insert и Remoute Exec
SQL 2000 BUG
как передать параметер в XML modify method in SQL2005?
Ставил SP2 к SQL2005 и свалился мастер настройки. Как его найти и запустить снова?
проблема с Full-Text Search
Login failed при Linkserver на кластерную ноду
особенности репликации MSSQL 2005
Entriprise Manager - Not enough storage is avalaible to copmlete this operation
instead of insert на зеркальную таблицу или на вьюху
Нужна помощь
не хочет удаляться SQL 2000
Не создаёт граф дедлока.
В процессе установки произошла неисправимая ошибка.
Когда выполняется репликация хранимых продцедур и views при Merge replication

[В начало]

КНИГИ

Программирование баз данных Microsoft SQL Server 2005. Базовый курс

Роберт Виейра

832 стр., с ил.; ISBN 978-5-8459-1202-2, 0-7645-8433-2; формат 70x100/16; твердый переплет; серия ...для начинающих (от Wrox); 2007, 1 кв.; Диалектика.

В настоящей книге программное обеспечение SQL Server 2005 рассматривается главным образом с точки зрения разработчика. В ней описаны основные особенности этой версии СУБД, позволяющие значительно улучшить совместимость компонентов и расширить набор средств, обеспечивающих взаимодействие с языком XML, инфраструктурой .NET, определяемыми пользователем типами данных, а также со многими другими дополнительными службами. Книга целиком посвящена изложению основных сведений о средствах разработки, необходимых каждому разработчику независимо от уровня его подготовки, и содержит описание современной версии рассматриваемого программного продукта, но включает все необходимые сведения о проблемах обеспечения обратной совместимости, которые могут повлиять на выбор наиболее подходящих способов проектирования и написания кода. Книга предназначена для разработчиков всех уровней, работающих с базами данных Microsoft.
Все коды, которые читатель встретит в книге выложены здесь.

[В начало]

Основы разработки приложений на платформе MS .NET Framework 2.0 (экз. № 70-536)

Нортрап Т., Вилдермьюс Ш., Райан Б.

Компьютерная литература; Официальный учебный курс Microsoft; Издание: 1-е, 2007 год; ISBN: 978-5-469-01659-5; Формат: 17x24 см; Объем: 864 стр.; Переплет: твердая обложка; Срок выхода: книга в типографии до 18.03.07; Цена без учета доставки: 795 руб, цена предварительная до выхода книги из типографии, возможны изменения.

Этот учебный курс посвящен разработке приложений с использованием .NET Framework (любой версии) на языках Visual Basic .NET и Visual C# .NET. Книга содержит введение в .NET Framework, описание создания и применения консольных и GUI-приложений. Авторы делятся с читателями бесценным опытом решения различных задач, стоящих перед программистами. Значительное внимание уделяется вопросам безопасности, глобализации и развертывания приложений. Освоив теоретические материалы и выполнив практические задания курса, вы получите знания и навыки, необходимые разработчику приложений, использующих современную платформу Microsoft .NET. Книга адресована всем, кто хочет научиться создавать Windows-приложения и серверные компоненты, использующие инфраструктуру .NET Framework, на языках Visual Basic .NET и C#. Настоящий учебный курс поможет вам самостоятельно подготовиться к сдаче экзамена № 70-536: "Microsoft .NET Framework 2.0 - Application Development Foundation" - базового экзамена по нескольким сертификациям MCTS (Microsoft Certified Technology Specialist). Книга состоит из 16 глав, содержит множество иллюстраций и примеров из практики. На прилагаемом компакт-диске находятся электронная версия книги, вопросы пробного экзамена, словарь терминов и другие справочные материалы на английском языке.

[В начало]

#348<<  #349  >>#350
Rambler's Top100 Рейтинг@Mail.ru  Administrator: Обратная связь 
Copyright: SQL.Ru 2000-2013