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

MS SQL Server

  Все выпуски  

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


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


#192<<  #193

СОДЕРЖАНИЕ

1.СОВЕТЫ
1.1.Введение в SQL Server 2000 Analysis Services: Создание первого куба. Часть 6.
1.2.Распределенные секционированные представления MS SQL Server
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.1.Новые и обновлённые технические статьи Microsoft
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа

СОВЕТЫ

Введение в SQL Server 2000 Analysis Services: Создание первого куба. Часть 6.

По материалам статьи William Pearson: Introduction to SQL Server 2000 Analysis Services: Creating Our First Cube

Введение в Analysis Manager
Установка базы данных и источника данных
Проектирование куба
Выбор таблицы фактов и мер для куба
Создание многомерного куба: Определение значимых перспектив куба
Создание измерений в схеме звезда: Одна таблица измерений
Создание измерения по схеме - снежинка: Несколько связанных таблиц измерений
Добавление измерений времени
Сохранение разработанной модели куба

Проектирование хранилища и процессинг куба

Analysis Services предлагает несколько вариантов хранилищ и агрегации данных для нашего первого куба:

∙ Multidimensional OLAP (MOLAP)
∙ Relational OLAP (ROLAP)
∙ Hybrid OLAP (HOLAP)

Завершив разработку структуры куба, мы должны выбрать один из предлагаемых типов хранилища и указать условия агрегации, или сделать предварительный расчёт для получения оптимального соотношения производительности запросов и эффективности куба. Далее, нам необходимо будет выполнить процессинг куба, в процессе которого будет выполнена загрузка данных из выбранного нами источника и будут сделаны все необходимые вычисления, которые заложены в используемых кубом командах агрегации.
Чтобы спроектировать хранилище, мы будем использовать Storage Design Wizard. Если нажать кнопку Yes в последнем диалоговом окне, на котором мы остановились в предыдущем разделе этой статьи, мы как раз и попадём в Welcome окно мастера Storage Design Wizard, показанное ниже на Иллюстрации 40. Если до этого Вы уже сохранили куб и завершили работу с кубом на предыдущем шаге, можно вызвать Storage Design Wizard, запустив снова Analysis Manager и нажав правую кнопку мыши на MyFirstCube, и после чего выбрать из выпадающего меню пункт Design Storage. Этим путём Вы также попадёте в окно Welcome to the Design Storage.


Иллюстрация 40: Welcome to the Design Storage Wizard

После нажатия кнопки Next будет вызвано окно Select the Type of Data Storage, где присутствуют радио-кнопки для каждого из показанных ранее возможных режимов, а также их краткое описание (подробную информации по ним можно найти в Books Online и Reference Library). В качестве хранилища нам подойдёт значение по умолчанию - MOLAP, как это показано на Иллюстрации 41, и поэтому можно снова нажать кнопку Next.


Иллюстрация 41: Диалоговое окно Select the Type of Data Storage

Следующим окном будет Set Aggregation Options, где мы должны указать Analysis Services обеспечить производительность работы с кубом на уровне 65% от максимально возможной, без учёта занимаемого кубом дискового пространства. Для этого нужно выбрать радио-кнопку Performance Gain Reaches и ввести число "65" в качестве процента от максимальной производительности, как это показано ниже на Иллюстрации 42. Как Вы можете видеть на следующей иллюстрации, это окно может помочь найти компромиссное решение между занимаемым кубом дисковым пространством и производительностью исполнения запросов к кубу.


Иллюстрация 42: Диалоговое окно Set Aggregation Options

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


Иллюстрация 43.

Далее, нажмите кнопку Next и Вы попадёте диалоговое окно Finish the Storage Design Wizard. В ответ на вопрос этого окна What do you want to do?, нужно отметить радио-кнопку Process Now, как это показано на Иллюстрации 44. Следующим шагом будет выполняться процессинг куба или его сохранение (если Вы решите запустить процессинг позже или собираетесь вернуться к разработке куба для внесения каких - либо изменений). Мы же выберем Process Now, и нажимаем кнопку Finish.


Иллюстрация 44: Диалоговое окно Finish the Storage Design Wizard

Окно Process, которое вы увидите следующим, позволяет контролировать процессинг куба по всем его стадиям, процессам и статистике работы, выводимой в нижней части окна. Когда процессинг закончится, Вы должны увидеть в нижней строке сообщение "Processing completed successfully", как это показано на Иллюстрации 45.
Это означает, что процессинг куба завершился без серьёзных ошибок и мы можем вернуться в консоль Analysis Manager, нажав на кнопку Close.


Иллюстрация 45: Ход процессинга куба

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

[В начало]

Распределенные секционированные представления MS SQL Server

По материалам статьи Don Schlichting: MS SQL Server Distributed Partitioned Views
Перевод Виталия Степаненко

В этой статье рассматривается использование распределенных секционированных представлений для доступа к множеству серверов MS SQL Server, сконфигурированных как объединение серверов БД.

Введение

В случае, когда необходимо получить дополнительную производительность на сверхбольших базах данных, а ваши хранимые процедуры уже оптимизированы, программное обеспечение является многоуровневым и аппаратные средства модернизированы, настает время для распределения вашей базы данных по нескольким серверам. Для SQL Server это делается путем горизонтального секционирования больших таблиц по множеству серверов. Если разделение таблицы с множеством столбцов на несколько таблиц с меньшим количеством столбцов является вертикальным секционированием, то горизонтальным секционированием считается разделение таблицы с множеством записей на множество таблиц с меньшим количеством записей. Если эти новые таблицы меньшего размера будут размещены на разных серверах, то это называется объединенной базой данных. Здесь используется слово "объединенный", потому что все задействованные серверы могут работать совместно для балансировки нагрузки. Они действуют как некое объединение. Как только ваши данные распределяются по нескольким серверам, для выборки записей становится необходимым новый тип выражений. Эти новые выражения называются распределенными секционированными представлениями. Они используют стандартные выражения SQL вместе с ключевым словом UNION для получения данных со всех распределенных серверов. Выражения DML (INSERT, UPDATE, и DELETE) также могут использоваться при соблюдении нескольких специальных правил, касающихся таблиц, лежащих в основе распределенного секционированного представления. Хотя прирост производительности варьируется в зависимости от используемых приложений, обычно он составляет от 20 до 30%.
Существуют три главные задачи конфигурации. Сначала все серверы соединяются друг с другом посредством создания связанных серверов, потом на каждом сервере создаются таблицы с совпадающей структурой, и в завершение создаются новые представления.
В этом примере мы распределим таблицу "Authors" базы данных "pubs" (поставляемую с MS SQL Server) по двум различным серверам. Используемые при этом правила и процедуры одинаковы, независимо от числа задействованных серверов.

[В начало]

Связанные серверы

Более детальное объяснение связанных серверов находится в предыдущей статье Linked Servers PART1
Первым шагом в создании объединения является связывание всех задействованных серверов друг с другом. Войдите в Query Analyzer под "sa" и установите соединение с первым сервером. Следующий код свяжет второй сервер с алиасом "server2" с первым сервером.

USE master
GO

EXEC sp_addlinkedserver
 @server = 'server2',
 @srvproduct = 'SQLServer OLEDB Provider',
 @provider = 'SQLOLEDB',
 @datasrc = 'InfoNet'

Параметру @server передается наш алиас. @datasrc - это имя связываемого сервера. Если бы существовало несколько экземпляров сервера, то был бы использован синтаксис ИмяСервера\ИмяЭкземпляра.
Если все представления будут запускаться из-под первого сервера, и ваша учетная запись Windows имеет соответствующие права на обеих машинах, то специальные учетные записи не потребуются. Однако, если другой клиент будет выполнять представления, то может понадобиться создание дополнительных учетных записей. См. Linked Servers PART3 и PRB: Message 18456 from a Distributed Query для более детального объяснения настроек учетных записей связанных серверов и проблем с клиентами. Предположим, что удаленные клиенты могут понадобиться в будущем, поэтому учетная запись связанного сервера, связывающая локальную учетную запись "sa" с удаленной учетной записью "sa", будет использован в качестве примера. В реальной задаче лучше создать новую учетную запись, чем использовать для этого "sa".

EXEC sp_addlinkedsrvlogin 'server2', 'false', 'sa', 'sa', 'secret'

Чтобы проверить связь между серверами, выполните:

SELECT *
FROM server2.pubs.dbo.authors

В результате должны быть выбраны все записи из таблицы "Authors". Теперь мы должны повторить то же самое со второго сервера. Это создаст обратную связь с первым сервером server1. Все то же самое, кроме названия сервера и алиаса. Войдите в Query Analyzer второго сервера под "sa" и выполните:

USE master
GO

EXEC sp_addlinkedserver
 @server = 'server1',
 @srvproduct = 'SQLServer OLEDB Provider',
 @provider = 'SQLOLEDB',
 @datasrc = 'dons13'
GO

EXEC sp_addlinkedsrvlogin 'server1', 'false', 'sa', 'sa', 'secret'
GO

SELECT *
FROM server1.pubs.dbo.authors

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

Сервер1 имеет связанные серверы Сервер2, Сервер3 и Сервер4.
Сервер2 имеет связанные серверы Сервер1, Сервер3 и Сервер4.
Сервер3 имеет связанные серверы Сервер1, Сервер2 и Сервер4.
Сервер4 имеет связанные серверы Сервер1, Сервер2 и Сервер3.

При этом нет никакой автоматизации ни при создании, ни при проверке таких обоюдных связей.

[В начало]

Create Table

В этом примере мы будем работать с подмножеством таблицы "Authors" базы данных "pubs". Представим себе, что таблица очень большая и большинство наших запросов используют поиск по фамилии. В этом случае мы могли бы разделить таблицу "Authors" на две части, храня на одном сервере фамилии от A до M, а на другом - от N до Z. Создайте и заполните тестовую таблицу на первом сервере server1.

CREATE DATABASE test
GO

USE test
GO

CREATE TABLE AuthorsAM(
    au_lname varchar(40) NOT NULL,
    au_fname varchar(20) NULL,
        CONSTRAINT CHK_AuthorsAM CHECK (au_lname < 'N')
 )

GO

INSERT INTO AuthorsAM
    (au_lname, au_fname)
    SELECT au_lname, au_fname
    FROM pubs..authors
    WHERE au_lname < 'N'

На втором сервере server2 выполняется практически идентичный код. Ограничение CHECK изменено для нашего нового диапазона фамилий. Заметим, что у таблиц не обязательно должны быть те же имена на разных серверах. Таблица на первом сервере называется "AuthorsAM", а таблица на втором сервере - "AuthorsNZ". Наше представление уладит это.

CREATE DATABASE test
GO

USE test
GO

CREATE TABLE AuthorsNZ(
 au_lname varchar(40) NOT NULL,
 au_fname varchar(20) NULL,
             CONSTRAINT CHK_AuthorsNZ CHECK (au_lname >= 'N')
 )

GO

INSERT INTO AuthorsNZ
 (au_lname, au_fname)
 SELECT au_lname, au_fname
 FROM pubs..authors
 WHERE au_lname >= 'N'

Критической частью кода является ограничение. Ограничение CHECK должно гарантировать, что запись будет расположена в одной-единственной таблице. Во время выполнения нашего представления Query Optimizer использует эти ограничения для определения, какие серверы, какую часть распределенной работы получат.

[В начало]

Распределенные секционированные представления

Последним шагом является собственно создание представлений. Оператор UNION используется для слияния результатов выборки из обеих таблиц в один результирующий набор. См. BOL "Union operator" для более детальных объяснений и правил.
На первом сервере server1:

CREATE VIEW AllAuthors
AS
SELECT * 
FROM AuthorsAM

UNION ALL

SELECT *
FROM server2.test.dbo.AuthorsNZ

GO

На втором сервере server2 код опять практически тот же самый. Меняются только имена таблиц и сервера.

CREATE VIEW AllAuthors
AS
SELECT * 
FROM AuthorsNZ

UNION ALL

SELECT *
FROM server1.test.dbo.AuthorsAM

GO

Простая выборка на первом сервере server1 создает следующий план выполнения:

Видно, что результат сканирования локальной таблицы на первом сервере server1 сливается с результатом выполнения удаленного запроса на втором сервере server2. Наше представление следует всем стандартным правилам для представлений. Поэтому выборка части записей не требует ничего более, чем стандартное выражение:

SELECT *
FROM AllAuthors
WHERE au_lname BETWEEN 'F' AND 'W'

[В начало]

Заключение

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

[В начало]

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

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

Царь Горы
Майкл Оти
Тест по сценке производительности обработки транзакций TPC-C этого года показывает, что если достичь высокого уровня трудно, то удержаться на нем еще труднее. С выпуском на рынок Windows Server 2003 в конце прошлого года SQL Server в первый раз завоевал давно желаемое первое место среди некластеризованных систем TPC-C. Среди разработчиков бытует мнение, что тестовые конфигурации не отображают их реальных систем. Однако как могут убедиться пользователи, TPC-C можно назвать выставкой эталона производительности. TPC составлен ведущими производителями технического и программного обеспечения, такими как Hewlett-Packard (HP), IBM, Intel, Microsoft, NEC, Oracle, Sun, Unisys и другими. TPC-C разработан в качестве самостоятельно выполняемого метрического теста при длительной работе системы. Тест имитирует ввод команд оперативной обработки транзакций OLTP и нагрузки от приложения, в котором многочисленные пользователи выполняют транзакции в базе данных. Команды включают в себя: регистрацию новых заказов, проверку состояния заказа, доставку грузов, приведение в соответствие уровня запасов, регистрацию оплат. Подсчет транзакций в минуту (tpmC) определяет, сколько команд можно ввести в систему, в то время как она выполняет заданный объем работы, связанный с процессами в фоновом режиме. Строка tpmC выдает информацию о том, какая система может поддержать выполнение самого большого объема работы. Ранжирование стоимости транзакций в минуту позволяет узнать, какие платформы наиболее рентабельны

[В начало]

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

Уважаемые подписчики! Это последний выпуск рассылки, в котором присутствует раздел: "Новые и обновлённые технические статьи Microsoft". Связано это с тем, что недавно в сети появился замечательный ресурс kbAlertz.com, который справляется с этой задачей намного лучше, избирательней и удобней для пользователей. Вы можете подписаться только на ту информацию, которая Вас интересует, и получать информацию о новых статьях более оперативно. Поэтому, я приглашаю Вас посетить сайт http://www.kbalertz.com/ и подписаться на их замечательную рассылку.
Авторы этого ресурса Scott Cate и Dave Wanta. Они разработали систему оповещения по электронной почте, которая каждую ночь просматривает всю Microsoft Knowledge Base и рассылает подписчикам информацию обо всех обновлённых или новых статьях, по тем темам, на которые получатели были подписаны. Кроме того, этот ресурс оснащён хорошей системой поиска по базе знаний.
Подписка осуществляется очень просто. Нужно заполнить свой e-mail адрес, и ввести для него пароль. После этого, остаётся только отметить те технологии, которые Вам интересны.
Вот как это выглядело на прошлой неделе:

SQL Server

837969 FIX: You may receive an access violation in the CRowsetTraceData::FGetNextRow function when you trace server activity with SQL Profiler
838303 BUG: You receive an "Unable to determine system default collation" error message when you try to remove Microsoft SQL Server 2000 Desktop Engine or Microsoft SQL Server 2000 Desktop Engine (Windows)
830860 FIX: The performance of a computer that is running SQL Server 2000 degrades when query execution plans remain in the procedure cache
831675 FIX: You may receive incorrect results when you run a query that contains a UNION ALL operator, a TOP clause, and an ORDER BY clause
827204 BUG: You may not be able to connect to an instance of Microsoft SQL Server 2000 Desktop Engine SP3a or to an instance of Microsoft SQL Server 2000 Desktop Engine (Windows) after you enable the server network libraries
827204 BUG: You may not be able to connect to an instance of Microsoft SQL Server 2000 Desktop Engine SP3a or to an instance of Microsoft SQL Server 2000 Desktop Engine (Windows) after you enable the server network libraries

ADO

314383 How to use the CDOEX Library to retrieve messages from a user's Inbox by using Visual Basic .NET
314367 How to use the CDOEX Library to create a recurring meeting that has exceptions in Visual Basic .NET
310207 How to use ADO and the Exchange 2000 OLE DB provider to search for items in a folder by using Visual C# .NET
314378 How to enumerate all fields of an object by using the CDOEX library and the ExOLEDB provider in Visual Basic .NET
313773 How to send e-mail messages by using CDOSYS and the local SMTP directory with Visual Basic .NET
314374 How to use the CDOEX library and the ExOLEDB provider to create an Outlook contact in Visual Basic .NET
328056 BUG: Related headers do not stay in sync when you programmatically set a header field to an empty string
313773 How to send e-mail messages by using CDOSYS and the local SMTP directory with Visual Basic .NET
314374 How to use the CDOEX library and the ExOLEDB provider to create an Outlook contact in Visual Basic .NET
839411 FIX: Error when you update an ADO client-side recordset when data source does not support schemas

Data Access Components

836799 FIX: Hotfixes are available for MDAC 2.7 Service Pack 1
819592 FIX: Application stops responding or behaves unexpectedly when you run a COM+ application that uses the Microsoft ODBC Driver for Oracle
832921 FIX: Memory leak occurs when you use the Advanced Data Tablegram persistence mechanism to persist a hierarchical recordset to a Stream object
836799 FIX: Hotfixes are available for MDAC 2.7 Service Pack 1

Message Queue

839485 You receive a "MQSec.dll could not be found" error message after you install the Message Queuing component in Windows 2000

OLE DB

837001 MS04-014: Vulnerability in the Microsoft Jet Database Engine could permit code execution

[В начало]

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

What is OLAP?
Nigel Pendse
The term, of course, stands for ‘On-Line Analytical Processing’. But that is not only not a definition, it’s not even a clear description of what OLAP means. It certainly gives no indication of why you would want to use an OLAP tool, or even what an OLAP tool actually does. And it gives you no help in deciding if a product is an OLAP tool or not
SQL Server: Enterprise vs. Standard
Rahul Sharma
For those implementing production servers using SQL, purchasing either the standard or the enterprise edition of SQL Server makes the most logical choice. The personal edition of SQL is for PCs and small workgroups, and the developer edition cannot be deployed since it is not meant for production environments. That of course, leaves a decision to be made between the standard and enterprise editions. Here’s a comparison of some of the differences in the feature sets of these two editions of SQL Server 2000
SQL Server Needs Revision
Jim Rapoza
From Windows server 2003 to exchange Server 2003 to SharePoint 2.0 to BizTalk Server 2004, some of the best technology coming out of Microsoft lately has been on the server side. But all of these great server products have one problem: They are standing on an aging, creaky and often damaged base—Microsoft SQL Server 2000
Introduction to MSSQL Server 2000 Analysis Services: Actions in Virtual Cubes
William Pearson
In our last article, we began an exploration of MSAS Actions. Our initial objective was to gain an understanding of the Types of Actions, and the options that are available as points of interaction (Targets) by information consumers. We then activated what we learned, reinforcing the concepts within a hands-on practice exercise that allowed us to see the end-to-end process for creating a simple Action for a regular cube
SQL Server 2000 Security - Part 1 (Net Libraries)
Marcin Policht
One of the most interesting phenomena in the computing arena within the last few years is the growing concern for security, which, at this point, is being treated on a par with efficiency and cost (as a matter of fact, security became one of the primary factors when evaluating any technology-based solution) . The main driving factors behind this trend are the increasing number of computer worms and viruses (combined with ubiquity of the Internet), the financial impact of their destructive nature, as well as mounting international political tensions. Microsoft Secure Computing initiative, launched in early 2002, triggered major programming efforts geared towards securing the Windows 2003 operating system code; however, signs of this tendency were present in a number of other, previously released products. In this series of articles, we will focus on security features in SQL Server 2000, starting with the most basic configuration settings and their security implications. In particular, we will look into authentication related issues, affected by the choice of Net Libraries, authentication mode and security context of the SQL Server service account
Design Elements Part 4: Variables
Kevin Kline, Baya Pavliashvili
A variable isn't too difficult to understand. At its simplest, it's just one thing that stands for another. A variable is a container. The real usefulness is that a variable can be changed in code. Once the variable is created and set, the T-SQL code can alter the value as needed
SQL Server: Advantages and Drawbacks of User-Defined Functions
Baya Pavliashv
So why are UDFs important? What can you do with UDFs that you cannot with stored procedures? Well, UDFs are not functionally stronger than stored procedures (in fact, UDFs have many limitations, which we will examine shortly). However, UDFs do provide certain advantages, discussed in the following sections
Using SQL Server's XML Support
Ken Henderson
With the popularity and ubiquity of XML, it's no surprise that SQL Server has extensive support for working with it. Like most modern DBMSs, SQL Server regularly needs to work with and store data that may have originated in XML. Without this built-in support, getting XML to and from SQL Server would require the application developer to translate XML data before sending it to SQL Server and again after receiving it back. Obviously, this could quickly become very tedious given the pervasiveness of the language
Be Prepared
Stefan Popovski
Be Prepared! Have you ever been a scout boy? That’s the right motto for scouts and for SQL Server developers in case of implementing error handling strategy. I never know where things can go if code in stored procedures isn’t full with a lot of “IF @ERROR<>0” statements. Some better winds comes with Yukon. Like in .NET programming languages, Yukon has a structured exception handling.
Removing the Fault from Default When Installing
John Paul Cook
Installing SQL Server has become so routine it is all too often taken for granted; however, accepting the defaults during installation can lead to trouble. Understanding the installation options is necessary to ensure a secure installation. In this article, you will learn about the implications of various installation options so you can make informed decisions.
In The Real World - Disaster!
Steve Jones
This is a true story and is intended as a case study in showing how I actually recovered from a disaster. As close as I can remember, I am writing this from memory the night of the events, so I think it is fairly accurate. As I've said many times, one should always take notes, but I had some extenuating circumstances in this case. That's not an excuse, just the way things played out
Integer Labeling in Nested Intervals Model
Vadim Tropashko
This article completes the series of articles exploring Binary Rational labeling for Nested Intervals Model. The advantage of this model is that every node has a permanent label so that insertion of a new node doesn’t affect existing nodes. In this article, we’ll reduce the node labeling to just a single positive integer number
Scrubbing Data with Non-1NF Tables, Part 3
Joe Celko
In the first two parts of this series, I showed you some queries on the non-First Normal Form (NFNF or non-1NF) table and updates for scrubbing raw data. At the end of part 2, the data had been moved to a table with the correct data types, but no constraints or validations
Avoid Dynamic SQL with SQL Server
Eric Charran
In many applications, developers choose to leverage dynamic SQL. Creating SQL statements through concatenation of strings based on logic defined within a script or a stored procedure and executing using the TSQL EXEC command provides developers with unparalleled flexibility and versatility when creating statements that are not known at runtime. Most commonly, implementations of dynamic SQL can be found in stored procedures or scripts that must provide some sort of search functionality based on varying criteria passed by an application
Horizontal partitioning of large databases
Barrie Sosinsky
Last time, we looked at partitioning large databases by vertically partitioning the dataset into different tables contained in other databases. This scheme offers you logical unification through views, but operational complexity managing data references, additional statements and backups. Horizontal partitioning schemes represent the alternative
Configuring Disks and Managing Space in SQL Server Part 1
Andrew Novick
Something like fifty percent of system outages are caused by "Out of space" conditions. I kid you not. I run into them all the time. Combine this problem with the need to maintain high availability and peak performance and the consequence is that disk configuration and space allocation become one of the principle tasks for a SQL Server DBA. This is the first of two articles that discuss the configuration of disks and how to allocate space to user databases
Secure SQL Server: Installing for security
ZDNet Australia
Securing SQL Server is vital to the design of any database system. Learn how to install SQL securely, protect data, and ensure its validity. For a number of reasons, people in a position to make security decisions often don't understand the true value of data and, therefore, often fail to secure it adequately. Keeping your data accessible to the people who need it, when they need it, and ensuring its validity is probably the most important job a database administrator has. However, keeping the data accessible doesn't mean making it open to everyone; rather, you need to carefully secure the data and then open it only to those who need to use it
Reducing Round Trips Part 4
Andy Warren
Over the past couple months I've posted three articles on how to reduce the number of round trips between server and client (Reducing Round Trips, Reducing Round Trips - Part 2, and Reducing Round Trips - Part 3). I'm going to finish up the series by looking at how XML provides yet another method of reducing round trips
An Introduction to Clustered and Non-Clustered Index Data Structures
G. Vijayakumar
When I first started using SQL Server as a novice, I was initially confused as to the differences between clustered and non-clustered indexes. As a developer, and new DBA, I took it upon myself to learn everything I could about these index types, and when they should be used. This article is a result of my learning and experience, and explains the differences between clustered and non-clustered index data structures for the DBA or developer new to SQL Server. If you are new to SQL Server, I hope you find this article useful
Looping, Importing and Archiving
sqldts.com
One of the most common things asked for by people using DTS is the ability to loop through a directory and process files along the way. This is how I do it. Although it may look a little complicated for what is quite an easy task it isn't trust me

[В начало]

ФОРУМ SQL.RU

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

Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
Кто на чем пишет клиентов под SQL Server?
Tool Вы знаете что твориться на ваших 10-30+ серверах ?
Новость No.2 - FTP SQL.RU
Недостатки MSSQL
Проблема с Linked server по сети!! выручайте, горит!!!
culumn search
I Need Help! XEON+MsSQL2000
1с и MSSQL 2000
Клиенты баз данных. Кто на чем пишет сейчас или как дальше жить будем?
Fill Factor
Replication --> проблемы с Distributorом
Репликация как средство обеспечения доступности приложения
Временные таблицы.
Как заполнить данными две таблицы?
Проблемка с BULK INSERT
Возвращяемые параметры в ХП с значениями по умолчанию
Union + сдвижка полей
NOLOCK + timestamp = ?
DEBUGGER не останавливается :(((

[В начало]

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

Транзакционность DDL операций - друг или враг
База данных, состоящая из двух файлов - второй файл не используется !
Вложенный DTS-пакет
Invalid cursor state ?
Как подключиться к SQLOLE65.dll (CreateObject("SQLOLE.Server")) на сервере с SQL 2000?Нужен доступ из Package SQL 2000 к SQL 6.5.
Посоветуйте, где почитать про сайзинг на кластере
Проблема с SP3 для MSSQL7.0
Вариант обработки ошибок
Обновление данных при оптимистической блокировке
SQL Server Down ...

[В начало]


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

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

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




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


В избранное