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

MS SQL Server

  Все выпуски  

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


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


#201<<  #202

СОДЕРЖАНИЕ

1.СЕМИНАР
1.1.Архитектура .NET & Хранилища и DTS & 64-bit платформа
2.СОВЕТЫ
2.1.Повышение доступности SQL Server 2000: Failover кластеры (Продолжение)
2.2.MSSQL Server 2000 Reporting Services: Фаза разработки: Обзор. Часть II (Продолжение)
3.ССЫЛКИ НА СТАТЬИ
3.1.Статьи на русском языке
3.2.Англоязычные статьи
4.ФОРУМ SQL.RU
4.1.Самые популярные темы недели
4.2.Вопросы остались без ответа

СЕМИНАР

Архитектура .NET & Хранилища и DTS & 64-bit платформа

Дата: 25.06.2004г. 19:00
Место: г. Москва. Чапаевский пер., 14. Представительство Microsoft в России и СНГ.
Доклады:

1. Архитектура .NET приложений . Алексей Федоров

2. "Плюсы" и "минусы" перехода на 64-разрядную платформу. Андрей Синкин, Сергей Куксов

3. Некоторые возможности DTS при построении хранилищ данных. Часть II . Алексей Шуленин

Для регистрации на семинар, пришлите письмо в свободной форме на адрес gladchenko @ sql . ru (пробелы нужно убрать), с указанием Вашей фамилии, имени и отчества (полностью).

Количество мест в аудитории семинара ограничено, поэтому прошу Вас не откладывать регистрацию.

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

Для того, что бы пройти в помещение проведения семинара, при себе необходимо иметь паспорт или другое удостоверение личности.

Карта проезда в представительство Microsoft

[В начало]

СОВЕТЫ

Повышение доступности SQL Server 2000: Failover кластеры. (Продолжение)

По материалам статьи Microsoft: SQL Server 2000 High Availability Series: Implementing Failover Clustering

Содержание

Отказ вторичного узла

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

[В начало]

Проверка отказоустойчивости

Используйте для проверки Cluster Administrator, с помощью которого можно инициировать плановый отказ. Вы сможете промоделировать перевод узла в автономное состояние для проведения планового обслуживания.

[В начало]

Инициализация планового отказа

1. Нажмите кнопку Start, выберите пункт Programs, а в нём запустите Cluster Administrator.
2. Перейдите к кластерной группе, содержащей виртуальный SQL Server.
Обратите внимание на то, что бы кластер содержал все необходимые ресурсы в своей кластерной группе. 3. Нажмите правую кнопку мыши на кластерной группе, содержащей виртуальный SQL Server, а затем выберите Move Group.
Просмотрите все ресурсы в группе, которые будут переключены из активного в автономное состояние, и обратно в активное состояние с временной задержкой или в другую группу. Весь процесс может занимать 1 - 2 минуты для типовой системы. Также обратите внимание, что владельцем ресурсов в этой кластерной группе станет вторичный кластер.
Используйте один из представленных ниже вариантов для моделирования незапланированного отказа.

[В начало]

Моделирование незапланированного отказа

1. Сделайте одно из следующих действий:

  • Отключите у узла владеющего SQL Server кабель локальной сети.
  • Перезагрузите ведущий узел.
  • Отключите оптоволоконный кабель подключения к SAN (если он используется).
  • Выключите питание ведущего узла.

2. Используя Cluster Administrator на вторичном узле, просмотрите все ресурсы группы, которые переключатся в автономное состояние, а потом с минутной задержкой опять станут активными, при этом, должен смениться владелец этих ресурсов.

[В начало]

Уменьшение времени переключения

Если есть необходимость уменьшения времени, которое требуется SQL Server для переключения с одного узла на другой, используйте представленную далее информацию.

[В начало]

Понятие времени переключения в активное состояние

Время, которое требуется SQL Server при отказе для осуществления переключения на резервный узел, определяется следующим:

  • Время обнаружения и подтверждения отказа, которым можно управлять.
  • Время перевода ресурсов в автономное состояние, которым управляет MSCS, и которое Вы не сможете изменить.
  • Время переключения ресурсов в активное состояние, которым управляет MSCS, и которое Вы можете регулировать, обеспечив для SQL Server достаточный объём памяти и процессорных ресурсов.
  • Время, необходимое для запуска SQL Server на другом узле, которым Вы можете управлять, ограничивая длинные транзакции.

Обычно, SQL Server становится доступен в течение 1 минуты или даже меньше.

[В начало]

Управление временем обнаружения отказа

Временные интервалы LooksAlive и IsAlive определяют для SQL Server время, которое требуется MSCS для обнаружения отказа. Уменьшение этих интервалов делает более вероятным ложное обнаружение отказов и может привести к нежелательным переключениям. По умолчанию, для SQL Server значение интервала IsAlive ровняется 60 000 миллисекундам (60 секунд), а LooksAlive = 5 000 миллисекунд (5 секунд). Сначала измените эти значения на тестовом сервере, и полностью проверьте их под реальной нагрузкой. Если Вы установите уменьшенные значения для этих интервалов, проверьте их воздействие на приложение в целом.

[В начало]

Управление временем переключения в активное состояние

Если резервный узел во время отказа имеет недостаточный объём доступной оперативной памяти, потребуется больше времени, чтобы перевести SQL Server в активное состояние. Хотя это маловероятно для кластера с единственным экземпляром, это может стать проблемой в кластере с несколькими экземплярами. В нормальных условиях, каждый узел обслуживает один экземпляр SQL Server и каждый использует память так, как ему необходимо для эффективной работы. Если узел не имеет достаточного объёма оперативной памяти для одновременного запуска нескольких экземпляров после переключения, вызванного отказом, установите для этих экземпляров меньший максимальный объём занимаемой ими памяти.
Если доступно более 30 Мбайт свободной физической памяти, запускайте экземпляр в режиме динамического распределения памяти. Для контроля достаточности памяти можно использовать журнал ошибок операционной системы (event log), куда SQL Server записывает предупреждения, если ему не достаточно выделенной операционной системой памяти. Однако, если в журнале ошибок нет никаких предупреждений, это ещё не является причиной выделения для SQL Server только с 30 Мбайт памяти.

[В начало]

Управление временем запуска сервисов

При запуске SQL Server проверяется состояние каждой базы данных, фиксируются завершённые транзакции и выполняется откат незавершённых транзакций, если таковые были найдены в журнале. Если клиентские приложения используют очень длинные транзакции, незавершённые транзакции могут увеличить время запуска сервера, т.к. их откат может выполняться очень долго. Рекомендуется использовать по возможности короткие транзакции. Определите продолжительность самых длинных транзакций приложений, и определите время процесса регенерации (recovery), в течение которого эти транзакции будут отменены при обнаружении отказа.

[В начало]

Переподключение клиентов

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

  • В Web-приложениях определение состояний обычно не поддерживается. Когда пользователь посылает запрос Web-серверу, обычно приложение создаёт новое подключение. В такой среде не требуется никакая дополнительная логика повторений запроса. Однако, Web-приложение должно правильно обработать ответные сообщения об ошибках неудачного подключения к SQL Server.
  • В традиционных приложениях, подключения часто организуются для всего сеанса. Вы должны реализовать такую логику работы приложений, которая будет обнаруживать разрыв подключения, и пытаться повторно подключится через заданные интервалы времени (например, 30 секунд). Приложение должно уметь перезапускать транзакции, которые выполнялись в момент потери подключения. Иначе, Вам придется переложить Переподключение на пользователя прикладного программного обеспечения, который будет инициировать повтор транзакций доступными ему средствами.

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

[В начало]

MSSQL Server 2000 Reporting Services: Фаза разработки: Обзор. Часть II (продолжение)

По материалам статьи William Pearson: MSSQL Server 2000 Reporting Services: The Authoring Phase: Overview Part II
Перевод Виталия Степаненко

Содержание

Изменение отчета - добавление поля данных, промежуточных итогов и общего итога

Мы добавили столбец в отчет в первой части. Мы должны повторить это действие, чтобы создать место для нашего нового поля Line Total.

1. Щелкните правой кнопкой мыши на серо-синий заголовок столбца List Price.

2. Выберите Insert Column to the Right (вставить столбец справа) из контекстного меню.
Появится новый пустой столбец в правой части таблицы.

3. Выберите Line Total в окне полей.

4. Перетащите выделенное название столбца в строку Details (строка между верхним и нижним заголовками, заполненная в других столбцах).

5. Отпустите выделенное название столбца над пустым столбцом.
В таблице появляется новый столбец.

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


Рис.25. Часть предварительного просмотра с новым столбцом Line Total

Теперь, когда имеется значение, которое важно для бизнес-процессов и которое можно просуммировать, давайте создадим сумму значений Line Total по подкатегориям и категориям.

7. Выберите вкладку Layout (внешний вид) еще раз, чтобы вернуться к таблице.

8. В третьем столбце таблицы во второй ячейке сверху введите (или вырежьте и вставьте) следующее:
=Fields!Category.Value & " : " &Fields!SubCategory.Value
Мы создали название столбца, состоящее из названий категории и подкатегории, чтобы оно появлялось для каждой подкатегории. Это название мы поместили в верхний заголовок подкатегории, который на данный момент является наиболее подходящим местом для названия - однако позже мы переместим название в другое место.

9. Щелкните правой кнопкой мыши на пятой ячейке сверху в столбце Line Totals (самый правый столбец) - это ячейка, относящаяся к строке, расположенной под строкой Details.

10. Выберите Expression из контекстного меню.
Снова открывается Expression Editor (редактор выражений).

11. Раскройте пункт Datasets в дереве Fields в левой части диалогового окна.

12. Раскройте пункт AdventureWorks2000, находящийся в ветви Datasets.

13. Выберите Sum (Line Total) из пунктов ветви AdventureWorks2000.

14. Нажмите на кнопку Insert (вставить), чтобы добавить пункт Sum (Line Total) в Expression list (список выражений) в правой части диалогового окна.

15. Удалите запятую и "AdventureWorks2000" после "Line Total.Value" из выражения, чтобы осталось следующее:
=Sum(Fields!LineTotal.Value)
Диалоговое окно Edit Expression (редактирование выражений) должно выглядеть так, как показано на рис.26.


Рис.26. Диалоговое окно Edit Expression с добавленным выражением

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

16. Поместите то же самое выражение в две ячейки под ячейкой, которую мы только что заполнили (шестая и седьмая строки столбца Line Totals).
Выражения могут быть вырезаны и вставлены, введены или созданы, с использованием редактора выражений, как мы это увидели ранее. Мы просто решили, что хотим добавить итоги для значений столбца Line Totals, и что они должны появиться в нижних заголовках подкатегорий и категорий, как и в нижнем заголовке всего отчета (самая нижняя строка). Итоговое выражение во всех строках одинаковое, потому что Reporting Services возвратит итоги по той группе данных, где расположено выражение.
Как только будут заполнены две дополнительные ячейки, таблица будет выглядеть, как показано на рис.27.


Рис.27. Таблица с добавленными выражениями промежуточных и общего итогов

Давайте проверим результаты нашей работы еще раз при помощи функции предварительного просмотра.

17. Выберите вкладку предварительного просмотра.

После окончания формирования предварительного просмотра отчета (в верхней части вкладки предварительного просмотра виден счетчик страниц - его значение должно составить около 405 страниц) мы перейдем к последней странице. Здесь в одном месте собраны все три общих итоговых значения (итоги подкатегорий и категорий и общий итог отчета).
Счетчик страниц показан на рис.28 (кнопка перехода к последней странице обведена кружком).


Рис.28. Счетчик страниц с обведенной кнопкой перехода к последней странице

18. Нажмите на кнопку перехода к последней странице отчета.

19. Переместитесь в конец последней страницы.

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


Рис.29. Часть последней страницы отчета

[В начало]

Улучшение внешнего вида отчета при помощи форматирования

Редактирование и изменение свойств

Во время переговоров о разработке отчетности и во время лекций и семинаров я постоянно заостряю внимание на том, что нужно избегать искушения отформатировать отчет до того, как значительная часть данных будет размещена в нем. Форматирование гораздо более эффективно, когда выполняется за один шаг; результаты раннего форматирования, такие, как установка ширины столбцов или определение форматов чисел, часто переделываются, и множество таких мелких шагов добавляет значительное время к общему времени создания информационного продукта.
Давайте выполним несколько шагов по форматированию отчета, чтобы дать обзор форматирования в фазе разработки. Имейте в виду, что мы углубимся в более сложные понятия (такие, как условное форматирование) в статьях, где это имеет смысл, и что в обзорных статьях мы рассмотрим только некоторые особенности форматирования. Очевидно, что диалоговые окна свойств, которые мы рассматриваем среди множества других, содержат расширенные возможности, не уступающие или превышающие возможности приложений отчетности, которые доминировали на рынке до недавнего времени.
На заметку: ожидайте услышать протестующие голоса маркетологов тех компаний, которые производят доминирующие сейчас на рынке приложения отчетности, которые попытаются представить Reporting Services как "ограниченное решение". На примере форматирования, как и на примере множества других возможностей, которые рассматриваются в этой серии, можно увидеть, что возможности Reporting Services не уступают или превышают возможности других предложений.
Сравнение возможностей Reporting Services будет произведено в следующих статьях, чтобы показать, что Reporting Services не уступает, а на самом деле превышает предложения производителей-"Больших сестер" во всех отношениях. Мое мнение - как только маркетологи этих компаний поймут, что пользователи способны видеть различия в функциональности, свидетельствующие не в пользу их продуктов, следующим их утверждением станет то, что нам нужны их продукты для выполнения "специализированных" функций - в дополнение к Reporting Services. Это явится индикатором того, что предсказанная мной неизбежная игра в расширения и дополнения к Reporting Services началась всерьез.

1. Выберите вкладку Layout (внешний вид), чтобы вернуться в область проектирования.

2. Щелкните правой кнопкой мыши на ячейке столбца Line Total и строки Detail таблицы (средняя строка, четвертая сверху в столбце Line Total).

3. Выберите пункт Properties (свойства) из контекстного меню, как показано на рис.30.


Рис.30. Выбор пункта Properties из контекстного меню

Появляется диалоговое окно Textbox Properties (свойства поля ввода).

4. Выберите Standard radio button (стандартный переключатель), на правой стороне диалогового окна.

5. Выберите Number в списке слева под боксе списка под переключателем.

6. Выберите следующие из числовых форматов в списке справа:
1,234.00
Появляется диалоговое окно свойств поля ввода, как показано на рис.31.


Рис.31. Диалоговое окно свойств поля ввода для ячейки Line Total - Detail

Хотя мы не будем использовать поле Name (название) в этой статье, мы увидим в следующих статьях, как можно именовать каждый компонент отчета и многократно использовать форматы и другие свойства в других отчетах эффективно и с легкостью.

7. Нажмите на кнопку OK.

8. Откройте диалоговое окно Properties (свойства) промежуточного итога столбца Line Total в нижнем заголовке подкатегории (созданном нами ранее во время группировки товаров по подкатегориям) - это ячейка под ячейкой Line Total - Detail, которую мы форматировали ранее.

9. Выберите Standard: Number и такой же формат, какой мы использовали для предыдущей ячейки.

10. Нажмите на кнопку Advanced слева вверху диалогового окна.
Появляется диалоговое окно Advanced Textbox Properties (расширенные свойства поля ввода) с вкладкой General (общие) по умолчанию.

11. Выберите вкладку Font (шрифт).

12. В переключателе Weight выберите Semi-bold (полужирный).

13. В переключателе Decorations (оформления) выберите Overline.
Диалоговое окно Advanced Textbox Properties теперь выглядит, как показано на рис.32.


Рис.32. Диалоговое окно Advanced Textbox Properties для ячейки Line Total - SubCategory Footer

14. Нажмите на кнопку OK, чтобы закрыть диалоговое окно Properties.

15. Откройте диалоговое окно Properties (свойства) промежуточного итога столбца Line Total в нижнем заголовке категории (созданном нами ранее во время группировки товаров по категориям) - это ячейка под ячейкой Line Total - SubCategory Subtotal, которую мы форматировали ранее.

16. Выберите Standard: Number и такой же формат, какой мы использовали для предыдущей ячейки.

17. Нажмите на кнопку Advanced слева вверху диалогового окна.
Появляется диалоговое окно Advanced Textbox Properties (расширенные свойства поля ввода) с вкладкой General (общие) по умолчанию.

18. Выберите вкладку Font (шрифт).

19. В переключателе Weight выберите Semi-bold (полужирный).

20. В переключателе Decorations (оформления) выберите Overline.

21. Нажмите на кнопку OK, чтобы закрыть диалоговое окно Properties.
Установки свойств здесь такие же, как и для предыдущего поля ввода. Давайте их немного изменим для общего итога отчета, чтобы выделить его для пользователя.

ОКОНЧАНИЕ СЛЕДУЕТ

[В начало]

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

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

Выпуск SQL Server 2005 откладывается
Открытые системы, #05/2004
В Microsoft сообщили о том, что выход СУБД SQL Server 2005 (кодовое имя Yukon) переносится с конца нынешнего года на первую половину будущего. Как отмечают аналитики AMR Research, смягчить недовольство пользователей SQL Server, вызванное задержкой реализации новых возможностей СУБД, должно то, что они уже получили расширение ее функциональности (без существенной доплаты) в виде службы Reporting Services. По мнению аналитиков, не остановит задержка и процесс консолидации баз данных на предприятиях (цель которого — снижение расходов, а не расширение функциональности), независимо от того, под управление какой СУБД переводятся базы. Как надеются аналитики, дополнительное время, взятое Microsoft, будет потрачено на улучшение стабильности SQL Server 2005. Несмотря на значительность предстоящих усовершенствований СУБД (в числе которых такие, как ранжирование и оперативное манипулирование с индексами), срок задержки достаточно невелик, так что большинство из тех, кому необходимы эти усовершенствования, смогут подождать. В наибольшей же степени из-за задержки пострадают независимые разработчики программного обеспечения, которые рассчитывали выпустить свои продукты одновременно с SQL Server 2005.

[В начало]

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

Port Blocking, SQL Server, and the Internet
Denny Figuerres
While random blocking of ports by ISP’s could lead to a severely crippled Internet I do not believe that it is in the best interests of most users (private or business) to leave all ports open to all users. As an example of this lets take a look at the “MSBlast” worm and the damage it caused the IT community. The while no one can deny that Microsoft had a bug in the code that needed to be patched we can also see that 1) a fix was available and that 2) many servers were not patched and were left open to infection due to the ports used by SQL server being left open to the Internet
Log Shipping vs. Replication
Paul Ibison
Many previous articles on log-shipping and replication have concentrated on solving set-up and configuration issues. This article outlines the differences between them, for the purposes of maintaining a standby server. To put this in context,log-shipping and replication are two methods which are often compared to clustering, however clustering is really a technology created to solve a different business requirement - that of automatic fail-over. In solving this requirement it has some intrinsic restrictions: the distance between nodes is extremely limited meaning the entire system must be in the same geographic location, and the data itself physically resides in one place. This latter point sounds obvious, but consequently there is no possibility of using the topology to distribute query load e.g. to have a reporting server. On the more prosaic side it also has a reputation as being relatively difficult to set up and maintain and the licenses required are not cheap. So, many DBAs take advantage of their existing skill set to implement a methodology which maintains a standby server, accept that fail-over will be a manual process but hope to gain the bonus of having standalone reporting capability. Commonly the choice is between log-shipping and replication, but one needs a clear understanding of which methodology is the more appropriate. The table below outlines some of the key differences, which are then explained further
Case Sensitivity in Selects - Part 3
Andy Warren
I've published two prior articles (xx and xx), you'll benefit from reading them before continuing with this one. I'd like to start by looking at part of a great email I received from reader John Sands (check out his blog!). As John explained, he read the first article and wanted to make sure he understood the code AND it worked before passing it around. Bravo! Anyway, he wrote because he was unable to achieve the results I mentioned using the convert to binary option. I'll start by including his text, then look at what happened. After that I'll discuss the underlying problem that started this journey and see if I can come up with any alternatives
MDX Essentials: Basic Set Functions: Subset Functions: The Tail() Function
William Pearson
In this lesson, we continue a "triptych" of articles that expose set functions that deal specifically with subsets - that is, each function returns a subset of a larger set as part of its operation. Having covered the Head() function in the previous article, we will introduce the Tail() function in this article, then follow it with the Subset() function in the next article. As we mentioned in our last session, these three functions have much in common with regard to usage and operation; covering them in close proximity will allow us to more finely distinguish among them, to exploit the attributes we can leverage to meet specific business needs
SQL Server 2000 Security - Part 5 (Application roles)
Marcin Policht
In our previous article, we started our discussion about SQL Server 2000 authorization, focusing initially on permissions assigned to standard fixed server and database roles. We also explained that on the database level, SQL Server 2000 provides more flexibility, since it allows you to define your own custom roles, with the help of the sp_addrole stored procedure (or via graphical interface of SQL Server Enterprise Manager). In addition to these standard roles, which control access to SQL Server and database objects on per-login and per-user basis respectively, you also have available database-level application roles, which control access to database objects and operations on per-application basis. This is most commonly used in client-server scenarios, where a client application is invoked by multiple clients and direct database access (outside of the application) by the same clients needs to be prevented
Microsoft Puts SQL Server in Line With Rivals on Backup Databases
Marc L. Songini
JUNE 07, 2004 (COMPUTERWORLD) - Microsoft Corp. last week began letting SQL Server users who have Software Assurance contracts set up fail-over databases at no extra cost, a new policy that some customers said could give Microsoft an edge over Oracle Corp
Quick Table and Index Size Script
This script from Matthew L. Kearns quickly returns table and index disk space and row counts for all tables in the current database. Essentially, the script puts the table names into a cursor and then spits out sp_spaceused results into a temp table. The contents of the temp table can be displayed in the sort order desired by the user
Web services, BI fuel DBA job market
Robert Westervelt
Database administrators who have experience with business intelligence, SQL Server, and open source platforms are enjoying a recent rise in demand
Extracting a String From Between Two Delimiting Characters
Stephen Lasham
A table contains a column (particulars) consisting of a semi-colon-delimited string of text, for which the text between the first and second semi-colon needs to be extracted. The extracted text will be no longer than 99 characters
How to Play with DataGrid Control in ASP.NET
Mayank Gupta
One example of using the DataGrid control to display data demonstration to use “paging”. When there are a large number of rows to display, sending them all to the client in one go does not make sense. Your client will get impatient waiting for all of them to arrive, and may find that they actually waited to see something else instead. To prevent this aggravation and waste of bandwidth, we actually divide the output into pages congaing 10-20 rows per page
Index Creation Guidelines
Leo Peysakhovich
Often times index placement is a confusing task for many SQL Server developers. We all have been told that indexes do boost performance. The problem is how to select the ideal type of index, the number of columns to index, and which columns should be indexed, and how to answer all these questions without using query analysis tools
An Enterprise-Class Plan for Securing Microsoft SQL Server Databases
If you are running Microsoft SQL Server databases to support critical enterprise applications, you are part of a growing trend. The cost/performance benefits of Microsoft SQL Server on the Microsoft Windows NT and Windows 2000 platforms have fueled the growth of SQL Server as a platform for enterprise-class applications
Design Elements Part 11: String Manipulation
We're leaving the topics of mathematical and statistical formulas, functions and algorithms (finally, I can hear you say) and continuing our discussion of design elements
SQL Server administration best practices
Divya Kalra & Narayana Vyas Kondreddi
This article explains best practices for system administration in a Microsoft SQL Server 7.0 / 2000 environment, including regular maintenance tasks
Check if IP address is in private IP range
kgayda
Function to allow for checking if an IP address is a private IP address. Will convert the IP to a bigint equivalent if within the private range, otherwise it will return null if IP is a public address
Synchronizing Production Data with a Test Database on SQL Server
Muthusamy Anantha Kumar
Every corporation has a unique infrastructure environment. Let us consider a simple production, testing, and a development environment. The SQL scripts application, developed in a development environment will be tested in a QA environment and then moved to production on a production date. Usually the QA group simulates the implementation process on the test box before releasing new versions. In order to do this they need live data from the production server. One way of doing this is a simple restore backup, but there are some tweaks involved. The objective of this article is to automate this process
Who's Afraid of Profiler?
Brian Moran
"First, do no harm" is the essence of the Hippocratic oath, which physicians adhere to when caring for patients. It's also good advice for DBAs. When you're trying to fix a problem, a misstep that accidentally brings down a server might also bring down your career. I use SQL Server Profiler daily to avoid such missteps. It's the central tool for my performance-tuning work, which consumes most of my time
Implementing Identity Columns in SQL Server
Eric Charran
When working with an identity column in SQL Server, developers can leverage several benefits. These benefits to the data model include a highly efficient method of providing data integrity to the database (via referential integrity and entity integrity when coupled with referential integrity constraints), and the abstraction of the natural key from performing this role. This allows for clear and concise relationship demarcation among data and added ease of authoring TSQL against the data model. Identities scale well and can be derived into other columns which can use the identity value as the basis for an actual business value
Enhancing Rollback by Using Virtual Machines
John Paul Cook
Every DBA and every database developer has been saved by transactional rollback at some point. Maybe it was a DELETE statement without a WHERE clause or an incorrectly specified WHERE clause. As good as the ROLLBACK statement is, though, sometimes it just isn’t enough, and restoring a database from a backup still isn’t always enough. Resolving some problems may even require rebuilding an entire machine. Virtual machines offer the thoroughness of a complete rebuild with the ease of a ROLLBACK statement
View from the Top — Part 1
Chris Foot
What three database experts have to say about their database technologies, current trends, and the coming developments that will affect us all
No Reading Between the Lines: The Importance of Documenting
James F. Koopmann
As a DBA, do you know what you should be doing? (Do you know what you did yesterday?) It really amazes me, how many articles and books I have read that painstakingly tell what a DBA is, what they should be doing, and how they organizationally fit within a company. And I continually get e-mails from individuals asking how they can become a DBA, what training they should have, and what types of jobs they should accept or decline in their quest to DBA stardom
The Data Quality Problem
Jack E. Olson
Accurate data is a fundamental requirement of good information systems. And yet most information systems contain significant amounts of inaccurate data, and most enterprises lack enough of a basic understanding of the concepts of information quality to recognize or change the situation. Accurate data is an important dimension of information quality—the most important dimension
DBAzine SQL Server Tip #15: Identities as Primary Keys in SQL Server
Eric Charran
One of the first steps in building and application is to design and plan the data model. There are several principles to consider and implement to ensure that the application data model does not become the bottleneck for application stability and scalability. One of these guiding principles is to design the database in at least Third Normal Form. By following the Third Rule of Normalization, database structures will become efficient and capable of handling large volumes of transactions and data
SQL Server Performance Monitoring, Tuning, and Load Balancing
Welcome to today's SQL Server Performance Monitoring, Tuning, and Load Balancing chat. I will ask the hosts to introduce themselves

[В начало]

ФОРУМ SQL.RU

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

Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
Tool Вы знаете что твориться на ваших 10-30+ серверах ?
Новость No.2 - FTP SQL.RU
Помогите ускорить выполнение запроса
Несколько наборов данных...
как пользователю одной базы дать доступ к данным другой
Почему не ставится
Распределить базу на несколько серверов
Триггер не выдает сообщения об ошибке
Замена ADO для делфей
ПОМОГИТЕ с типом INT
Дифференциальный бэкап... меня клинит.
Ошибка не возвертается на клиента
Минимизировать сетевой трафик
Опять Crystal Reports
2 Job с одинаковыми именами
экспорт image полей.
pkarklin, поздравляю!
Как запросом перенести данные из временной таблицы в dbf файл? Хелп!
SQL сошел с ума

[В начало]

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

Глюк View
DNS ODBC - пароль и логин-безопасно ли ?
SQL Mail
ОЧЕНЬ нужна помощь с репликацией
не понимаю использование sql:key-fields в XSD-схемах
Кто знает?
MSSQL Replication -- проблема заключается в следующем...
Безопасность в MS SQL ориент. приложениях
как восстановить хранимку в базу из скрипта c помощью SQL-DMO ??

[В начало]


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

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

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

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



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


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


В избранное