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

MS SQL Server

  Все выпуски  

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


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


#182<<  #183

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.SQL Server 2000 DTS. Часть 8. Задачи DTS Designer: Transform Data Task
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Новые и обновлённые технические статьи Microsoft
2.3.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.ПОЛЕЗНОСТИ
4.1.Вопросы и ответы по Microsoft SQL Server. Выпуск No.28
4.2.Новая рассылка: .Net Собеседник - Новости мира Net, C#, ASP.Net
4.3.Базы данных. Учебник для вузов

СОВЕТЫ

SQL Server 2000 DTS. Часть 8. Задачи DTS Designer: Transform Data Task

По материалам статьи Marcin Policht: SQL Server 2000 DTS Part 8 - DTS Designer Tasks - Transform Data Task

Нам осталось рассмотреть ещё несколько задач DTS Designer, которых, как вы помните из предыдущих статей, всего 17, и они также решают задачи SQL Server 2000 Data Transformation Services. Возможно, наибольшим изменениям относительно SQL 7.0 подвергся Transform Data Task. В этой и следующей статье мы рассмотрим стандартное поведение этой задачи, а также, её дополнительные возможности, объяснив заодно, почему эта задача часто упоминается как Multiphase Data Pump.
Transform Data Task предназначен для копирования и трансформации данных из их источника в получающие информацию базы данных. Трансформация может быть как простым копированием полей (не делая никаких изменений, а только копируя содержание исходного поля в поле получателя) с помощью файловых операций (чтение и запись), так и производить манипуляции над строками (преобразование регистра, урезание), исполнять ActiveX скрипты (для получения подробной информации об этом, обратитесь к предыдущей статье), которые могут вызывать специализированные COM объекты.
Для Transform Data Task требуется два подключения к существующим реляционным базам данных. Для простоты, давайте использовать в качестве источника базу данных Northwind, а tempdb в качестве адресата (tempdb удобна потому, что её содержимое очищается при каждом рестарте SQL сервера). Как только оба подключения будут созданы, установите указатель на источник данных (что бы он был подсвечен), и выберите пункт Transform Data Task из меню Task интерфейса DTS Package Designer (или перетащите соответствующий значок с инструментальной панели на левой стороне окна). Мастер запросит у Вас указание базы данных адресата, для этого нужно просто указать мышкой на второе подключение. Чтобы изменить свойства нашей новой задачи, дважды щёлкните мышкой по появившейся между подключениями стрелке и выберите пункт Properties в открывшемся контекстном меню.
Диалоговое окно Properties разделено на пять закладок. Первые две, соответственно называются Source и Destination, и позволяют Вам определять источник и адресат для данных. В то время как для адресата нужно выбрать название таблицы (это может быть существующая или новая таблица), исходные данные могут быть получены из таблицы, представления или SQL запроса. Кроме того, при использовании SQL запроса, Вы можете добавить его параметры (с вопросительными знаками в качестве меток-заполнителей), которые отобразятся на глобальные переменные DTS (для получения подробной информации о глобальных переменных DTS, обращайтесь к нашим предыдущим статьям этого цикла). В нашем примере, выберите в качестве источника данных таблицу Shippers, и создайте соответствующую таблицу в базе данных tempdb. Transform Data Task будет пытаться автоматически соотнести поля источника на поля адресата и применить трансформацию копирования полей для каждой пары существующих полей (это означает, что трансформация будет индивидуальной для каждого поля источника данных). Каждая трансформация будет отражена на закладке Transformations, и каждая стрелка от источника к адресату будет определять отдельное преобразование, с именами: DTSTransformation_1, DTSTransformation_2 и DTSTransformation_3 соответственно (как Вы можете видеть, их имена появляются в списке Name). Если Вы нажмёте кнопку Edit, предварительно выбрав любое из имеющихся преобразований, Вы попадёте в диалоговое окно Transformation Options. На его первой закладке General, помещена информация о типе преобразования (Copy Column) и его порядок расположения (индикатор очерёдности исполнения преобразований). Также, тут Вы можете изменить название преобразования, написав новое имя в текстовом поле Name, и изменить отражение полей, нажав по кнопку Properties. Список полей, доступных после этого в диалоговом окне, может быть изменен путём изменения полей источник и адресата на двух других закладках диалогового окна Transformation Options (называемых соответственно Source Columns и Destination Columns). Как только Вы закончите настраивать доступные там параметры, щёлкните по кнопке OK, чтобы вернуться на закладку Transformations диалогового окна Transform Data Task Properties.
Как правило, для повышения производительности желательно ограничить число преобразований. В нашем случае, это можно легко сделать, удалив три автоматически созданных преобразования Copy Column и заменив их на одно, которое включает сразу все поля. Чтобы это сделать, в нижней части диалогового окна нажимает сначала на кнопку Select All, а затем на Delete All. Вы увидите, что три стрелки исчезли. Щёлкните по кнопке New, после чего отобразится диалоговое окно Create New Transformation. Здесь, выберите опцию Copy Column и щёлкните по кнопке OK. Должно появиться диалоговое окно Transformation Options. Если Вы нажмёте на кнопку Properties, Вы увидите, что осталось единственное преобразование, которое содержит отражения между всеми полями в таблицах источника и адресата. Как только Вы нажмёте OK, Вы увидите графическое представление преобразования, отражающее его новую конфигурацию. Для проверки его работоспособности, нажмите кнопку Test, и Вы должны получить подтверждение, что пакет был выполнен успешно (также, Вы можете посмотреть результаты работы пакета).
Теперь, давайте рассмотрим, как мы можем получить то же самое другим путём, используя скрипт ActiveX. В окне Transform Data Task Properties нажмите кнопку Delete, чтобы удалить все имеющиеся преобразования. Далее, нажмите кнопку Select All и убедитесь, что выбраны все поля в Source и Destination. Зайдите в диалоговое окно Create New Transformation, нажав кнопку New, и выберите пункт ActiveX Script. Щёлкните по OK, и Вы попадёте в диалоговое окно Transformation Options. Проверьте его свойства (используя кнопку Properties), в них Вы увидите, что был автоматически создан следующий скрипт:

Function Main()
 DTSDestination("ShipperID") = DTSSource("ShipperID")
 DTSDestination("CompanyName") = DTSSource("CompanyName")
 DTSDestination("Phone") = DTSSource("Phone")
 Main = DTSTransformStat_OK
End Function

Как и прежде, Вы можете проверить его и получить подтверждение успешности его исполнения. Это показывает, что можно использовать различные типы преобразований для достижения одной цели. В то время как метод с Copy Column работает быстрее, ActiveX Script более гибок и позволяет использовать объекты Lookups.
Объекты Lookups, конфигурация которых задаётся на закладке Lookups, позволяют отыскивать или устанавливать значения через подключения в DTS. Каждый поисковый запрос имеет уникальное имя, тип подключения, установку кэша (число кэшируемых результатов поиска) и SQL запрос, который определяет операцию поиска. Запрос составляется в DTS Query Designer и включает один или более параметров (определяемые вопросительными знаками и заменяемые значениями, полученными из источника данных или глобальных переменных DTS, в момент выполнения преобразования). Если точнее, обычно это достигается следующим кодом в ActiveX скрипте:

DTSDestination("DestinationColumn") = DTSLookups("LookupQuery").Execute("ParameterList")

Например, давайте вообразим, что мы хотим создать таблицу в базе данных адресата, которая будет содержать, в дополнение к информации из таблицы Shippers, общее количество заказов, отправленных каждой компании. Это может быть сделано следующим запросом:

SELECT COUNT(OrderID) AS Expr1
FROM Orders
WHERE (ShipVia = ?)

Создайте этот запрос на закладке Lookups, и назовите его GetOrders. Далее, измените данные о таблице на закладке Destination, создав новую таблицу в tempdb с именем ShippersOrders, используя следующую инструкцию SQL:

CREATE TABLE [ShippersOrders] (
[ShipperID] int NOT NULL, 
[CompanyName] nvarchar (40) NOT NULL, 
[Phone] nvarchar (24) NULL,
[Orders] int)

Когда Вы переключитесь на закладку Transformations, обратите внимание, что в таблице адресата появилось поле Orders, но оно не затрагивает существующее преобразование. Чтобы изменять это, нажмите сначала кнопку Edit, а затем кнопку Properties (в диалоговом окне Transformation Options). Наконец, в разделе ввода кода диалогового окна ActiveX Script Transformation Properties замените имеющийся там код на следующий:

Function Main()
 DTSDestination("ShipperID") = DTSSource("ShipperID")
 DTSDestination("CompanyName") = DTSSource("CompanyName")
 DTSDestination("Phone") = DTSSource("Phone")
 DTSDestination("Orders") = DTSLookups("GetOrders").Execute(DTSSource("ShipperID"))
 Main = DTSTransformStat_OK
End Function

Убедитесь, что на закладке Transformations к полю Orders теперь тоже протянута стрелка. Теперь, исполнение этой задачи заполнит дополнительное поле значениями, полученными из таблицы Orders, используя поле ShipperID для каждой строки в исходной таблице. Вы должны обратить внимание, что для производительности лучше избегать поисковых запросов и искать альтернативные им решения. Например, в нашем случае, тот же самый результат может быть получен путём другого определения источника данных. Вместо прямого использования таблицы Shippers, мы могли бы определить следующий SQL запрос:

SELECT Shippers.ShipperID, Shippers.CompanyName, Shippers.Phone, COUNT(OrderID) AS Orders
FROM Shippers
INNER JOIN Orders
ON ShipVia = ShipperID
GROUP BY Shippers.ShipperID, Shippers.CompanyName, Shippers.Phone

Оставив без изменений таблицу адресата (таблица ShippersOrders в базе данных tempdb), мы внесём изменения в преобразование, и будем использовать единственное Copy Column между источником и адресатом. В итоге Transform Data Task будет исполняться более эффективно. Имейте в виду, что поисковые запросы должны использоваться только тогда, когда необходимо (например, когда часть данных находятся в не реляционном источнике, должна использоваться хранимая процедура или если объединения (join) генерируют очень большое количество данных).
В нашей следующей статье, мы рассмотрим оставшиеся варианты конфигурации Transform Data Task и изучим более детально его параметры, которые позволяют реализовать многофазный процессинг данных.

[В начало]

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

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

Изменение структуры БД под 1С(SQL)
Сердюк В.И.
В одной из предыдущих статей я рассказал как при изменении структуры БД можно добиться того , что бы 1С проходила успешно процедуру верификации. Однако неприятности нас поджидают в дальнейшем при работе с 1С а именно при изменении данных. Например при введении нового элемента справочника. При попытке вставки нового элемента 1С выдает ошибку о несоответствии количества передаваемых параметров количеству полей таблицы. Почему это происходит? Дело в том что при использовании конструкции Insert 1C передает множество полей таблицы без явного указания полей и соответственно MSSQL server по умолчанию определяет это множество как полный список полей таблицы(без поля с признаком identity...
Изменение настроек репликации транзакцией в горячем режиме
Сердюк В.И.
Некоторое время назад мне нужно было решить задачу по настройке репликации транзакцией БД под 1С из одного сервера на другой. Как описывалось в предыдущих статьях, я снял все ограничения 1С по изменению структуры БД. Тем не менее, столкнулся с дополнительными проблемами. В основном проблему можно сформулировать так , что при изменении структуры БД мастер репликации требует переформировании всей схемы БД а не конкретно выбранного объекта. Также поставленные на репликацию таблицы нельзя никаким переименовывать, удалять, что 1С и делает при изменении структуры БД. То есть, конечно, можно было перед изменением структуры снимать все (можно конечно только измененные, но их нужно знать заранее) таблицы с репликации, а затем ставить заново, но эта операция требует гораздо больш...
Реализация системы логирования для 1С(SQL)
Сердюк В.И.
Скорее всего многие сталкивались с ситуациями когда шеф просит выяснить кто сделал изменения в документе в результате которых фирма потеряла деньги. Другая ситуация когда программист пытается доказать пользователю что это он сделал изменения а пользователь в свою очередь говорит, что это несовершенная программа выполнила эти изменения. Бывают ситуации когда необходимо кого-то поймать на воровстве, манипуляции с данными в БД. Иногда просто необходимо получить список измененных объектов в той последовательности в которой они изменялись. Все эти ситуации попадают под разряд решений аудита и логирования...
Счётчики производительности SQL Server и Windows
Александр Гладченко
MSSQLServer: Настоящая статья исследует возможности анализа счётчиков производительности Windows 2000, под управлением которой работает SQL Server 2000. Даются пороговые значения ключевых счётчиков, рекомендации по наборам счётчиков для поиска узких мест различных компонент системы в целом и приводятся методики поиска и устранения выявленных с помощью счётчиков проблем...
Менеджер подключений к базам данных
Андрей Майоров
ADO: Не будет большим преувеличением сказать, что львиная доля разрабатываемых сейчас программ использует в своей работе базы данных. Большинство из них работает с одной базой, более редкие представители - с двумя, тремя, четырьмя и так далее, вплоть до полной неопределенности в количестве баз на этапе разработки...
Секреты Delphi. Мониторинг SQL-запросов при работе с ADO-компонентами
Сергей Бердачук
Delphi: Не секрет, что приложения баз данных составляют довольно большую долю всех вновь разрабатываемых приложений. Ни одна информационная система не может быть создана без соединения с той или иной СУБД. В первых версиях нам предлагался давно устаревший, но все еще успешно использующийся Borland Database Engine (BDE). Одним из альтернативных способов доступа к источникам данных стали компоненты ADO...
Секреты Delphi. Соединение с базами данных при помощи компонент ADO
Сергей Бердачук
Delphi: Продолжая тему использования компонент ADO, хочется обратить ваше внимание на удобный способ настройки соединений к БД с использованием внешних файлов, описывающих параметры соединения...
Понимание пространств имен XML
Aaron Skonnard
XML: Пространства имен - источник большой запутанности XML, особенно для новичков в этой технологии. Большинство вопросов, получаемых мною от читателей, студентов и посетителей конференций, в той или иной мере касаются пространств имен. Это, на самом деле, в некоторой степени непонятно, поскольку появилась Пространства имен в XML-рекомендации - одна из самых коротких спецификаций XML, состоящая из 10 страниц, не включая приложения. Путаница, однако, касается семантики пространства имен, в отличие от синтаксиса, описанного спецификацией. Чтобы полностью понять пространства имен XML, вы должны иметь представление о том, что такое пространство имен, как определяются пространства имен и как они используются...
SQL Server 2000 DTS. Часть 1
Marcin Policht
MSSQLServer: Администраторы базы данных, помимо манипуляции постоянно находящимися в базах SQL Server 2000 данными, часто сталкиваются с задачами перемещения информации между разнородными источниками данных. Часто, перемещаемые данные должны быть преобразованы или изменены в процессе перемещения. Раньше (в SQL 6.5 и более ранних версиях), это вызывало существенные проблемы и требовало дополнительных инвестиций в решение таких задач собственными силами. Data Transformation Services (DTS), появившийся в SQL Server 7.0 и улучшенный в SQL Server 2000, решительно изменил эту ситуацию. Целью автора является в нескольких статьях представить Вам концепцию SQL Server 2000 DTS...
SQL Server 2000 DTS. Часть 2. Создание DTS пакетов с помощью мастеров
Marcin Policht
MSSQLServer: Как уже говорилось в первой части статьи, существует три метода создания DTS пакетов: с помощью графического интерфейса DTS Designer, программированием на основе DTS object model или с помощью мастеров SQL Server Enterprise Manager. В этой части статьи мы рассмотрим использование мастеров, которые хоть и ограничены в возможностях, но могут послужить отправной точкой для освоения более сложных методов. Enterprise Manager располагает двумя мастерами, с помощью которых можно быстро и легко создавать DTS пакеты, это DTS Export/Import Wizard и Copy Database Wizard...
SQL Server 2000 DTS. Часть 3. Подключения в DTS Designer
Marcin Policht
MSSQLServer: В предыдущей статье мы рассмотрели способы создания DTS пакетов с помощью мастеров. Несмотря на простоту, этот подход имеет некоторые ограничения, которые можно обойти двумя способами, используя DTS Designer или DTS object model в языках программирования, например, в Visual Basic. Второй из этих способов позволяет использовать все возможности DTS, но первый более популярен из-за комбинации его относительно богатых функциональных возможностей и легкости использования. Это также является причиной того, что автор акцентирует внимание на DTS Designer в этой статье...
SQL Server 2000 DTS. Часть 4. Задачи в DTS Designer
Marcin Policht
MSSQLServer: В предыдущей статье о SQL Server 2000 Data Transformation Services мы рассмотрели первый основной компонент DTS пакета - Подключение. Теперь пришло время изучить другой критически-важный компонент - Задача (Task), которая предназначена для процессинга данных, полученных через Подключение. Задачи помечены разными значками в окне DTS Designer с названием Tasks и могут быть легко добавлены к пакету, путём простого перемещая их курсором мыши в окно пакета. Большинство из задач требуют наличия уже существующего в пакете подключения или нескольких подключений, если это необходимо...
SQL Server 2000 DTS. Часть 5. Задачи DTS Designer и Global Variables
Marcin Policht
MSSQLServer: В предыдущей статье мы познакомились с простыми типами задач DTS Designer. Мы продолжим здесь их обсуждение, сосредоточившись на более сложных моментах. Однако, прежде чем мы продолжим, давайте более детально изучим понятие DTS Global Variables, которое поможет нам понимать некоторые нюансы настройки задач...
SQL Server 2000 DTS. Часть 6. Задачи DTS Designer и Package Workflow
Marcin Policht
MSSQLServer: Как было обещано в предыдущей статье, мы продолжаем обсуждение разных способов использования глобальных переменных в задачах DTS Designer. В частности, мы изучим их роль в обмене данными между пакетами и особенности использования Execute Package task. Заодно мы узнаем, для чего можно использовать DTS Package Workflow...
SQL Server 2000 DTS. Часть 7. Задачи DTS Designer: ActiveX Script Task
Marcin Policht
MSSQLServer: Если Вы прочли предыдущие статьи о технологии SQL Server DTS, Вы, вероятно, обратили внимание на частое упоминание ActiveX скриптов. Несмотря на то, что создание скриптов не очень популярно среди администраторов баз данных, их возможности стоит изучить, тем более что знакомство с ними необходимо для понимания оставшихся для нашего рассмотрения типов задач. Сегодня мы рассмотрим ActiveX Script task, который активно использует создание скриптов...
Управление доступом на основе ролей с помощью Authorization Manager в Windows Server 2003
Моэн Рао Кавейл
Описывается создание, поддержка и управление приложениями, основанными на ролях, c использованием Authorization Manager и связанной с ним MMC-оснасткой AzMan. Дано введение в управление доступом на основе ролей и связанная с ним терминология, а также описание процесса создания ролей, заданий и операций, выполняемых над используемыми ресурсами...
Encrypting File System в семействе Windows Server 2003
Network Associates Laboratories
Знакомьтесь с Encrypting File System (EFS) - сервисом прозрачного шифрования файлов, используемым в семействе операционных систем Windows Server 2003. EFS описывается в статье в том виде, в каком он существует в Windows XP Professional и Windows Server 2003. Сначала мы рассмотрим архитектуру EFS: работу, восстановление данных и компоненты EFS. Затем расскажем, как использовать EFS из оболочки и программным способом. В конце статьи будут рассмотрены некоторые вопросы защиты с помощью EFS...
Работа с Visual SourceSafe
Microsoft Corporation
В этой главе дается пошаговое описание рутинных операций в процессе разработки, в том числе добавление решений и проектов в Visual SourceSafe, выборка решений из VSS, постановка файлов на учет и снятие их с контроля. Прочитав главу, вы сможете быстрее выполнять такие задачи...
Структура сетей и протоколов
Александр Дудкин
Различные типы сетей все плотнее интегрируются в нашу жизнь, хотя мы этого порой даже не замечаем, в то время как они раскрывают перед нами все более широкие возможности. Кто-то про себя подумает: <Да не нужны мне эти буржуйские штучки!>, - и будет неправ. В ближайшее время всевозможные сети опутают нашу жизнь со всех сторон. Все, начиная от общения, заканчивая удаленным управлением бытовыми устройствами у нас дома и на работе, будет управляться по сети. У кого сейчас нет сотового телефона, в то время как еще 4 года назад они были не так уж и распространены. Так в ближайшие годы не останется человека без ноутбука с беспроводной технологией Wi-Fi. Уже сейчас вы можете проверять факсы и почту, пришедшие на ваш домашний телефонный номер удаленно. Если учесть, что все они м...
MicrosoftR SQL ServerT 2000 Reporting Services Beta 2
Андрей Синкин
MSSQLServer: Reporting Services - это комплексная серверная платформа для создания, управления и доставки традиционных и интерактивных отчетов. Это интегрированная часть структуры бизнес-анализа от компании Microsoft, которая объединяет возможности управления данными Microsoft SQL Server и Windows ServerT с хорошо знакомыми приложениями Microsoft Office System. Результатом является мощная и рентабельная платформа для бизнес-анализа (BI)....

[В начало]

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

BUG: Repair SQL Server 2000 Desktop Engine (Windows) by using the Add/Remove Programs tool
BUG: You cannot connect to a SQL Server 2000 Analysis Services computer after you install Analysis Services Service Pack 3
Error Message: OLE DB Provider SQLOLEDB Was Unable to Begin a Distributed Transaction
FIX: A computer might transmit nonencrypted data when clients use the Multiprotocol Net-Library with the encryption option enabled
FIX: Cannot Set Description for Dimensions and Measures by Using the CREATE GLOBAL CUBE Statement
FIX: Incorrect Parameter Numbering Occurs in Custom Stored Procedures That Are Generated with the Sp_scriptpublicationcustomprocs Stored Procedure
FIX: Many Temporary Tables Remain After Analysis Services Drills Down a ROLAP Cube in SQL Server
FIX: SQL Server 2000 protocol encryption applies to JDBC clients
FIX: SQL Server CE connection causes an out-of-memory condition when you create many SqlCeDataReader objects
FIX: The Analysis Services service may shut down when you drop sets and members and then run queries
FIX: You receive an error message when you run a parallel query that uses an aggregation function or the GROUP BY clause
How to configure the SQL Server Network Libraries by using SQL-DMO
How to move your Project Server 2002 and SharePoint Team Services Web site to a new server
How to troubleshoot a SQL Server 8198 error
How to use Reporting Services to configure and to access an Oracle data source
HOW TO: Change Domains for a SQL Server 2000 Failover Cluster
HOW TO: Install Key Products from the MSDN Enterprise Subscription
HOW TO: Manually Remove a Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Instance
HOW TO: Send E-Mail Without Using SQL Mail in SQL Server
HOW TO: Set Up Development Environment from MSDN Professional Subscription
INF: RDBMS performance tuning guide for data warehousing (white paper)
INF: SQL Logs 17832 with Multiple TCP\IP Connection Requests
INF: Using Extended Stored Procedures or SP_OA Stored Procedures to Load CLR in SQL Server Is Not Supported
INFO: Performing a SQL Distributed Query by Using ADSI
TechNet Support WebCast: An introduction to Microsoft SQL Server 2000 Reporting Services
The IDENT_CURRENT Transact-SQL statement returns an unexpected value for an empty table that has an identity column

[В начало]

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

Viewing the Hierarchy of Stored Procedures
Stefan Popovski
Before reading this article I recommend you to read my last article Finding Real Dependencies. If I had dependencies between stored procedures I can use them to create hierarchical view. I'm going to create five stored procedures in Northwind database
Replication's Horizontal and Vertical Partitioning Capabilities
Lynn Zhu and Demico Quinn
Using Replication’s Horizontal and Vertical partitioning capabilities to manage publications in a distributed database environment. Before coming up with the solution that this article will describe, we decided that this would be a great topic to write about and share our experiences with others. We also found that there were not a lot of articles out there that focused on Replication. More specifically, articles that chronicled case studies where column and row filters were being used as an integral part of the solution. It is our hope that you will find this article to be helpful and inspire readers to write more articles about Replication
Is Your Tempdb Stressed Out?
Brian Moran
Most SQL Server customers use tempdb a lot. But you might not realize that heavy use of tempdb can cause resource-allocation contention and result in potentially serious performance problems. I recently ran across a Microsoft Knowledge Base article that describes potential problems with tempdb that I hadn't been unaware of. Coincidentally, this information has helped some of my clients in the past several weeks, and it might be relevant to your environment
Microsoft prepares for Yukon, Longhorn
Martin LaMonica
Microsoft on Tuesday announced plans for new development tools, as the company continues to lay the groundwork for its next major database and operating system software releases
Updating SQL Server Connection Properties from the DTS Package INI File
Muthusamy Anantha Kumar
In a typical development, QA or production environment, it can be very hectic to change all of the connection parameters, such as source file path, destination server name, table name, userID, password etc. in the DTS package when we move the packages from one environment to another environment. This article will step you through the use of the INI file with DTS package and how to update the connection properties from the INI file during run time
Optimize Your Applications
Dinesh Priyankara
The application you have written, either web-based or windows-based, need to be run fast without making end-user annoyed. I have seen many applications that have very low-level performance but can be easily optimized for some extent. For example, we need to load all shippers to drop-down box. You simply write a query that executes against your SQL Server database and loads data into drop-down box. Assume that this shipper’s data is referenced by couple of web forms or win forms. Should we load it over and over again? No, but unfortunately this is what most of us do and in a way, it makes the application run slowly. Though this is a simple thing, let’s see how to handle it
Autoclose for Databases
Steve Jones
Let's start with an easy one? What is Autoclose? Autoclose is one of the options that you can set for a database, along with autoshrink, auto create statistics, auto update statistics, etc. This option basically "closes" the database file whenever the last users disconnects from the database. The resources are freed up, but when a user connects to the server, the database is reopened
MDX Essentials: Basic Set Functions: The Filter() Function
William Pearson
In this lesson, we will expose what many consider one of the most useful functions in the MDX arsenal, the Filter() function. The general purpose of the Filter() function is to allow us to filter out parts of a set that we do not need in a given situation, and to return a subset of a larger set as a result. Uses of the Filter() function, as with many MDX functions, can range from the sublimely simple to the impressively advanced, and it can be used in many innovative ways. The objective, of course, is the support of precise analysis to meet our business needs. We will see in this article how the Filter() function is a prime example of the efficiency and precision we can attain by using judiciously chosen functions from our MDX toolsets
Getting the Wrong Identity in Microsoft SQL Server identity Columns?
Don Schlichting
This article will explore Microsoft SQL server identity columns, including their problems, use and scope
Benchmarking Performance of a Query - Part 2 CPU and I/O
Gregory A. Larsen
This is the second article in a series discussing benchmarking T-SQL query performance. The first article in this series discussed different methods of capturing the elapsed time of a T-SQL batch, pieces of a batch, or a single T-SQL statement. This article will discuss how to determine the amount of CPU and I/O used when a given T-SQL statement or a series of statements are executed
Data Mining Algorithms: Microsoft SQL Server 2000 vs. "Yukon" SQL Server
Alexzander Nepomnjashiy
This article describes a well-known concept, (Data Mining algorithms, built into Microsoft SQL Server 2000 Analysis Services) and what I would like to see in the final "Yukon" SQL Server release (i.e. my expectations in a field of new / improved data mining algorithms)
Identifying Stored Procedure Recompilation Problems in SQL Server 2000
Andrew Novick
Around 1980 when relational databases and I were both young, I was told that the time to parse the SQL statement and create the search plan took about 50 percent of the time required to execute a SQL query. Most of this was consumed by CPU time for parsing and plan creation. The other 50 percent was devoted to executing the query. Then as now, execution time was primarily consumed by I/O for reading the pages required to satisfy the query. With computer CPUs being about 30,000 times faster today than they were in 1980 you'd think that parsing and plan creation would no longer involve significant effort. But they do
Temp Tables in SQL Server
Dinesh Asanka
Temporary tables are always a great help for a developer. In the early days when I used Access I used to create tables that I treated as temporary and then delete them whenever I finished my task. Using SQL Server this is much simpler. Or is it?
Getting Rid of Excessive Files and Filegroups in SQL Server
Chad Miller
Recently I began supporting a database with 16 filegroups, which in and of itself is not issue. However this particular database is only 7 GB in total used size and all of the 16 files are were located on a single EMC symmetrix volume. Because of the use of file groups the database had expanded to a total of 15 GB unnecessarily doubling its size. Although there are legitimate reasons to use filegroups; In this situation 16 file groups were clearly excessive and did not create substantial value since all of the files were located on a single volume. Although it could be argued that filegroups can aid in recovering certain tables without restoring the entire database, this type of recoverability was not needed. If you buy quality physical disks and back/recovery software you can avoid using filegroups entirely. So, I set out to remove 15 filegroups in favor of a single PRIMARY filegroup
Get Your Stored Procedures Ready for Anything
Drew Georgopulos
Without the use of SQL Server's debugger or Raiserror during development, you're on your own for error handling. Learn two solutions for testing your stored procedure code under these tough conditions
Bind to Data Visually in ASP.NET
Jonathan Goodyear
Instead of digging deep into the code-behind class to build data-bound ASP.NET pages, do almost everything visually
Achieve Persistence Independence
John Wheeler and Willie Wheeler
This data store architecture is sturdy enough to withstand minor persistence format changes as well as data store migration—and it avoids vendor lock-in
Implement ADO.NET Mapping
Fabio Claudio Ferracchiati
Use the ADO.NET mapping mechanism to bind a data source to a DataSet that uses different table and column names
Using ADO .NET - More DB Updating - Part 5
visualbasic.about.com
The plan for this installment is to quickly review the most important objects in ADO .NET (especially the ones required for changing the database - what are often called "action queries") and then show you add, change, and delete code using those objects. A flaw in many tutorials is that they seem to be a 'cookbook' that leave you lost in limbo when your problem is slightly different than the 'recipie'. The goal of this one is to show you how the objects fit together so you can create your own wonderful ADO .NET recipies
A quick UNION ALL trick
Dipak Padhy
Let's say that you have two tables that have columns of the datatype TEXT A better method to adding new rows in a DataGrid
If you've been working with the DataGrid Control you understand the difference of the different templates and how you can use the FooterTemplate to create functionality so a user can add in a new row to your datasource. But showing and hiding the Footer Template isn't enough to make a good UI. This article uses a few simple ideas to make adding in new records better for the user
An Introduction to Database Models
Frank Kalis
Consider this article a very basic introduction to an area in which countless multi-hundred paged books have been written during the last four decades. This article can not and does not intend to compete with any of these books, but rather tries to explain different database models in a non-academic style. I will discuss the following database models
Autoclose for Databases
Steve Jones
Let's start with an easy one? What is Autoclose? Autoclose is one of the options that you can set for a database, along with autoshrink, auto create statistics, auto update statistics, etc. This option basically "closes" the database file whenever the last users disconnects from the database. The resources are freed up, but when a user connects to the server, the database is reopened
Next Yukon, Whidbey Betas Due In May, Microsoft Says
Paula Rooney
7:33 PM EST Fri., Oct. 10, 2003. Microsoft expects to launch Yukon Beta 2 and the Whidbey Beta 1 in May of 2004 with Phase III testing scheduled for August, company executives said on Friday
Squeezing Wasted Full Scans out of SQL Server Agent
Bob Musser
This tweak in this article was done on a server running NT 4, SP6, with SQL Server 7 SP4 installed. The machine is a dual processor 1Ghz Pentium 3 with 2 Gig of ram. As always, make a backup first - your mileage may vary. This isn't for the faint of heart, it involves editing a MS supplied system stored procedure. Additionally, if you're using SQL Server Agent Alerts you won't see any performance benefit
Changing Databases Using XML
Dinesh Asanka
As a database developer , you may have being fed up with the never ending customer changes. Actually this is not only relevant to database developers but for all of the other developers. But for database developers has to meet the customer requirements they may need to change the databases. But if these changes are done by manually you must list out all the changes to be done and do it perfectly. It is not sound methodical isn't it? So we have to find out an elegant way of doing it

[В начало]

ФОРУМ SQL.RU

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

Tool Вы знаете что твориться на ваших 10-30+ серверах ?
Книга по SQL 2000
Недостатки MSSQL
Нынче по небу правильно солнце идет
Как отследить разрыв соединения
хп + DTS
Эскалация блокировок - баг или фича?
Существует ли перевод "Books online" по MSSQL2000 ?
Объединение строк в одну
2 в 1: память и блокировки
А как выдать все NT группы определенного usera?
Проблемы с датой
Backup
Как прочитать данные из временной таблицы?
Выборка через строчку
Проблема с запросом больше 128 символов
Вопрос ко всем спецам и проектировщикам
Файл подкачки в WIN2000 Server
Добавление памяти SQL Serverу
Трабл с запросом.. на таблице с 2 миллионами записей(+)

[В начало]

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

подобрать
Новая база из архива
Apache 1.3.29 PHP, FreeTDS, MS SQL 2000, Linux 9, Кириллица
PHP:mssq_connect() не коннектится с MSSQL PE на win98
книга по MS SQL
Что подойдет лучше для передачи данных на запасной сервер?
Vis pacem, para bellum
Чем определяется минимальный размер БД при Shrink DB?
bcp_bind - как узнать что за ошибка произошла?
залинковать InterBase - как?
как правильно сделать?
проблемы кластер Windows NT Windows 2000
Mail Session
bcp_bind и DATETIME - как привязать такое поле?
Странное поведение SQL Server

[В начало]

ПОЛЕЗНОСТИ

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

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

Выпуск No. 28 от 2004-02-13
Вопрос : Я восстановил/скопировал базу данных на другой сервер и теперь никто не может войти в базу данных. Я пробовал создать пользователей, потому что они не показываются в списке, но когда я добавляю их, система говорит, что они уже существуют. Что за ерунда?
Ответ

[В начало]

Новая рассылка: .Net Собеседник - Новости мира Net, C#, ASP.Net

О своей рассылке рассказывает hDrummer.
Причиной создания рассылки ".Net Собеседник" было желание поделиться с коллегами информацией, которая так или иначе касается платформы .Net и кажется мне интересной.
Целью создания рассылки являлось удовлетворение потребностей коллег в новостях, происходящих в мире .Net - сообщение о выходе новых компонент и наборов компонент, созданных для этой платформы, программных продуктов, призванных облегчить или повысить эффективность труда программиста.
Кроме того, в каждом номере публикуется перевод части большой статьи (или она размещается целиком, если это позволяет объём рассылки), интересной тем, кто использует C# и ASP.Net для разработки приложений, а также небольшая заметка, рассказывающая о небольших хитростях, которые помогут вам при разработке .Net-приложений. Начинает рассылку рубрика "От автора", в которой я делюсь своими мыслями и идеями, касающимися всё той же основной тематики. Завершает выпуск, уже традиционно, список вопросов, на которые не было дано ответа на .Net форумах сайта http://www.sql.ru/.
В шестом выпуске рассылки '.Net Собеседник' вы можете познакомиться с обзором новых компонент и продуктов, разработанных с использованием платформы, прочесть перевод статьи 'Предварительный обзор Whidbey' и рассказ ещё об одном способе передачи значений переменных между страницами в веб-приложении (да и не только) - 'Защита строк запросов: предупреждаем искажение данных, передающихся между страницами приложения'. Список вопросов, оставшихся без ответа на форумах .Net сайта http://www.sql.ru/ традиционно завершает номер.

С наилучшими пожеланиями, ведущий рассылки hDrummer.
Microsoft Certified Database Administrator
Microsoft Certified Professional

[В начало]

Базы данных. Учебник для вузов

А. Д. Хомоненко, В. М. Цыганков, М. Г. Мальцев

Цена: 278р. Издание 4-е, дополненное и переработанное. Мягкая обложка, 736 стр., 2004 г. Издательство: КОРОНА принт. ISBN 5-7931-0284-1, Тираж: 5000 экз., Формат: 70x100/16

Рассматриваются понятия баз данных и варианты их архитектуры. Дается характеристика моделей представления данных, рассматриваются реляционная модель данных и проектирование реляционных баз данных, CASE-системы, защита и администрирование баз данных. Описывается технология разработки персональных баз данных и клиентской части распределенных баз данных с помощью СУБД Microsoft Access, Visual FoxPro, системы Borland C++ Builder и серверной части с помощью Microsoft SQL Server. Описываются основы публикации БД в Интернете, архитектура Web-приложений, интерфейсы CGI и ISAPI/NSAPI. Дается общая характеристика технологии ADO.NET, Web-серверов и средств публикации баз данных в Интернете. Рассматриваются технологии публикации баз данных с использованием XML и Microsoft Access. По каждому разделу приводятся контрольные вопросы и задания. Для студентов и слушателей высших учебных заведений, обучающихся по техническим и экономическим специальностям.

[В начало]


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

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

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




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

В избранное