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

MS SQL Server

  Все выпуски  

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


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

#211<<  #212

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.Как определить неактивные индексы SQL Server
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
4.ПОЛЕЗНОСТИ
4.1.Ресурсы Microsoft BackOffice: SQL Server и Systems Network Architecture (SNA) Server
4.2.Теория и практика построения баз данных

СОВЕТЫ

Как определить неактивные индексы SQL Server

По материалам статьи Luis Martin: How to Identify Non-Active SQL Server Indexes
Перевод Виталия Степаненко

Для администраторов баз данных регулярной задачей является просматривание баз данных и поиск различных путей увеличения их производительности. В то время как добавление новых или улучшение индексов базы данных является одним из основных путей повышения производительности, повышение производительности через удаление неиспользуюемых индексов или определение слишком больших индексов, которые потребляют много ресурсов SQL Server. Неиспользуемые индексы снижают производительность выполнения команд INSERT, UPDATE и DELETE, и приводят к лишним дисковым операциям. Поэтому, чем больше лишних индексов мы сможем удалить, тем будет лучше.

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

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

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

Методология

Нашим главным инструментом является Profiler. С его помощью мы соберем статистику по активности базы данных за по крайней мере 4-5 дней. Если временные рамки не критичны, то чем больше времени будет собираться статистика, тем лучше - это поможет удостовериться, что редко используемые индексы не будут определены как неиспользуемые и, таким образом, не будут случайно удалены.

События, которые мы будем собирать с помощью Profiler, включают:

Stored Procedures:
RPC:Completed
SP:SmtmCompleted

TSQL:
SQL:BatchCompleted
SQL:StmtCompleted

Также рекомендуется выбрать следующие столбцы:

ApplicationName
EventClass
TextData
Duration
LoginName
Reads
NTUserName

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

Создание отчета по активным индексам

Следующим шагом нам нужно будет проанализировать полученный из Profiler файл трассировки, используя Index Tuning Wizard. Убедитесь, что используете опцию "Keep all existing indexes" и режим настройки индексов "Thorough". В "Advanced Options" уберите флажок "Limit number of workload queries to sample".

Как вы понимаете, выполнение такого анализа приведет к дополнительной нагрузке на ваш рабочий SQL Server. Убедитесь, что выполняете анализ в то время, когда ваш рабочий SQL Server не слишком загружен.

Когда работа Index Tuning Wizard завершена, нужно будет взглянуть на Index Usage Report, как показано ниже. Стоит отметить, что этот отчет показывает, какие индексы были использованы, а какие нет. Он также показывает размер каждого индекса.

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

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

Загрузка отчета в таблицу SQL

В любой выбранной вами базе данных создайте следующую таблицу:

CREATE TABLE [ dbo].[Analysis ] (
[ Table ] [ to varchar ] (50) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
[ Indice ] [ to varchar ] (100) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
[ Uso ] [ to varchar ] (50) COLLATE SQL_Latin1_General_CP1_CI_AI NOT NULL,
[ Peso ] [ int ] NOT NULL,
[ Base ] [ to varchar ] (15) COLLATE SQL_Latin1_General_CP1_CI_AI NULL,
[ Date ] [ datetime ] NOT NULL
) ON [ PRIMARY ]

Когда таблица создана, вы можете использовать DTS Import для загрузки текстового файла в таблицу SQL. При импортировании текстового файла выберите TAB как разделитель столбцов и таблицу Analysis для импорта.

Когда текстовый файл импортирован, вы можете использовать следующую хранимую процедуру для вывода списка неактивных индексов.

CREATE PROCEDURE Indices_Inactivos AS
declare
Base varchar(15),
Tabla varchar(50),
Indice varchar(100),
BaseAnt varchar(15),
TablaAnt varchar(50)

declare IndicesInactivos cursor for
select Base, Table, Indice
from Analysis
where Indice like ' [ [ ]IX% '
group by Base, Table, Indice
having sum(convert(money, replace(Uso,',','.'))) = 0

open IndicesInactivos
fetch next from IndicesInactivos into @Base, @Tabla, @Indice

while (@@FETCH_STATUS < > -1)
begin

if @Base < > @BaseAnt
begin
Print ' BASES: ' + @Base
select @BaseAnt = @Base
select @TablaAnt = ''
end

if @Tabla < > @TablaAnt
begin
Print ' TABLE: ' + @Tabla
Print ' INDICES: '
select @TablaAnt = @Tabla
end

Print ' ' + @Indice
fetch next from IndicesInactivos into @Base, @Tabla, @Indice
continue
end

close IndicesInactivos
deallocate IndicesInactivos
GO

Эта хранимая процедура выполняется в SQL Analyzer без параметров. В результате работы процедуры выводится отчет по неиспользуемым индексам.

BASE: EXAMPLE

TABLE: [ dbo].[APLICACIONES ]

INDICES:

[ IXC03.10.31_APLICACIONES_NroTrans ]

TABLE: [ dbo].[AWItemsAcumHistoricos ]

INDICES:

[ IX_AWItemsAcumHistoricosFecha ]

[ IX_AWItemsAcumHistoricosItem ]

[ IXC_AWItemsAcumHistoricos_Fecha_CodItm ]

TABLE: [ dbo].[CAJASREG ]

INDICES:

[ IXCP04.01.16_CAJASREG_CodCaj2_NroTrans ]

TABLE: [ dbo].[CHEQUES ]

INDICES:

[ IXC04.01.09_CHEQUES_FechaVto ]

[ IXCP04.01.16_CHEQUES_CodCtacte_NroTrans_Secuencia_NroTransegr_Tipo_Directo ]

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

CREATE PROCEDURE Indices_Usados AS
declare
Base varchar(15),
Tabla varchar(50),
Indice varchar(100),
BaseAnt varchar(15),
TablaAnt varchar(50),
Uso varchar(50)

declare IndicesUsados cursor for
select Base, Table, Indice, to convert(varchar, max(convert(money, replace(Uso, ', ', '.'))))as Uso
from Analysis
where Indice like ' [ [ ]IX% '
group by Base, Table, Indice
having sum(convert(money, replace(Uso,',','.'))) > 0
Order by Base, Table, to convert(varchar, max(convert(money, replace(Uso,',','.')))) desc, Indice

open IndicesUsados
fetch next from IndicesUsados into @Base, @Tabla, @Indice, @Uso

while (@@FETCH_STATUS < > -1)
begin

if @Base < > @BaseAnt
begin
Print ' BASES: ' + @Base
select @BaseAnt = @Base
select @TablaAnt = ''
end

if @Tabla < > @TablaAnt
begin
Print ' TABLE: ' + @Tabla
Print ' INDICES: '
select @TablaAnt = @Tabla
end

if len(@Uso) = 4
begin
select @Uso = ' 0 ' + @Uso
end

Print @Uso + ' ' + @Indice
fetch next from IndicesUsados into @Base, @Tabla, @Indice, @Uso
continue
end

close IndicesUsados
deallocate IndicesUsados
GO

После выполнения мы получаем отчет. Например:

BASE: EXAMPLE

TABLE: [ dbo].[APLICACIONES ]

INDICES:

79.20 [ IXCY04.05.03_APLICACIONES_NroTransegr_NroTrans_RefVto ]

33.30 [ IXCY04.05.03_APLICACIONES_Aplicaciones_NroTransegr_RefVto_NroTrans_FechaVto_Importe ]

20.50 [ IXC03.11.24_APLICACIONES_NroTransegr_AplNrotrans_AplRefvto ]

02.10 [ IXCP03.11.12_APLICACIONES_Nrotrans_NroTransegr_Importe_FechaVto_AplrefVto ]

100.00 [ IXC04.05.27_APLICACIONES_NroTrans_NroTranselim_AplNroTrans_FechaVto_AplRefvto ]

00.10 [ IXC04.05.27_APLICACIONES_AplNrotrans ]

00.10 [ IXCY04.05.07_APLICACIONES_AplNrotrans_AplRefvto_FechaVto_NroTrans_NroTransing ]

TABLE: [ dbo].[AWItemsAcumHistoricos ]

INDICES:

00.10 [ IXC03.05.16_AWItemsAcumHistoricos_CodItm_Fecha ]

TABLE: [ dbo].[BANCOSCOD ]

INDICES:

100.00 [ IXCY04.05.14_BANCOSCOD_CodBan_Descripcion ]

Оба результата важны.

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

Заключение

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

[В начало]

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

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

MSSQL Server 2000 Reporting Services: Фаза разработки: Обзор. Часть II
William Pearson
MSSQLServer: После общего рассмотрения фазы разработки мы начали практический пример создания табличного отчета. Сначала мы создали проект отчета для размещения в нем файла отчета, который был создан следующим. В файле отчета мы создали соединение с источником данных и простой SQL запрос для использования нашего источника данных, OLTP базы данных AdventureWorks2000. Затем мы спроектировали внешний вид и добавили данные из набора данных, полученного из запроса. Начнем с того места, где мы остановились, и выполним оставшиеся шаги нашего начального обзора фазы разработки. Мы закончим наш обзор общего процесса разработки в рамках практического примера, который мы начали в первой части, используя сохраненный табличный отчет и выполнив следующие шаги...
SQL Server: соглашения при программировании баз данных, советы и лучшие методики
Vyas Kondreddi
MSSQLServer: Базы данных являются сердцем и душой многих приложений на предприятиях, и очень важно обращать особое внимание на программирование баз данных. Я видел много случаев, когда программирование баз данных пускается на самотек, т.к. считается, что это что-то легкое и может быть сделано любым пользователем. Это неверно...
Как защитить свою базу данных?
Martin Teetz
Эксперты по защите данных бьют тревогу: вирусы становятся все более и более специализированными и в последнее время атаковали инсталляции SQL Server, на которых не были установлены последние пакеты исправлений защиты от Microsoft. В результате распространения SQL-червя Slammer резко повысился сетевой трафик, что привело к своего рода сценарию отказа в обслуживании. В этом случае целью червя не были данные, находящиеся в базе данных, однако этот случай свидетельствует о потенциальной угрозе. Хакеры могут создать вирус, который будет считывать и похищать данные из реляционных баз данных. Риск атак со стороны хакеров особенно велик в тех случаях, когда на предприятии существует интерфейс между своей корпоративной сетью и общедоступным Интернетом: каждый год хакеры, получив...
Цепочки владения в Yukon
Amol Kulkarni
MSSQLServer: Когда объекты базы данных последовательно обращаются друг к другу, такая последовательность называется "цепочкой". Хотя эти цепочки не существуют независимо, когда SQL Server рассматривает ссылки в цепочке, то он оценивает права пользователя на доступ к объектам иначе, чем если бы пользователь обращался к ним по отдельности. Эти различия имеют большое влияние на управление безопасностью...
Информационная безопасность в современных системах управления базами данных
Лилия Козленко
В современных условиях любая деятельность сопряжена с оперированием большими объемами информации, которое производится широким кругом лиц. Защита данных от несанкционированного доступа является одной из приоритетных задач при проектировании любой информационной системы. Следствием возросшего в последнее время значения информации стали высокие требования к конфиденциальности данных. Системы управления базами данных, в особенности реляционные СУБД, стали доминирующим инструментом в этой области. Обеспечение информационной безопасности СУБД приобретает решающее значение при выборе конкретного средства обеспечения необходимого уровня безопасности организации в целом...
Повышение доступности SQL Server 2000: Failover кластеры
Microsoft
MSSQLServer: Эта статья описывает методику повышения доступности хранилища данных на базе Microsoft SQL Server, за счёт использования failover (отказоустойчивых) кластеров. После прочтения этой статьи Вы научитесь настраивать все компоненты, используемые для организации высокой доступности, включая дисковое хранилище, сеть, Microsoft Cluster Service (MSCS), Microsoft Distributed Transaction Coordinator (MS DTC) и Microsoft SQL Server 2000. Описание порядка действий и всех описываемых в статье шагов, имеет краткую аннотацию, помогающую понять назначение используемых в конфигурации параметров. Представленные здесь варианты конфигурации были разработаны на основе накопленной Microsoft Product Support Services (PSS) информации, и проверены независимыми специалистами, что гарантирует пра...
Наращивайте функциональность SQL Server 2000
Майкл Оти
MSSQLServer: За последние пять лет Microsoft SQL Server вырос от скромной базы данных второго сорта до ведущей на рынке мощной платформы, отвечающей многочисленным потребностям крупных предприятий. Такие хорошо известные компании, как Expedia, the Home Shopping Network, JetBlue Airways, NASDAQ, Nestle и Pennzoil-Quaker State оснащены высококлассными разработками с применением SQL Server 2000, и этот продукт сейчас ценится так же высоко, как DB2 компании IBM и Oracle. Столь быстрое достижение статуса базы данных для крупных предприятий началось с выпуска SQL Server 7.0, в котором Microsoft полностью переделала базу данных с акцентом на масштабируемость и производительность. В том же выпуске Microsoft представила компонент SQL Server 7.0 OLAP Services и навсегда изменила ситуацию на р...
Один из вариантов соглашения об именах объектов MS SQL Server
Помните, что имена объектов SQL сервера не могут превышать 30 символов. Не используйте зарезервированные слова, специальные символы, и не начинайте имена объектов с цифры. Избегайте использование сокращений...
Недокументированные системные таблицы SQL Server 2000
Alexander Chigrik
MSSQLServer: В этой статье я хочу рассказать вам о недокументированных системных таблицах, которые поставляются вместе с SQL Server 2000. Эти таблицы используются некоторыми системными хранимыми процедурами, и большинство из них хранится в базе данных master (только системные таблицы sysfiles1, sysproperties и sysfulltextnotify хранятся в каждой базе данных)...
Как сделать Backup базы на сетевой диск
Андрей Натальченко
MSSQLServer: Основная проблема размещения файла Backup-a базы данных заключается в том, что средствами Enterprise Manager (EM) невозможно создать устройство резервного копирования при построении через мастер (или так, руками) или при выполнении через EM Backup Database. В этом случае EM видит ТОЛЬКО физически подключенные жёсткие диски и совсем не видит UNC пути...
Обработка исключений в SQL Server 2000 и Yukon
Amol Kulkarni
MSSQLServer: Обработка ошибок играет жизненно важную роль при создании хранимых процедур или скриптов. В этой статье я рассмотрю обработку ошибок в SQL Server 2000 и SQL Server Yukon. Перед рассмотрением обработки ошибок я познакомлю вас с компонентами сообщения об ошибке...
Резервное копирование баз данных SQL Server 2000
Ирина Наумова
MSSQLServer: Создание полной резервной копии файла данных происходит следующим образом: Производится копирование данных из базы на устройство резервного копирования. При этом пользователи могут работать с базой, исключая операции ALTER DATABASE с опциями ADD FILE и REMOVE FILE, операции сжатия базы данных либо отдельных ее файлов такие как SHRINKFILE, SHRINKDATABASE, в том числе и автоматическое сжатие. Все изменеия, вносимые в процессе резервного копирования сохраняются в журнале. Копируется часть журнала транзакций, необходимая для восстановление базы на момент создания копии (roll forward), включая и записи об операциях, выполнявшихся в ходе резервного копирования....

[В начало]

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

Materials for Troubleshooting SQL Server Performance
Microsoft / Siebel for ITtoolbox Database
When troubleshooting SQL Server performance problems there are specific materials required to appropriately diagnose the issue. More importantly if you have a Microsoft PSS account and plan to get PSS involved in your problem, they will ask for certain information before they can proceed. This technote explains what materials are useful and required by PSS in order to help with your problem. The note also includes a script for setting up a Profiler Trace to gather the appropriate trace parameters
How To Find SQL Server Objects
Ashish Kaushal
How many times, we as a SQL developer or DBA, find ourselves shuffling through objects in Enterprise Manager, or expanding the left pane of Query Analyzer, trying to find a table or view for which we have no clue, except a nearly correct name, and the only way we would know that it is the right object is looking at its meta data or text. Well, it might not be an every day kind of thing, but it does happen from time to time (or perhaps not in an idealistic situation where all databases are well documented and all names follow a well defined naming convention with no exceptions, and most of all, the employees never quit).
Introduction to MSSQL Server 2000 Analysis Services: Derived Measures vs. Calculated Measures
William Pearson
In dealing with MSAS implementations on a daily basis, and especially when being called upon to tune MSAS implementations performed by others, I come across the less-than-optimal use of calculated members quite often. As most of us know, calculated members are dimensions or measures (depending upon the designated parent dimension) that are constructed, using a formula, from other dimensions or measures in our cubes. A typical example of a calculated member that is designed for a measure, to which we will refer in this article as a calculated measure, is a Profit calculated measure that is created by subtracting a cost / expense measure from a sales / revenue measure. Another common calculated measure is a variance measure, which is created by taking a difference between an actual and a budgeted value (or similar kinds of values), among other approaches
Utilize BCP with SQL Server 2000
Steven Warren
The Bulk Copy Program (BCP) is a command-line utility that ships with SQL Server 2000. With BCP, you can import and export large amounts of data in and out of SQL Server 2000 databases. Having BCP in your arsenal of DBA tools will add to your skill set and make you a better-rounded DBA. Let's begin by showing you the syntax of BCP as well as how to effectively use the tool
SQL Server 2000 Security - Part 9 - Replication Security
Marcin Policht
The previous article of our series served as the introduction for discussion about replication security, which is the topic of this article. Last time, we discussed basic terminology, replication types and their agent-based operations. You should appreciate at this point, the level of complexity associated with designing, configuring, and managing the replication process. As you can imagine, dealing with replication security is also a challenging task that needs to be carefully planned and implemented
SQL Server Profiler: Bringing Teams Together
Brian Moran
I've been writing about SQL Server Profiler frequently over the past few weeks, so you're probably aware that I think Profiler is a great tool that's under-utilized by development and DBA teams. Several readers have sent me interesting ideas about integrating Profiler into the development environment, so this week I want to share two of those ideas with all of you
The OLE DB Command Transformation
Allan Mitchell
In the newsgroups we have been asked on a number of occasions how to execute a stored procedure once for every row of input data. There's currently no really good way of doing this but in SQL Server 2005 DTS that is about to change. This article is going to show you how to take values from a source table and for every row execute a stored procedure which inserts values into another table
Workflow Constraints (Logical OR)
Allan Mitchell
To do some of the stuff we wanted in SQL Server 2000 DTS we had put together some serious glue code and to be honest it wasn't pretty. One of the things that we used to have to do this way was if we wanted to implement using workflow constraints a Logical OR. Well that has changed and it is now really simple and this article is going to show you how to implement it
The Script Component(As A Transform)
Allan Mitchell
In this article we are going to assume a few things about the reader as we want to concentrate as much as possible on the Script Component itself and not the peripheral stuff
Introduction to Expressions on Workflow
Allan Mitchell
SQL Server 2005 gives us loads of flexibility in our workflow management to decide how and if the following task should be executed. In this article we are going to introduce you to one of those ways and that is putting an expression into the workflow constraint itself
File Inserter Transformation
Allan Mitchell
SQL Server 2005 has made it a lot easier for us to loop over a collection and with each iteration do something with the item retrieved. In this article we are going to show you how to iterate over a folder looking at the files within and doing something with those files. In this instance we will be entering the filename into a SQL Server table and we will then load the actual files we have just found into another SQL Server table. You will note here that there is still the need to load the file names into a table as an intermediate step just as we need to do in SQL Server 2000
For Loop Container Samples
Darren Green
Version 2005. One of the new tasks in SQL Server 2005 is the For Loop Container. In this article we will demonstrate a few simple examples of how this works. Firstly it is worth mentioning that the For Loop Container follows the same logic as most other loop mechanism you may have come across, in that it will continue to iterate whilst the loop test (EvalExpression) is true. There is a known issue with the EvalExpression description in the task UI being wrong at present. (SQL Server 2005 Beta 2)
Read File Transformation
Allan Mitchell
This article was inspired again by a newsgroup post asking how a directory of files could be read and the filenames be entered into a SQL Server table along with the file itself
DB Change Management - An Automated Approach - Part 4
Darren Fuller
In part 3 Darren Fuller listed the requirements to implement an automated approach to database change management and highlighted some of the benefits. In this fourth and final article in the series, he continues the list of benefits that can be realised by adopting an automated methodology and discusses implementation considerations
Managing Transaction Processing for SQL Database Integrity
Ben Forta
In this lesson, Ben Forta explains SQL transactions, how the COMMIT and ROLLBACK statements can be used to explicitly manage when data is written and when it is undone, and the use of savepoints to provide a greater level of control over rollback operations
Emigrating to the Yukon
Stewart McKie
The "Yukon" release of Microsoft SQL Server (currently in beta after being in development for more than five years) promises to deliver a significant enhancement to the extension of Microsoft's business intelligence server platform. But all this does not come without a cost in terms of migration complexity, especially for organizations and independent software vendors (ISVs) who are already heavily leveraging the existing BI features in SQL Server. Ventana Research recommends that organizations with custom applications dependent on SQL Server-based BI consider the migration issues and press Microsoft for more migration help
How to export all tables in a database
Darren Green
This is a very short article as it is really a demonstration of concepts explained elsewhere, although quite a useful implementation in it's own right. The export itself is done with the Bulk Export Task, and this is wrapped in a recordset driven loop as covered in the article How to loop through a global variable Rowset. The key to the simplicity of this package is that unlike the DataPump task, the Bulk Export Task does not need advance knowledge of the data structures involved, so we can simply enumerate through a recordset of our table names, updating the task properties, and allow the step to execute through normal workflow
Global Variables and Stored Procedure Parameters
Darren Green
One of the benefits of the SQL Server 2000 is that the SQL tasks support mapping of global variables to parameter placeholders within the SQL. This means you can use the global variable as an input parameter for your stored procedure
Bulk Export Task
Darren Green
The DTS Bulk Export Task was originally conceived in response to a problem with the OLE-DB provider for text files. For more details see DataPump truncates delimited fields to 255 characters. Whilst this problem can be fixed quite easily the Bulk Export Task still offers some benefits over the DataPump due to it's simplicity, for example it doesn't require you to define transformations in advance. When using the DataPump task you can change the source table, but if the table structure is different, you need to update the transformations as well. Since the Bulk Export Task doesn't know the table structure in advance it doesn't mind if the table has a different structure. (The exception to this is of course if you have defined a format file as opposed to user defined delimiters for the columns and rows.) The task makes an ideal alternative to scenarios where previously you may have used the bcp utility, but would prefer to harness the flexibility of DTS using a native custom task
SQLDTS File Transfer Protocol Task
Darren Green
The SQLDTS FTP Task is designed to give you greater control over FTP operations compared to the task supplied with SQL Server 2000, as well as supporting SQL Server 7.0
Global variable diagnostic script
Darren Green
There is often some confusion about the real value of a global variable at run-time, or the current execution location and security context. This simple script will illustrate what is really going on
Execute a package from a package
Darren Green
You can use a parent or master package to control the execution of one or more child packages. This is often used in a looping scenario, or when there are a number of individual packages that make up a process
Getting Syntax Help for DTSRun
Darren Green
If you are having problems with the syntax for the dtsrun command line, or just want an easy way of generating a valid command line first time, try using the dtsrunui utility. As the name indicates it is very similar to dtsrun, but with a user interface. This allows you to easily select your package, including settings for global variables and logging, then use the generate function to create a valid dtsrun command line
What is ADO?
Dave Sussman
Learn how ActiveX Data Objects (ADO) fits with existing data access strategies in this introduction to ADO. Other topics covered include the origins of ADO and its role in the .NET future, the problems with OLE DB, the benefits of UDA, Microsoft’s strategy for accessing data in comparison to Oracle's. (From the book ADO Programmer's Reference, by David Sussman, published by Apress, ISBN: 1590593421.)
Beginning SQL Server 2000 Administration. Part 2. Limit Your Queries
Steve Jones
This is the second part in the Beginners series and a short one since I'm a little buried. However, it's a common topic that I think many of you will run into. It's something I've been asked more than a few times and answered questions for, but something that most people new to SQL Server might not think of right away
Unearth the New Data Mining Features of Analysis Services 2005
Jamie MacLennan
As the Beta 2 of SQL Server™ 2005 draws nearer, it's time to talk about some of the new features it has in store for database developers. To whet your appetite, there's no better place to start than with the new data mining features of SQL Server 2005 Analysis Services, where you'll find enhancements to two existing algorithms, plus five new algorithms, and more than a dozen added visualizations to help you get a handle on your data relationships. [For more on the new algorithms, see the sidebar "New Algorithms in SQL Server 2005."] If you take only a cursory look, however, you will miss all of the rich functionality you can get from enhancements to the Data Mining Extensions to SQL (DMX), programmability models, and integration with online analytical processing (OLAP), Data Transformation Services (DTS), and Reporting Services. These improvements make it possible to create a new breed of intelligent apps with embedded data mining technology
Tame Those Strings! Part 7 - Proper Casing Strings
Steve Jones
I recently saw someone ask a question about how to proper case a field of data. I thought this would be a simple update statement, but when I actually tried it, I realized there was a bit more work involved. In the instance that I saw, the person wanted to handle a field that contained names. The solution was a parsing solution that used cursors to find a space before each name and then use substrings to reformat the string. This works fine in a procedural process, but doesn't take advantage of the power of SQL Server. I decided to develop a more set oriented approach that should handle large result sets
Stop SQL Injection Attacks Before They Stop You
Paul Litwin
Armed with advanced server-side technologies like ASP.NET and powerful database servers such as Microsoft® SQL Server™, developers are able to create dynamic, data-driven Web sites with incredible ease. But the power of ASP.NET and SQL can easily be used against you by hackers mounting an all-too-common class of attack—the SQL injection attack
New HTTP Endpoints Create SQL Server 2005 Web Services
Peter DeBetta
SQL Server 2000 offers some capabilities for returning XML output via HTTP using SQLXML—and, of course, SQLXML supports Web services creation. Although not rocket science, setting up, configuring, and using Web services in SQL Server 2000 does require a little effort (see the SQLXML documentation about Web services in SQL Server 2000)
OLAP Strategies for Large Data Warehousing Projects
Raghuveeran Sowmyanarayan and Asimkumar Munshi
As executives depend more and more on intelligent reports to strategize and make decisions, essential OLAP execution strategies are needed in data warehousing projects

[В начало]

ФОРУМ SQL.RU

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

Tool Вы знаете что твориться на ваших 10-30+ серверах ?
Приведение таблицы строк к единому виду, помогите плиз
Помогите, пожалуйста, составить запрос
Рыба есть! О контроле пересоздания объектов
Небольшой вопроссик о временных таблицах с #
Как заставить BACKUP сохраняться на сетевой диск?
BackUP базы во время использования
IDENTITY - задать при создании таблицы или...???!!!
ADO и миллисекунды
Доступ к MSSQL
Проблема при сортировке nvarchar полей
Помогите пожалуйста упал Sql Server2000
Подскажите почему данные не передаються в подзапрос, через другой подзапрос!
шифрование и расшифровывание пароля
Warning: unable to allocate 'min server memory' of 2008MB.
Да я вообще запарился...
Вопрос про DTS и Exel!
Сжатие данных при Merge-репликации
HELP! Linked Servers отвалился почемуто!
Ошибка при инсталяции Report Service: IIS is either not installed or ...

[В начало]

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

Reporting Services - динамическое создание столбцов
Книга по SQL Server
как удалить системный объект

[В начало]

ПОЛЕЗНОСТИ

Ресурсы Microsoft BackOffice: SQL Server и Systems Network Architecture (SNA) Server (пер. с англ.)

Автор: N/A

Серия: Мастер, 768 стр. 2001, Издательство: СПб: BHV, 44,00руб. ISBN 5-7791-0073-Х, 1-57231-534-2, Тираж: 5000

Книга является техническим дополнением к документации программных продуктов Microsoft SQL Serverи, Microsoft Systems Network Architecture (SNA) Server из состава Microsoft BackOffice. Подробно рассмотрены: архитектура, планирование, установка и поддержка; настройка и работа с программными продуктами; системные сервисы и компоненты; параметры реестра, переменные окружения и форматы файлов; восстановление после сбоя; безопасность и оптимизация производительности. Большое внимание уделено устранению проблем при работе с этими продуктами. Описываются программные средства из состава продукта Microsoft BackOffice Resource Kit, которые можно найти на сопроводительном компакт-диске "Ресурсы Microsoft BackOffice"

[В начало]

Теория и практика построения баз данных (9-е издание)

David M. Kroenke

Издание: 9-е, 2004 год, ISBN: 5-94723-583-8, Формат: 17x24 см, Объем: 864 стр., Переплет: твердая обложка, Срок выхода: книга в типографии до 11.09.04, Цена: 540 руб, цена предварительная до выхода книги из типографии, возможны изменения.

В книге Д. Крёнке, выдержавшей уже 9 переизданий, вы найдете традиционно подробный, методически выверенный теоретический и практический материал, посвященный вопросам разработки и использования баз данных. В новом издании более глубоко обсуждаются моделирование данных и проектирование баз данных; расширены разделы, по SQL и XML; добавлен раздел, знакомящий с ADO.NET. Книгу отличает большое количество примеров, моделирующих типичные ситуации из практики делового мира

[В начало]

#211<<  #212

Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Виталию Степаненко на адрес: stvitaly@sql.ru

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

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

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



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


http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное