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

СОДЕРЖАНИЕ

1.СТАТЬИ
1.1.Агрегация
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
 

 

СТАТЬИ

Агрегация

По материалам статьи Craig Freedman: Aggregation

Агрегация относится к таким операциям, когда больший набор строк свёртывается в меньший. Типичные агрегатные функции - COUNT, MIN, MAX, SUM и AVG. SQL Server поддерживает также и другие агрегаты, типа STDEV и VAR.
Я собираюсь посвятить этой теме несколько статей. В этой статье, я сосредоточусь на "Скалярных Агрегатах". Скалярные агрегаты - запросы с агрегатными функциями в списке оператора SELECT и без предложения GROUP BY. Скалярные агрегаты всегда возвращают одну строку.

Скалярные агрегаты

Существует только один оператор скалярной агрегации: Stream Aggregate - статистическое выражение потока. Например:

create table t (a int, b int, c int) select count(*) from t |--Compute Scalar(DEFINE:([Expr1004]=CONVERT_IMPLICIT(int,[Expr1005],0))) |--Stream Aggregate(DEFINE:([Expr1005]=Count(*))) |--Table Scan(OBJECT:([t]))

Это своеобразный "Hello World!" в агрегации, статистическое выражение потока только и делает, что считает число строк на входе и возвращает результат подсчёта. Фактически, статистическое выражение потока вычисляет count ([Expr1005]) как bigint. Вычисляемый скаляр тут необходим для того, чтобы конвертировать результат в ожидаемый на выходе тип int. Обратите внимание, что скалярное статистическое выражение потока - это практически единственный пример (я не могу придумать ещё один такой прямо сейчас) нелистового оператора, который может выдать строку на выход даже для пустого входного набора.
Легко показать, как работают и другие простые скалярные агрегатные функции, такие как: MIN, MAX и SUM. Также мы можем вычислять сразу несколько скалярных агрегатов, используя всего одно статистическое выражение потока:

select min(a), max(b) from t |--Stream Aggregate(DEFINE:([Expr1004]=MIN([t].[a]), [Expr1005]=MAX([t].[b]))) |--Table Scan(OBJECT:([t]))

В этом плане считывается каждая строка таблицы "t", и отслеживается минимальное и максимальное значение столбцов "a" и "b" соответственно. Обратите внимание, что для агрегатов MIN и MAX нет необходимости приводить результат к нужному типу, так как типы этих агрегатов вычислены на основе типов столбцов "a" и "b".
Такие агрегаты, как AVG, фактически рассчитываются на основе двух других агрегатов: SUM и COUNT:

select avg(a) from t |--Compute Scalar(DEFINE:([Expr1004]=CASE WHEN [Expr1005]=(0) THEN NULL ELSE [Expr1006]/CONVERT_IMPLICIT(int,[Expr1005],0) END)) |--Stream Aggregate(DEFINE:([Expr1005]=COUNT_BIG([t].[a]), [Expr1006]=SUM([t].[a]))) |--Table Scan(OBJECT:([t]))

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

select sum(a) from t |--Compute Scalar(DEFINE:([Expr1004]=CASE WHEN [Expr1005]=(0) THEN NULL ELSE [Expr1006] END)) |--Stream Aggregate(DEFINE:([Expr1005]=COUNT_BIG([t].[a]), [Expr1006]=SUM([t].[a]))) |--Table Scan(OBJECT:([t]))

Выражение CASE использует общее число строк для гарантии того, что если на входе будет пустое множество, SUM возвратит вместо нуля - NULL.

Скалярный DISTINCT

Теперь давайте посмотрим, что случается, если ли мы добавим к агрегату ключевое слово DISTINCT:

select count(distinct a) from t |--Compute Scalar(DEFINE:([Expr1004]=CONVERT_IMPLICIT(int,[Expr1007],0))) |--Stream Aggregate(DEFINE:([Expr1007]=COUNT([t].[a]))) |--Sort(DISTINCT ORDER BY:([t].[a] ASC)) |--Table Scan(OBJECT:([t]))

Этот запрос должен сосчитать только те строки, которые имеют уникальное для столбца "a" значение. Для устранения дубликатов строк с одинаковыми значениями в столбце "a" используется оператор сортировки. Дубли строк будут просто удалены из вывода, найти их не трудно, поскольку после сортировки полученного на входе набора дубликаты будут смежными записями.
Не все DISTINCT агрегаты требуют устранения дубликатов. Например, MIN и MAX ведут себя точно так же и без ключевого слова DISTINCT. Минимальные и максимальные значения в наборе остаются теми же самыми, не смотря на то, есть ли в наборе дубликаты или нет.

select min(distinct a), max(distinct b) from t |--Stream Aggregate(DEFINE:([Expr1004]=MIN([t].[a]), [Expr1005]=MAX([t].[b]))) |--Table Scan(OBJECT:([t]))

Если имеется уникальный индекс, устранение дубликатов тоже можно пропустить, так как индекс гарантирует, что дубликатов нет:

create unique index ta on t(a) select count(distinct a) from t drop index t.ta |--Compute Scalar(DEFINE:([Expr1004]=CONVERT_IMPLICIT(int,[Expr1007],0))) |--Stream Aggregate(DEFINE:([Expr1007]=COUNT([t].[a]))) |--Index Scan(OBJECT:([t].[ta]))

Несколько DISTINCT

Рассмотрим такой запрос:

select count(distinct a), count(distinct b) from t

Как было показано выше, мы можем вычислить "count(distinct a)", устраняя дубликаты строк для столбца "a". Точно так же мы можем вычислить "count(distinct b)", устраняя дубликаты строк для столбца "b". Но это при условии, что эти оба набора строк различны. Как можно вычислить оба дистинкта в одно и то же время? Ответ - мы не можем. Мы должны сначала вычислить одну составляющую результата, а потом другую, и затем нужно объединить оба результата в одну строку для вывода:

|--Nested Loops(Inner Join) |--Compute Scalar(DEFINE:([Expr1004]=CONVERT_IMPLICIT(int,[Expr1010],0))) | |--Stream Aggregate(DEFINE:([Expr1010]=COUNT([t].[a]))) | |--Sort(DISTINCT ORDER BY:([t].[a] ASC)) | |--Table Scan(OBJECT:([t])) |--Compute Scalar(DEFINE:([Expr1005]=CONVERT_IMPLICIT(int,[Expr1011],0))) |--Stream Aggregate(DEFINE:([Expr1011]=COUNT([t].[b]))) |--Sort(DISTINCT ORDER BY:([t].[b] ASC)) |--Table Scan(OBJECT:([t]))

Для двух входных наборов выполняется подсчёт как в оригинальном запросе, и они соединяются вложенным циклом. Один входной набор удаляет дубликаты для столбца "a", другой для столбца "b". Соединение вложенных циклов не имеет предиката соединения; это перекрестное соединение. Используя оба вводных набора, соединение вложенных циклов выдаёт одну строку с двумя скалярными агрегатами (результат перекрестного соединения - одна строка). Перекрестное соединение нужно только для того, чтобы "склеить" два столбца результата в одну строку.
Если мы имеем больше двух разных агрегатов по разным столбцам, будет использоваться более одного перекрестного соединения. План может быть похож на тот, который мы только что рассмотрели, если в запросе соединены DISTINCT агрегаты и не-DISTINCT агрегаты. В этом случае, один из входных потоков перекрестного соединения будет агрегироваться без сортировки.
В следующей статье, я напишу об агрегатах с предложением GROUP BY.

[В начало]

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

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

Какая версия BOL установлена на компьютере?
Александр Гладченко
После того, как BOL стал обновляться через Microsoft Update, этот вопрос, наверняка, будет волновать многих :)

Дополнение к посту Александра Гладченко про SQL Server 2005 CD-KEY
Ян Либерман
В дополнение к посту Александра Гладченко "Как определить, какой CD-KEY использовался для установки SQL Server 2005" я написал небольшой скрипт, который просматривает реестр в поисках ключа SQL сервера (только те места, где он может быть).

WinFS: SQL Server "KatMai": вышел June CTP!
Daniel Kornev
Итак, долгожданный KatMai вышел. Скачать его можно здесь: SQL Server 2008 on Microsoft Connect Как вы помните, он должен был включить в себя некоторые из возможностей WinFS.

Построение индексов - часть 7: Фоновое построение индексов (Часть 2)
Lyudmila Fokina
Построение/ перестроение кластерного индекса в фоновом режиме требует дополнительного дискового пространства для хранения промежуточных данных. В некоторых (экстремальных) случаях - больше размера самого индекса. Эти промежуточные данные будут храниться там же где хранятся промежуточные структуры сортировки (либо tempdb, либо пользовательская база данных) - см. предыдущие посты. Это дополнительное пространство будет освобождено после завершения построения индекса.

Подсказки по Visual Studio 2005 IDE
Майкл Оти
Недавно я работал над двумя проектами, в которых применял новый Visual Studio 2005, используя его по шагам. В процессе работы я обнаружил несколько полезных подсказок, которыми хочу поделиться с вами.

Report Builder для пользователя
Тайлер Чесман
Малозаметный инструмент создания отчетов, полезный для всех … С момента выпуска служб отчетов SQL Server 2000 Reporting Services в январе 2004 г. я имел возможность провести более 100 демонстраций этого продукта. Одна из часто повторявшихся просьб, которые мне приходилось слышать, состояла в том, что хорошо бы в Reporting Services иметь средство отчетов для конечных пользователей. Специалисты Microsoft прислушались к этому пожеланию и создали в SQL Server 2005 Reporting Services новый, специально приспособленный для данной ситуации инструмент Report Builder. Сначала вы используете Business Intelligence Development Studio из пакета Visual Studio 2005 - это набор типов проектов в Visual Studio 2005, - чтобы создать и настроить модель отчетов (лежащий в основании уровень метаданных, который позволяет конечным пользователям создавать отчеты). Как только модель установлена, пользователи могут задействовать Report Builder, чтобы составлять собственные отчеты. Report Builder спроектирован таким образом, чтобы пользователи, не имеющие большого опыта работы с базами данных, могли создавать отчеты, не вдаваясь в подробности написания запросов для извлечения данных.

Новые Visual Studio и SQL Server получили имена
InfoWorld
Представители Microsoft объявили официальные наименования и сроки выхода новых версий Visual Studio и SQL Server, разрабатывавшихся под кодовыми названиями Orcas и Katmai соответственно. Инструментарий разработки получит имя Visual Studio 2008, хотя и будет выпущен в конце нынешнего года. SQL Server 2008 же выйдет в середине следующего. Вторая бета-версия новой Visual Studio планируется на лето - в ней появится обновленный компонент Visual Studio Shell, ориентированный на создание средств разработки. В Orcas расширены возможности в области построения Web-приложений и добавлены средства разработки приложений для Windows Vista, Windows Server 2008 и Microsoft Office 2007. SQL Server 2008 на сегодня выпущен только в виде первой версии Community Technology Preview. Для СУБД планируются усовершенствования в сфере масштабируемости и функций бизнес-интеллекта. Одним из новшеств станет технология отчетности Data Visualization, разработанная в компании Dundas, чью кодовую базу недавно приобрела Microsoft. Сотрудники Microsoft также объявили о выходе CTP-версий BizTalk Services и .Net Framework 3.5. Последнюю составляют технологии Windows Communication Foundation, Windows Workflow Foundation, Windows Presentation Foundation и CardSpace. На III квартал планируется выпуск ПО управления бизнес-процессами BizTalk Server 2006 R2 - с инфраструктурой RFID и встроенной поддержкой EDI. Представлена Stirling, единая консоль для всех средств безопасности Microsoft семейства Forefront. Лимитированная бета-версия ПО выйдет в конце года, но поставки продукта начнутся не ранее 2009-го. Выпущена вторая версия пакета Microsoft Desktop Optimization Pack (MDOP) for Software Assurance. В нее включена система виртуализации приложений SoftGrid и сервис инвентаризации активов Asset Inventory Service, а также компоненты System Center Desktop Error Monitoring и Advanced Group Policy Management. Объявлено о выходе комплекта Diagnostics and Recovery Toolset для восстановления давшего сбой ПК. Выпущена предварительная версия SDK Open XML, который позволит создавать приложения для Office, пользующиеся форматом файлов Open XML.

Новые инструменты Microsoft уже на подходе
BYTE/Россия
В конце апреля Microsoft (http://www.microsoft.com) объявила о выпуске первой публичной бета-версии следующего поколения своей платформы разработки Visual Studio, которая пока продолжает носить кодовое имя Orcas. Как говорится в анонсе по этому поводу, в ней насчитывается более 200 новых функций по сравнению с текущей версией Visual Studio 2005. Помимо модернизированной интегрированной среды разработки (IDE) Orcas включает промежуточный вариант базовой среды исполнения приложений .NET 3.5 Framework. В целом система состоит сейчас из трех ключевых компонентов (Visual Studio Professional Edition, Visual Studio Team Suite и Visual Studio Team Foundation Server), которые уже доступны для всех подписчиков MSDN. В Orcas включена окончательная версия конструктора Windows Presentation Foundation Designer, ранее известного под кодовым именем Cider, который предназначен для проектирования пользовательского интерфейса на базе языка XAML. В новую версию Visual Studio вошел также выпущенный в начале года набор средств AJAX. Кроме того, Microsoft представила бета-версию средств разработки RIA (rich interface application), направленных на интеграцию технологий создания настольных и Web-приложений. Речь идет о базовом операционном слое Windows Presentation Foundation/Everywhere (WPF/E), предназначенном для кросс-исполнения приложений в среде Web-браузеров, который получил теперь официальное название Silverlight. Уже сейчас Silverlight 1.0 включает go-live лицензию, которая позволяет развертывать приложения с использованием этого средства в информационных системах заказчиков. Выпуск окончательного варианта планируется на конец нынешнего лета. Любопытно, что одновременно Microsoft объявила также о выпуске Silverlight 1.1, правда, пока в альфа-варианте. Судя по всему, речь идет фактически о формировании будущего набора .NET 4.0 Framework, который помимо средств, уже представленных в .NET 3.5 и WPF/E, будет включать поддержку набирающих популярность динамических языков программирования (в первую очередь это Python и Ruby).

SQL Server устанавливает рекорд в тесте TPC-C на платформе Microsoft Windows
Microsoft
SQL Server 2005 устанавливает новый мировой рекорд по производительности в последнем тесте TPC-C. Обладая пропускной способностью более 1 миллиона транзакций в минуту, SQL Server снова демонстрирует, что может справиться с самой интенсивной рабочей нагрузкой по оперативной обработке транзакций (OLTP). Кроме того, этот тест показывает, что выбор в пользу базы данных SQL Server является правильным для приложения любого типа и любого размера для тех пользователей, которые хотят получить максимальную отдачу от вложенных средств.

[В начало]

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

Developers to Get Hooks Into SQL Server 'Katmai'
Chris Kanaracus
Katmai could improve Microsoft's standing in the database space. CTP of next SQL Server "Katmai" expected soon-database will emphasize business intelligence applications and support for various data types. When Microsoft announced details of its next SQL Server database last month, the company went to great length to position it as a platform for business intelligence applications.

64-bit OLEDB Provider for ODBC (MSDASQL) Available in Longhorn Server, Starting Beta 3
Mo Lin, John Bocharov
We're pleased to announce that Longhorn Server Beta 3 will include a 64-bit version of MSDASQL, Microsoft's OLEDB Provider for ODBC.

SqlServer 2005 paging: there IS a generic wrapper query possible
Frans Bouma
(the Name field in the queries below is without [ and ] brackets, because CS currently goes bezerk because of these. Don't know why, but apparently a glitch somewhere.)

Common mistakes when configuring the Cubes Building Service (CBS) with SQL Server Analysis Services 2005
Christophe Fiessinger
Prior to troubleshooting your Analysis Services 2005 configuration to "build" your Project Server Cubes, I'll assume you have read the following KB article: 921116

Analysis Services 2005 (OLAP) Permission for Project Server 2007
Christophe Fiessinger
Common questions and answers on AS 2K5 permissions for EPM 2007 (thank you David & Steven):

Katmai - Custom components and upgrade
Matt Masson
(Note, when I use the word "components" in this post, I'm referring to all extensible items, including tasks, pipeline components, foreach enumerators, loggers and connections)

Katmai - Script tasks which use the SSIS object model
Matt Masson
You may run into issues in the current Katmai CTP if your script task uses objects contained within the ManagedDTS assembly. If you're interested in the details, keep reading - otherwise you can skip to the bottom for a possible work around.

Store Statistics XML in database tables using SQL Traces for further analysis
Queryproc
Since SQL Server 2005, query plan as well as statistics of query execution can be captured in XML format. Also, SQL Server 2005 has XQuery support to directly query XML document. By combining these two new features, users can analyze the query plans using queries.

Predeployment I/O Best Practices
Mike Ruthruff
SQL Server Best Practices Article. The I/O system is important to the performance of SQL Server. When configuring a new server for SQL Server or when adding or modifying the disk configuration of an existing system, it is good practice to determine the capacity of the I/O subsystem prior to deploying SQL Server. This white paper discusses validating and determining the capacity of an I/O subsystem. A number of tools are available for performing this type of testing. This white paper focuses on the SQLIO.exe tool, but also compares all available tools. It also covers basic I/O configuration best practices for SQL Server 2005.

Sync Events for Conflict Handling, Progress Reporting, Business Logic…
Rafik Robeal
Let me just say that synchronization services eventing model is so rich. It is designed to enable you to build many of the features that business applications demand. Some of those features that come to mind are:

Microsoft Windows PowerShell and SQL Server 2005 SMO - Part I
Muthusamy Anantha Kumar
As you probably know, Windows PowerShell is the new command shell and scripting language that provides a command line environment for interactive exploration and administration of computers. In addition, it provides an opportunity to script these commands so that we can schedule and run these scripts multiple times.

More Advanced XML Processing Examples
Jacob Sebastian
Continuing with his series on XML in SQL Server 2005, Jacob Sebastian brings us a number of examples on how to work with XML in different situations with SQL Server 2005.

Making the Most Out of the SQL Server 2005 Performance Dashboard
Brad M. McGehee
If you have been using SQL Server 2005 for a while now, you may wonder what I am talking about when I refer to the SQL Server 2005 Performance Dashboard. No, you are not suffering from overwork and fatigue, causing you to lose your mind and forget what new features have been included with SQL Server 2005. The SQL Server 2005 Performance Dashboard is a new add-on to SQL Server 2005 that became available shortly after the release of Service Pack 2 for SQL Server 2005.

Database mirroring questions from TechEd: failovers and partner timeouts
Paul Randal
This year at TechEd there's been even more interest in database mirroring than last year - Kimberly's Always-On Demo-Fest yesterday had a whole bunch of questions during the first demo on mirroring and 50% of the booth questions I've answered have been on it too. It seems that more people are getting to the stage of actually implementing SQL Server 2005 this year, which kind of makes sense now that we've put out two Service Packs and companies have had a chance to implement and test new application designs and thoroughly test out workloads on the new version.

Table Space Reporting with dba_spaceused
Andrew Novick
Managing space is a constant responsibility for the DBA. When space becomes a problem I often want to know the size of each table. It isn't difficult to find the amount of space used by a table, SQL Server provides the sp_spaceused stored procedure, which can report on the space used for a table or for the database as a whole. A script can execute sp_spaced used once for each table and collect the results into a single result set so it's more convenient for reporting. The scripts that I've seen on other sites have done that but don't report on the schema name. This article presents a stored procedure, dba_spaceused, that does a particularly good job of reporting the space used by each table in a convenient way while including schema information in the results.

How To Protect Yourself From Fat-Finger Sally, Crazy Bosses and Other SQL Villains
Denis Gobo
You all have been through this at least once in your life. In your shop there is this one person who likes to use Enterprise Manager as their Rapid Data Entry Application. We all know how these people operate; they delete rows, drop tables and all kinds of other funky stuff. SQL Server 2005 has DDL triggers to help you protect against these scoundrels. What about if you are still running that piece of software from the late Triassic period known as SQL Server 2000, what can help you in that case? Don't worry I will show you a way but first I will tell you a story. About 6 years ago I worked in New York City as a consultant on a project for a nonprofit organization. I looked in the database and found this table which was named YesNoTable. I was curious I opened the table and noticed it had only 2 rows. Here is what was stored in the table.

Database-Sizing Tools for SQL Server
Brian Moran
"Mirror mirror on the wall, who's the fairest server of all?" This week's column is about database-sizing tools from Dell and HP in particular, but is applicable to any performance-sizing tool that takes a one-size-fits-all approach to sizing databases. My kids--especially Emily, who is six--love Snow White. Needless to say I've seen the movie a gazillion times. I hope you can appreciate my gut reaction that relying on a generic Web-based sizing tool is a bit like asking a magic mirror for help.

SqlServer 2008: Does it or doesn't it have the Entity Framework?
Frans Bouma
I just read an interesting post on the Oakleafblog of Roger Jennings. There, Roger enlists his feedback he would have given to the ADO.NET team. It's an interesting list of items, most of them I can agree on. Though the better gems are in the comment posted by Mike Pizzo, ADO.NET's architect.

Katmai June CTP - Attribute Relationships tab
Mosha Pasumansky
As everybody knows by now, the first widely public CTP of Katmai has been released on Microsoft connect site. It is accompanied by documentation about what are the new features expected in SQL 2008. But this documentation is a little bit too high level, and also it doesn't tell which piece of the planned functionality is included in the June CTP and which one isn't. I am going to cover one feature for the Analysis Services. Since none of the interesting OLAP engine features and performance improvements are included in this release, I will talk about UI part - specifically about new tab in the dimension editor called "Attribute Relationships". It has been explained many times and on many occasions that attribute relationships are very important both for the performance of the system and for the correctness of the results. Yet, in the Business Intelligence Development Studio (aka BIDS) the UI for defining attribute relationships was not optimal (drag and drop in the tree view), and the visual representation of the relationship lattice was missing. The BIDSHelper project by Greg Galloway and Darren Gosbell somewhat filled the gap for the visualization in SSAS 2005 with the Visualize Attribute Lattice addin. In Katmai, SSAS team rightfully decided to give the subject full attention by dedicating special tab in the dimension editor. I decided to test how well this UI can handle less trivial scenarios. As a test case I have chosen simplified version of the Time dimension. The structure that I wanted was the one outlined in my blog about calculations in the Time dimension - on the picture on the below.

Fix for DMF scheduled policy checking in SQL Server 2008 June CTP
Jasper Smith
If you have been trying out the new Declarative Management Framework policies you may have run across an issue trying to use an Execution mode of Check on Schedule with the error "Could not load file or assembly Microsoft.SqlServer.DmfSqlClrWrapper" being reported in the policy job history.

Gadfly zeroes in on Oracle bugs
Joris Evers
Editors' note: After this story was published, the reporter asked David Litchfield follow-up questions about ties to Microsoft and Oracle upon learning that Microsoft was a customer of NGS Software.

SQL Native Client 10 - provider name change
Matt Masson
The provider name for SQL Native Client (SNAC) connections has changed in Katmai. Since this is the default provider for OLEDB connections, you'll probably be affected by this change if you're running SQL Server 2005 packages in Katmai.

Read Committed and Bookmark Lookup
Craig Freedman
In my last two posts, I discussed two scenarios - one involving updates and another involving large objects - where SQL Server extends the duration of read committed locks until the end of a statement instead of releasing the locks as soon as each row is released. In this post - which I promise will be the last in this series on read committed locks - I will discuss a final scenario involving bookmark lookups where SQL Server holds read committed locks longer than expected.

The Making of a Privacy Savvy Test Team
Rob Roberts
Software test engineers have a lot of things to consider when testing their products: performance, security, accessibility, reliability, usability, and a whole bunch of other "-ilities." And now to address our increasingly interconnected world, they have yet another important area to evaluate - privacy.

Microsoft SQL Server 2000 Support Lifecycle
Microsoft
Microsoft provides support on the current service pack, and in some cases the immediately preceding service pack, for the products listed below. See the Lifecycle Support Policy FAQ for details on the Service Pack Support Policy. As a convenience to you, Microsoft is providing a list of the currently supported service packs: Supported Service Pack List. If you have any questions regarding support for a product, please contact your Microsoft representative. If you need technical support, visit the Contact Microsoft Web site.

How to Read Raw Files in SSIS
Simon Sabin
If you've ever used SQL Server 2005 Integration Services (SSIS), you will have come across raw files. Microsoft introduced them with SSIS as a mechanism for storing data on the local file system. The design of raw files enables data to be written very quickly but, unfortunately, to achieve this performance Microsoft has used a proprietary binary storage format. This means that you can't open these files and view their contents using a normal editor. What's more frustrating is that Microsoft has yet to supply a tool for reading these files

Conditional Flow in DTS
Wayne Fillis
While SQL Server Integration Services is a huge improvement in the ETL capabilities of SQL Server, there are quite a few environments still using DTS in SQL Server 2000. Wayne Fillis brings us a method for implementing conditional logic in your packages.

What happens to non-clustered indexes when the table structure is changed?
Paul Randal
Here's a topic that's cropped up several times during Q&As at TechEd this year - what happens to non-clustered indexes when changes are made to the underlying table? Are they always rebuilt or not?

How to Disable Parameter Sniffing in SQL Server 2005
Glenn Berry
I have seen several questions in the MSDN SQL Server Database Engine Forum recently about problems people are having with statistics not staying up-to-date in some cases in SQL Server 2005. This can also manifest itself as problems with queries suddenly changing their performance characteristics dramatically.

SSIS ForEachNodeList Container by Example (Part 1)
Geoffrey Samper
Today I was using the NodeList ForeachContainer and I wanted to extract 2 values of a node and store it in Variables. This was more difficult than I expected. I will show how we can do this by an example. So we will create directories based on a XML

SQL Task and Parameterized Parameters
Geoffrey Samper
Today I was using the SQL Task and I needed to use a where clause in my SQL statement. It was easier then I thought. Here are the steps for the test. Of course the db that we use is AdventureWorks

Maintenance Plan Fixer (Tool to work arround KB 992651)
Geoffrey Samper
Some weeks ago a SQLUG user (Franky) reported a problem when importing existing maintenance plans on a SQL server. You can find more information on this thread. After some research franky found a KB article that describes the problem and you can solve it.

Maximum number of tables (260) exceeded
Joe Celko
SQL Apprentice Question: Hi! I receive the referenced message when i run a view I created in SQL2005 in a SQL2000 install of the same database. Basically it is a union query with about 9 individual select queries. I am sure this has something to do with a lack of efficiency in my query structure but I am confounded that it runs in SQL2005 and not in SQL2000. Any suggestions? Thanks in avance for any help you can offer...

Monitoring File Sizes in SQL Server - Part 1
Roy Carlson
I understand how the Wicked Witch of the West felt when the house fell on her sister. One of my friends had the house fall on him when their server froze because of a space issue. He dutifully monitored the databases as required in the OZ SQL manual. But the server froze not because of a problem in the database but in a portion of the server which held web data. Temporary data filled the server waiting to be offloaded to another application. It occurred - they think - over a two week period.

SQL Server 2005 Integration Services - Templates, Data Sources, and Data Source Views - Part 50
Marcin Policht
In this installment of our series dedicated to SQL Server 2005 Integration Services, we will look into functionality intended to improve efficiency of managing Business Intelligence Development Studio-based projects. In particular, we will focus on features that help maintain consistency across multiple packages and increase their portability (facilitating their deployment into production environment or distribution of multiple replicas of the same code onto different systems). The topics covered here will include package templates, data sources, and data source views, which supplement some of the earlier discussed, similar mechanisms, such as configurations or SSIS Deployment Utility.

SQL SERVER - Insert Multiple Records Using One Insert Statement - Use of UNION ALL
Pinal Dave
This is very interesting question I have received from new developer. How can I insert multiple values in table using only one insert? Now this is interesting question. When there are multiple records are to be inserted in the table following is the common way using T-SQL.

Cut development time with SQL Server 2005's synonyms
Tim Chapman
A synonym is a new object to SQL Server 2005. It is a way to give an alias to an already existing object. For example, if you have a table named SalesHistoryFromArchiveFiscalBusinessYear2005, you could create a synonym named Sales05 that points to that object. This means that instead of writing this query:

An Introduction To Linked Servers
Krishna Sonti
Linked Servers are an interesting technology in SQL Server to allow remote access from within the database to external data sources. They can be a boon in a heterogenous environment with other Oracle, DB2, etc. data sources. But they can also help in a smaller scale against those "hidden" datasources like Excel or Access. New Author Krishna.

Being Ignorant with LINQ to SQL
Ian Cooper
Most of the code here was written on the May 2006 CTP. That' s just because I am moving house and do not have access to my Orcas beta at the moment. It is also a preliminary discussion that I hope will be followed by more detailed analysis, as time permits.

LINQ to Entities and Occam's Razor
Ian Cooper
MS has announced that LINQ to Entities will not ship with Orcas. I think this is sensible as it seemed to be short of what was required from prime time. Better to get it right than to ship it.

Analysis Services Processing Best Practices
Denny Lee, Nicholas Dristas, Carl Rabeler
Following the best practices described in this article will help you improve the performance of OLAP database processing.

Analysis Services Query Performance Top 10 Best Practices
Microsoft
Proper cube design, efficient multidimensional expressions (MDX), and sufficient hardware resources are critical to optimal performance of MDX queries issued against a SQL Server 2005 Analysis Services instance. This article lists the ten most common best practices that the Microsoft SQL Server development team recommends with respect to optimizing Analysis Services query performance. For additional discussions about Analysis Services best practices related to query performance, see The Analysis Services Performance Guide and OLAP Design Best Practices for Analysis Services 2005.

MDX is like chess. Are you ready to play against Grandmaster?
Mosha Pasumansky
Warning: This post carries no or very little practical value. It is mostly obscure. However, if you are MDX junkie, you may find it interesting.

SSAS 2008 - Info from chat session
Vidas Matelis
Just participated in chat session on Katmai release and found some new information on SSAS 2008. Full transcript of this chat will be published shortly here.

SSAS 2008 Katmai review - installation and first impressions
Vidas Matelis
This weekend I had some time to play with SQL Server 2008 (Katmai) June CTP, and I am posting here my first impressions (focus on Analysis Services).

[В начало]

ФОРУМ SQL.RU

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

и снова deadlock :-(
Помогите сформировать запрос
Хранение файлов в базе данных
Как приаттачить файл без .ndf?
Рекурсивный запрос, СТЕ и прочая фигня :(
Нужна помощь по производительности
Preview upcoming Releases: SQL Server 2008 June CTP now available!
Не удалось перевести базу в single user mode
Какого типа лучше делать первичные ключи в таблицах?
Подсчет суммы промежутков времени
вопрос по запросу
bcp in SQL2005
Триггер на вставку
Помогите вычислить среднее
Есть ли в MSSQL подобие системного триггера для регистрации системных событий?
Full Text Search Engine
Не выполняется Job
Вопрос по аутентификации
SQL и комбинаторика - ломаю голову
Синхронизация двух MSSQL

[В начало]

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

Результаты в XML - значения в качестве тэгов
Плиз, посовейтуйте хорошую книгу по sql server 2005
Плиз, посовейтуйте хорошую книгу по sql server 2005
Анонс SQL Server 2008
Permission for create Database snapshot
SQL2005 Log Shipping - имена файлов бэкапов логов в GMT
Full-text вопрос
Работа фильтров в репликации
Использование ActiveX в CLR
Performance and Tuning Blue Prints
RMO ERROR:No signature was present in the subject.
Проблема с обновлением MSDistribution_history
ошибка dts
Системные view, репликация.
Баг или Фича tempdb...

[В начало]

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