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

MS SQL Server

  Все выпуски  

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


Служба Рассылок Subscribe.Ru

#087<<  #088
СОВЕТ

Фильтрация реплицируемых данных
По материалам статьи Microsoft: Filtering Published Data

Горизонтальные, вертикальные, динамические и join фильтры дают возможность создать разделы данных, которые потом будут изданы. Фильтруя предназначенные для издания данные, Вы можете:
- Сократить количество данных, передаваемых по сети.
- Уменьшить размер баз данных на подписчиках (subscriber).
- Настроить публикацию и прикладные программы под индивидуальные требования подписчика.
- Исключить или уменьшить конфликты, за счёт того, что различные разделы данных могут быть реплицированы разным подписчикам (разные подписчики не будут модифицировать одни и те же данные).

Фильтрация строк и столбцов может применяться для моментальных снимков, транзакционной и merge (объединение) публикаций. Фильтрация строк использует предложение WHERE в SQL инструкции и ограничивает строки, включенные в публикацию, основанную на заданных критериях. Фильтрация столбцов ограничивает столбцы, которые включаются в публикацию.
Динамические и join фильтры расширяют возможности Merge репликации. Динамические фильтры - это строковые фильтры, которые используют функцию для отбора значений на подписчике и репликации фильтрованных данных, основанных на этом значении. Фильтр для публикации определяется один раз, но результирующий набор может различаться на разных подписчиках, что позволяет на подписчике получать только то подмножество данных, которое необходимо пользователям этого подписчика. Join фильтры расширяют возможности фильтрации строк одной издаваемой таблицы в другую. Join фильтр определяет отношения между двумя таблицами, которые будут предписаны в течение процесса объединения; это похоже на объединение (Join) двух таблиц.

Фильтры строк

Использование фильтров строк позволяет определить подмножество строк таблицы для издания на серверы подписчики. Фильтры строк используются в тех случаях, когда только определенные строки должны быть реплицированы подписчикам, при этом, исключаются строки, которые пользователи не должны видеть (например, строки, которые содержат конфиденциальную информацию), или когда создаются разделы данных, которые реплицируются разным подписчикам. Такие фильтры помогают предотвратить конфликты, которые могли возникнуть при одновременной попытке на нескольких подписчиках модификации одних и тех же данных.
Фильтры строк удобны потому, что они могут применяться с уже существующим прикладным программным обеспечением, когда присутствует определяющий атрибут, по которому можно фильтровать строки издаваемой таблицы, или одной из связанных с ней таблиц.
Фильтры строк применимы для моментальных снимков, репликациии транзакций и Merge репликациии. Фильтры трок в транзакционной публикации может существенно повлиять на эффективность, потому что условие фильтрации статьи будет применяться для каждой регистрационной записи в журнале транзакций, относящейся к издаваемой таблице. Это необходимо, чтобы определить, должна ли она быть отмеченной для репликации. Фильтры строк в транзакционной публикации желательно избегать в тех случаях, когда допустима полная загрузка данных, и этот полный набор данных не велик, я количество вставок, обновлений и удалений не большое.
Фильтры строк для репликации моментальных снимков (snapshot) и репликации транзакций являются статическими и используют критерий предложения WHERE, который можно задать с помощью Create publication Wizard или с помощью диалогового окна свойств публикации. Если имеются два подписчика, которые должны получать разные строки данных из издаваемой таблицы, нужно создать две публикации, каждая из которых будет иметь свой фильтр строк. Это позволит отправлять необходимые строки каждому подписчику.
Хотя можно использовать в фильтре строк подзапрос, это не будет join фильтр. Если строка в таблице модифицируется подзапросом, запрос не будет учтён, и строка не будет учтена как часть репликации. Репликация с Join фильтром применима только для Merge репликации.
В качестве альтернативы для создания нескольких публикаций можно рассматривать использование динамических фильтров в Merge репликации или создание трансформируемой подписки (transformable subscription) с предопределённым фильтром для репликации моментального снимка или репликации транзакций, которая будет динамически создавать разделы данных, основанные на информации, полученной от разных подписчиков.

Фильтры столбцов

Фильтры столбцов ограничивают число столбцов, которые будут включены в моментальный снимок, транзакционную или merge публикацию. Фильтры столбцов могут уменьшить время, которое требуется для тиражирования изменений данных к подписчикам, уменьшать размер базы на подписчике и ограничить данные в публикации только теми, который необходимы разным подписчиками. Вы можете использовать фильтры строк и столбцов совместно.
Ниже представлены типы столбцов, к которым не могут быть применены вертикальные фильтры для публикации:
- Столбцы с ограничениями первичного ключа.
- Non-null столбцы без заданного значения по умолчанию.
- Столбцы, включенные в уникальный индекс.
- Столбец ROWGUID для merge публикации и столбец ROWGUID для моментального снимка или транзакционной публикации, которым установлено немедленное обновление подписчика.

Для репликации моментальных снимков и репликации транзакций, можно использовать трансформируемую подписку с предопределённым фильтром, которая будет динамически создавать вертикальные разделы для разных подписчиков, использующих одну публикацию.
Обратите внимание: Если снимок или транзакционная публикация допускают изменение данных на подписчике и публикация имеет фильтр столбцов, Вы не сможете фильтровать non-nullable столбцы без заданного значения по умолчанию из публикации.

Динамические фильтры


Динамические фильтры позволяют создавать merge публикацию и затем фильтровать данные из издаваемой таблицы, обеспечивая разные разделы данных для разных подписчиков. Использование динамических фильтров в merge публикации целесообразно в следующих случаях:
- На издателе создаётся меньше публикаций. Это упрощает администрирование публикаций.
- Использование определяемых пользователем функций (user-defined functions - UDF) в динамическом фильтре дает возможность фильтровать по критериям.
- Подписчик получает только ту информацию, которая необходима, потому что фильтрация данных базируется на свойствах подключения Merge Agent для подписки.

В динамическом фильтре можно определить функцию Microsoft SQL Server 2000 или UDF функцию, которая будет по разному обрабатываться для каждого подписчика. Наиболее часто используемые системные функции, применяемые для этих целей - SUSER_SNAME() и HOST_NAME(). Вы можете использовать UDF в динамическом фильтре, но если UDF включает SUSER_SNAME(), HOST_NAME() или если UDF использует одну из этих системных функций в критериях фильтра (например, MyUDF (SUSER_SNAME ()), тогда UDF становиться статической.
Динамические фильтры - это фильтры строк (ограничивают число строк данных) и применимы только для одной таблицы (нельзя использовать пересечения или объединения с другими таблицами). Однако, можно использовать динамические фильтры и join фильтры в одной публикации и на тех же самых издаваемых таблицах.
Динамические фильтры применимы только с Merge репликацией. Кроме того, при их использовании, необходимо рассмотреть также использование динамических снимков. По умолчанию, динамическая фильтрация для публикаций основывается на операциях INSERT на издателе, чтобы применить данные на подписчике, как часть первоначального снимка. При использовании динамических фильтров, динамические снимки используют все преимущества эффективности программы массового копирования (bcp), чтобы передать данные определенному подписчику при применении первоначального снимка.
Если Вы используете репликацию снимков или репликацию транзакций, Вы можете создавать предопределённые фильтры, использующие трансформируемую подписку, которые будут фильтровать данные, основываясь на индивидуальных требованиях подписчиков.

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

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

Система генерации проектной документации Rational SoDA
Автор: Александр Новичков.
Ни для кого не секрет, что у любого сотрудника компании уходит много рабочего времени на написание всевозможных отчетов. Как показывает статистика, из 8 часов рабочего дня на документирование тратится 1 час, то есть к концу недели мы получаем 5-6 часов «потерянного» времени. Потерянного — с точки зрения руководителей и заказчиков проекта, которые всегда хотят быть в курсе происходящих событий и знать, за что они платят деньги. Что же касается разработчиков, то и они не в восторге от такой «рутины» — им просто неинтересно составлять отчеты, тем более отчеты читабельные, то есть понятные не только их авторам...[подробнее]
Проектирование информационных систем
Автор: Лилия Козленко.
Этапы разработки проекта: определение стратегии тестирования и проектирование...[подробнее]
Платформа Microsoft .NET с точки зрения ее создателей
Автор: Андерс Хейлсберг.
Одной из самых модных тем, обсуждаемых сейчас разработчиками программного обеспечения, является, безусловно, платформа Microsoft .NET, .NET Framework, а также ожидаемое в ближайшем будущем средство разработки Visual Studio .NET. (Мы тоже неоднократно писали об этом в нашем журнале и еще не раз вернемся к данной теме.) Именно о платформе .NET, Visual Studio .NET и о новом языке программирования C#, вошедшем в состав Visual Studio .NET, пойдет речь в интервью с Андерсом Хейлсбергом — руководителем проекта создания и развития языка программирования C# и основным участником разработки Microsoft .NET Framework — которое он любезно согласился дать ответственному редактору КомпьютерПресс Наталии Елмановой...[подробнее]
Проектирование информационных систем. Часть 3
Автор: Лилия Козленко.
Этапы разработки проекта: заключительные стадии проектирования, схема базы данных...[подробнее]
Инструментальная поддержка разработки и внедрения корпоративных информационных систем
Автор: Сергей Маклаков.
Разработка и внедрение информационных систем управления предприятием, или корпоративных информационных систем (КИС), связана с серьезным риском. К сожалению, можно привести множество примеров, когда проекты по внедрению готовых или разработанных под заказ информационных систем оканчивались неудачей. Между тем существуют специальные методики и инструментальные средства, позволяющие минимизировать риски и решать ключевые проблемы, возникающие на различных этапах жизненного цикла КИС — от анализа до сопровождения...[подробнее]
Инструментальная программная среда ARIS
Автор: Владимир Ивлев, Татьяна Попова.
Современная — сложная и динамичная — рыночная среда требует от российских предприятий постоянного совершенствования систем управления и информационных систем их поддержки. Одним из основных направлений создания эффективной системы управления предприятием (СУП) является применение процессного подхода и концепции контроллинга к управлению финансово-хозяйственной деятельностью предприятия...[подробнее]
Проектирование информационных систем. Часть 1
Автор: Лилия Козленко.
Этапы разработки проекта: стратегия и анализ...[подробнее]
Microsoft Visual Studio .NET
Автор: Алексей Федоров.
В середине лета этого года фирма Microsoft выпустила вторую бета-версию средства разработки для платформы .NET — Microsoft Visual Studio .NET. В данном обзоре мы ознакомим вас с основными новиками, появившимися в данной версии...[подробнее]
Формализация подхода разработки Web-интерфейсов к базам данных
Автор: Рубен Садоян.
Целью настоящей статьи является формализация подхода к созданию наиболее типичного и полнофункционального Web-интерфейса к базам данных. Согласитесь, что задача весьма актуальна, тем более, что она требует знаний в самых различных областях Web-программирования. Статья будет крайне полезна начинающим Web-программистам, а также тем, кто уже свободно ориентируется в программировании баз данных, но хотел бы упорядочить свое представление о порядке решения задач по разработке Web-интерфейсов и ознакомиться с приемами, значительно облегчающими и ускоряющими этот процесс...[подробнее]
Что готовит Microsoft для разработчиков
Автор: Наталия Елманова.
На прошедшей в конце октября этого года в Лос-Анджелесе конференции Microsoft Professional Developers Conference (PDC’2001), собравшей около 7 тыс. разработчиков со всего мира, обсуждались новые технологии Microsoft, которые позволяют создавать распределенные приложения нового поколения, использующие нетрадиционные способы ввода данных и легко интегрирующиеся с другими приложениями и сервисами, в том числе представленными в Интернете. Ниже приведен краткий обзор того, о чем говорилось на этой конференции...[подробнее]
Азбука ERP
Автор: Christopher Koch, Derek Slater and E. Ba.
Системы управления ресурсами предприятия, или ERP-системы, не оправдывают своего названия. Забудьте об управлении - программа этого не делает. И о ресурсах - это слово ни к чему не обязывает. Предприятие - вот подлинный объект ERP! Задача программы - свести все отделы и функции в единую компьютерную систему, способную учесть самые разнообразные интересы...[подробнее]
Происхождение ERP
Автор: В. Когаловский.
Производственное планирование от Гантта до ERP. Что такое OPT, Just-in-time, CIM, CALS? Какова их связь с ERP и MRP II?...[подробнее]
Стратегическое управление проектами
Автор: Сергей Бобровский.
Можно купить самую совершенную систему конфигурационного управления, контроля версий, моделирования и тестирования, однако проект все равно не уложится в сроки. Почему? Потому что подобные системы нацелены на автоматизацию работы программистов и среднего звена управления, но не затрагивают высший уровень руководства. Реальная производительность труда и реальный объем работ не увязываются с календарным планом и бюджетированием проекта, без чего контроль за планом теряет смысл. Поэтому первая задача руководителя компании-разработчика — следить за общим ходом проекта на основе правильных показателей. Проблемы же в процессе работы надо решать не по мере их возникновения, а стараться предвидеть и ликвидировать в зародыше — это вторая основная задача. Рассмотрим их более подробно...[подробнее]
Windows .Net Server FAQ
Автор: Tom Laemmel.
Наверное, многие слышали про Windows .NET Server ("Whistler Server"), который можно назвать также Windows NT Server 5.1. Ниже приведен FAQ (список наиболее часто задаваемых вопросов и ответов на них), посвященный этой ОС. Информацию о настольной версии ОС "Whistler" читайте в нашем FAQ "Windows XP", который выйдет в ближайшее время...[подробнее]

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

INF: Conditions for Stored Procedure Recompilation (Q104445)
INFO: Using DB-Library Functions From a Windows DLL (Q105346)
INF: Causes of SQL Transaction Log Filling Up (Q110139)
INF: How to Access SQL Server Within Active Server Pages (Q169377)
BUG: SEM Encounters Unhandled Exception When Creating New Task (Q190627)
INF: Order of Installation for SQL Server 6.5 MSMQ 1.0 Clustering Setup (Q192708)
INF: Basic Guidelines for Installing SQL Server Version 6.5 or 7.0 (Q192710)
INF: How to Set Up the ProcSrv ODS Server Application (Q194523)
BUG: SQL Enterprise Manager Encounters Unhandled Exception When Creating New Task (Q194765)
PRB: ODBC Connection Failed: SQLState: '08001' DBMSSOCN (Q195566)
INF: Frequently Asked Questions - SQL Server 7.0 - Replication (Q195757)
INF: Frequently Asked Questions - SQL Server 7.0 - Server (Q195760)
INF: Trapping Error Messages Sent to Clients from a SQL Server (Q199037)
PRB: Cannot Create FK Relationship Using Design Table Interface (Q197799)
PRB: Dashes '-' Ignored in Search with SQL Full-Text and MSIDXS Queries (Q200043)
FIX: ITW/Perform Index Analysis Fails on Table Names Not Represented in System Locale (Q203777)
INF: Troubleshooting Application Performance with SQL Server (Q224587)
INF: Troubleshooting Stored Procedure Recompilation (Q243586)
INF: Troubleshooting Performance of Ad-Hoc Queries (Q243588)
INF: Troubleshooting Slow-Running Queries on SQL Server 7.0 or Later (Q243589)
INF: How To Transfer Logins and Passwords Between SQL Servers (Q246133)
FIX: Denial of Services During Connections (Q248829)
INF: SQL Server 7.0 Service Pack 3 Fixlist (Q274797)
FIX: SQL Server 7.0 Microsoft Search Fails to Start With Error 1332 (Q280872)
OSE: Error Messages When You Install Office Server Extensions on Computer with SQL Server 2000 (Q281460)
PRB: SQL Server Service Did Not Start Due to a Logon Failure (Q282254)
HOW TO: Shrink the Tempdb Database in SQL Server (Q307487)
FIX: ALTER DATABASE SET READ_ONLY Statement May Lead to an Assertion If the Transaction Log is Full (Q318878)
FIX: SQL Server May Become Unresponsive When a Large Number of Databases and Roles are Used (Q318733)
BUG: Cursor on Query with Aggregate Blocks with READ UNCOMMITTED (Q189946)
INF: Extended Stored Procedures: What Everyone Should Know (Q190987)
INF: Replication: Cleanup Task Takes a Long Time to Complete (Q191412)
PRB: Replication: Distribution Task Timeout Expired (Q191384)
BUG: SP2 Regr:Many-Column SELECT, JOINs, ORDER BY May Disconnect (Q195536)
BUG: Large Number of Procedure Plans in Cache for Subprocedures (Q195684)
FIX: SQL Server 6.5 Service Pack 5a Fixlist (Q197174)
BUG: Error 16929, "Cursor Is Read Only" for Cursor w/OpenQuery() (Q197392)
FIX: FT Wizard Fails with Windows NT Authentication and Not Sysadmin (Q198163)
FIX: Failed Sp_prepare Incorrectly Closes Transaction (Q198265)
BUG: Slow Performance Using Cursor Positioned Update If No PK (Q197462)
BUG: CREATE TABLE in Stored Procedure with the Name "sp_" May Fail (Q196789)
INF: Enabling DLL-Based COM Object Execution Outside SQL Server (Q198891)
INF: Understanding and Resolving SQL Server 7.0 or 2000 Blocking Problems (Q224453)
INF: Customizing SQL/MSDE Unattended Installation Files (Q233312)
INF: How to Determine When Unattended SQL 7.0/MSDE 1.0 Setup is Complete (Q233337)
PRB: SQL Server ODBC Driver Converts Language Events to Unicode (Q234748)
FIX: Upgrade to SQL Server Fails When MSDE Installed from MOD (Q234915)
FIX: DMO Transfer Methods Does Not Do Code Page Conversion (Q236868)
PRB: Service Pack Setup Requires Default Named-Pipe Name (Q237487)
PRB: RebuildM Cannot Find Original Master Database Files for MSDE Installation (Q238678)
HOWTO: Back Up an MSDE Database with T-SQL (Q241397)
INF: Installation Order for SQL Server 2000 Enterprise Edition on Microsoft Cluster Server (Q243218)
INF: Sqldiag.exe Can be Included in an MSDE Custom Setup (Q243811)
PRB: Unattended Install of SQL Server 7.0 or MSDE 1.0 Stops Responding (Q247221)
FIX: Sqlmaint.exe is Not Included in MSDE 1.0 Installation (Q246815)
BUG: Cannot Edit or Delete Database Maintenance Plan on MSDE Installation (Q247879)
INF: Authentication Methods for Connections to SQL Server in Active Server Pages (Q247931)
INF: Clustered SQL Server Do's, Don'ts and Basic Warnings (Q254321)
BUG: Sqlmaint Does Not Delete Expired Backup Files on Windows 95, 98 or ME Computers (Q278667)
FIX: Buffer Overflow Exploit Possible with Extended Stored Procedures (Q280380)
INF: Moving SQL Server 7.0 Databases to a New Server with BACKUP and RESTORE (Q304692)
FIX: Index Scans on Frequently Modified Table May Return Incorrect Results (Q312578)
FIX: #ERR Occurs When You Browse a Cube That Is Write-Enabled and has a Virtual Dimension and an Oracle Data Source (Q315970)
Microsoft Network Security Hotfix Checker (Hfnetchk.exe) Tool Is Available (Q303215)
Frequently Asked Questions about the Microsoft Network Security Hotfix Checker (Hfnetchk.exe) Tool (Q305385)

ФОРУМ SQL.RU: САМЫЕ ПОПУЛЯРНЫЕ ТОПИКИ

помогите девушке
select с union и Group By
Жуткий OFF: Достал SQL, Вы же умные и разносторонние люди! Неужели болбше неочем?
Как SQLServer удаляет записи
1c через OLE из t-sql :-(
И еще один вопрос - передача Null через datacombo (ADO ) ?
Индекс по нескольким полям
Как поменять владельца всем объетам БД?
тип image
DTS-пакет. Connection для dbf-файла

ФОРУМ SQL.RU: ВОПРОСЫ ОСТАЛИСЬ БЕЗ ОТВЕТА

SOUNDEX, DIFFERENCE
Можно ли при импорте через DTS дописывать в текстовый файл?
Можно ли с помощью DTS перенести данные из таблицы с полем типа text
Как убить из таблицы SQL 2000 брокнутую запись?
Вычисляемая ячейка в OLAP-кубе
Проблема с Link Server for Paradox
Нужна помощь по SQL Link Server
Annotated XSD Schemas
ПОМОГИТЕ !!!

#087<<  #088

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

sql.ru

Описание рассылки
 Поиск на SQL.RU
Искать: 
Результатов на странице: Формат:
Тип запроса: Раздел:
МИНИФОРМА
ПОДПИСКИ




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

В избранное