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

MS SQL Server

  Все выпуски  

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


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


#117<<  #118

СОДЕРЖАНИЕ

1.БЕЗОПАСНОСТЬ
1.1.Слабая схема шифрования паролей в MS SQL Server
2.СОВЕТЫ
2.1.Утилиты репликации MS SQL Server
2.1.1.Введение
2.1.2.Replication Distribution Agent
2.1.3.Replication Snapshot Agent
2.1.4.Replication Merge Agent
2.1.5.Replication Log Reader Agent
2.1.6.Параметры запуска утилит репликации
3.ССЫЛКИ НА СТАТЬИ
3.1.Отечественные статьи
3.2.Новые технические статьи Microsoft
3.2.Англоязычные статьи
4.ПОЛЕЗНОСТИ
4.1.Обучение программированию в среде 1С:Предприятие
5.ФОРУМ SQL.RU
5.1.Самые популярные темы недели
5.2.Вопросы остались без ответа

БЕЗОПАСНОСТЬ

Слабая схема шифрования паролей в MS SQL Server
Weak Password Encryption Scheme in MS SQL Server

По сообщению securitylab.ru от 4 ноября 2002: Дэвид Личфилд, в статье "Threat Profiling Microsoft SQL Server", сообщает, что собственный механизм аутентификации MS SQL Server использует слабый алгоритм шифрования пароля при его передаче по сети.

Уязвимость обнаружена во всех версиях SQL Server

[Содержание]

СОВЕТЫ

Утилиты репликации MS SQL Server
Автор: Александр Гладченко

По материалам MSDN

Статья представляет собой краткий справочник по использованию утилит командной строки для репликации MS SQL Server.

Введение

Одну из ведущих ролей в репликации MS SQL Server играют агенты, которые являются утилитами командной строки. В данной статье мы рассмотрим четыре агента репликации: distrib.exe - Replication Distribution Agent, snapshot.exe - Replication Snapshot Agent, replmerg.exe - Replication Merge Agent и logread.exe - Replication Log Reader Agent.
Обычно, все эти четыре утилиты можно найти в каталоге C:\Program Files\Microsoft SQL Server\80\COM. Для того, что бы посмотреть параметры их вызова, необходимо запустить соответствующие исполняемые файлы с ключом "-?". На Вашем экране будет представлен синтаксис их запуска и перечень возможных ключей. Эта информация собрана в находящейся ниже по тексту таблице.

distrib.exe [-?] snapshot.exe [-?] replmerg.exe [-?] logread.exe [-?]
-Publisher <..>
-PublisherDB <..>
-Subscriber <..>
[-Publication <..>]
[-SubscriptionType <0-2>]
[-SubscriberDB <..>]
[-SubscriberSecurityMode <0|1>]
[-SubscriberLogin <..>]
[-SubscriberPassword <..>]
[-SubscriberType <0-2>]
[-SubscriberDatabasePath <..>]
[-Distributor <..>]
[-DistributorSecurityMode <0|1>]
[-DistributorLogin <..>]
[-DistributorPassword <..>]
[-DistributorNetwork <..>]
[-DistributorAddress <..>]
[-FileTransferType <0|1>]
[-FtpAddress <..>]
[-FtpPort <..>]
[-FtpUserName <..>]
[-FtpPassword <..>]
[-TransactionsPerHistory <..>]
[-CommitBatchSize <..>]
[-CommitBatchThreshold <..>]
[-MaxDeliveredTransactions <..>]
[-BcpBatchSize <..>]
[-SubscriptionTableName <..>]
[-ErrorFile <..>]
[-MaxBcpThreads <..> ]
[-UseInprocLoader ]
[-NoTextInitOnSync ]
[-Buffers ]
[-QuotedIdentifier <..>]
[-HistoryVerboseLevel <0|1|2|3>]
[-ProfileName <..>]
[-KeepAliveMessageInterval <..>]
[-SQLOutput <..>]
[-AltSnapshotFolder <..>]
[-SkipErrors ]
[-Hostname <..>]
[-UseDTS ]
[-PacketSize <..>]
[-PollingInterval <..>]
[-MessageInterval <..>]
[-Continuous ]
[-Output <..>]
[-OutputVerboseLevel <0|1|2>]
[-LoginTimeout <..>]
[-QueryTimeout <..>]
[-DefinitionFile <..>]
[-AlignFixup ]
-Publisher <..>
-PublisherDB <..>
-Publication <..>
[-ReplicationType <1|2> ]
[-Distributor <..> ]
[-DistributorSecurityMode <0|1>]
[-DistributorLogin <..> ]
[-DistributorPassword <..> ]
[-PublisherSecurityMode <0|1>]
[-PublisherLogin <..> ]
[-PublisherPassword <..> ]
[-MaxBcpThreads <..> ]
[-BcpBatchSize <..> ]
[-HistoryVerboseLevel <0|1|2|3> ]
[-RowDelimiter <..> ]
[-FieldDelimiter <..> ]
[-70Subscribers ]
[-ProfileName ]

Merge Replication Dynamic
Snapshot Parameters:

[-DynamicFilterLogin <..> ]
[-DynamicFilterHostName <..> ]
[-DynamicSnapshotLocation <..> ]
[-StartQueueTimeout <..> ]

[-Continuous ]
[-Output <..>]
[-OutputVerboseLevel <0|1|2>]
[-LoginTimeout <..>]
[-QueryTimeout <..>]
[-DefinitionFile <..>]
[-AlignFixup ]
(-Publisher <..>) | (-PublisherNetwork <..> -PublisherAddress <..>)
-PublisherDB <..>
-Subscriber <..>
-SubscriberDB <..>
-Publication <..>
[-Hostname <..>]
[-PollingInterval <in seconds>]
[-ValidateInterval <in minutes>]
[-SubscriptionType <0|1|2>]
[-SubscriberConflictClean <0|1>]
[-PublisherSecurityMode <0|1>]
[-PublisherLogin <..>]
[-PublisherPassword <..>]
[-SubscriberSecurityMode <0|1>]
[-SubscriberLogin <..>]
[(-SubscriberPassword | -SubscriberEncryptedPassword) <..>]
[-SubscriberType <0|1|2|3|4|5|6|7|8>]
[-Validate <0|1|2|3>]
[-FastRowCount <0|1>]
[-HistoryVerboseLevel <0|1|2|3>]
[-ProfileName <..>]
[-MaxBcpThreads <..>]
[-UseInprocLoader]
[-InteractiveResolution <0|1>]
[-KeepAliveMessageInterval <..>]
[-PollingInterval <..>]
[-StartQueueTimeout <..>]
[-SrcThreads <..>]
[-DestThreads <..>]
[-ForceConvergenceLevel <0|1|(2 (Publisher|Subscriber|Both))]
[-MetadataRetentionCleanup <0|1>]
[-InputMessageFile <..>]
[-InputMessageFromPublisher <0|1>]
[-OutputMessageFile <..>]
[(-Distributor <..>) | (-DistributorNetwork <..> -DistributorAddress <..>])
[-DistributorSecurityMode <0|1>]
[-DistributorLogin <..>]
[(-DistributorPassword | -DistributorEncryptedPassword) <..>]
[-MaxDownloadChanges <..>]
[-MaxUploadChanges <..>]
[-UploadGenerationsPerBatch <..>]
[-DownloadGenerationsPerBatch <..>]
[-UploadReadChangesPerBatch <..>]
[-DownloadReadChangesPerBatch <..>]
[-UploadWriteChangesPerBatch <..>]
[-DownloadWriteChangesPerBatch <..>]
[-SubscriberDBAddOption 0|1|2|3]
[-SubscriberDatabasePath <..>]
[-FileTransferType <0|1>]
[-FtpAddress <..>]
[-FtpPort <..>]
[-FtpUserName <..>]
[-FtpPassword <..>]
[-ExchangeType <1|2|3>]
[-AltSnapshotFolder <..>]
[-SyncToAlternate <0|1>]
[-DynamicSnapshotLocation <..>]
[-Continuous ]
[-Output <..>]
[-OutputVerboseLevel <0|1|2>]
[-LoginTimeout <..>]
[-QueryTimeout <..>]
[-DefinitionFile <..>]
[-AlignFixup ]
[-KeepAliveMessageInterval <..>]
-Publisher <..>
-PublisherDB <..>
[-PublisherSecurityMode <0|1>]
[-PublisherLogin <..> ]
[-PublisherPassword <..> ]
[-Distributor <..> ]
[-DistributorSecurityMode <0|1>]
[-DistributorLogin <..> ]
[-DistributorPassword <..> ]
[-Buffers <..> ]
[-SyncLogging]
[-HistoryVerboseLevel <0|1|2> ]
[-PacketSize <..>]
[-ReadBatchSize <..>]
[-ReadBatchThreshold <..> ]
[-MaxCmdsInTran <..>]
[-PollingInterval <..>]
[-MessageInterval <..>]
[-Continuous ]
[-Output <..>]
[-OutputVerboseLevel <0|1|2>]
[-LoginTimeout <..>]
[-QueryTimeout <..>]
[-DefinitionFile <..>]
[-AlignFixup ]

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

Replication Distribution Agent

Утилита Replication Distribution Agent получает конфигурацию и запускает Distribution Agent, который перемещает снимок (для репликации снимков и репликации транзакций), определённый в таблицах базы данных дистрибутора (для репликации транзакций), в таблицы назначения подписчика. Distribution Agent запускается для каждой публикации и исполняется на подписчике при pull-подписке, а при push-подписке, он работает на дистрибуторе.
Если Вы запускаете службу SQL Server Agent под учетной записью локальной системы (значение по умолчанию), а не под учетной записью пользователя домена, служба сможет обращаться только к локальному компьютеру. Если Distribution Agent, работа которого управляется SQL Server Agent, будет при этом использовать для доступа к экземпляру SQL сервера Windows Authentication Mode, Distribution Agent не сможет работать. Параметр по умолчанию - SQL Server Authentication.

Replication Snapshot Agent

Утилита Replication Snapshot Agent получает конфигурацию и запускает Snapshot Agent, который готовит файлы снимка, содержащие схему (метаданные) и данные изданных таблиц и объектов базы данных, сохраняет файлы в папке моментальных снимков и создаёт синхронизирующее по расписанию задание в базе данных дистрибутора. Кроме того, Snapshot Agent фиксирует информацию о состоянии синхронизации в базе данных дистрибутора. Самостоятельно Snapshot Agent не занимается распространением созданных им снимков. При репликации снимками, этот агент запускается настолько часто, на сколько необходимо обеспечить приемлемую периодичность обеспечения синхронности подписанных баз данных. Для репликации транзакций или слиянием он может обновляться реже, вплоть до того момента, когда возникнет необходимость подключения нового подписчика.

Replication Merge Agent

Утилита Replication Merge Agent получает конфигурацию и запускает Merge Agent, который применяет первоначальный, моментальный снимок, указанный в таблицах базы данных подписчика. Также он обеспечивает репликацию слиянием инкрементных изменений данных, которые произошли на издателе после создания первоначального снимка или последнего сеанса синхронизации, и урегулирует конфликты согласно установленных Вами правил или с использованием Вашего самодельного резольвера.
Для репликации слиянием Merge Agent исполняет ещё и роли Distribution Agent и Snapshot Agent, которые при таком виде репликации не используются.

Replication Log Reader Agent

Утилита Replication Log Reader Agent получает конфигурацию и запускает Log Reader Agent, который контролирует журнал регистрации транзакций каждой базы данных, указанной для репликации, и копирует транзакции, отмеченные для репликации из журнала транзакций в базу данных дистрибутора. При репликации транзакций, на издателе запускается свой Log Reader Agent для каждой базы данных, использующей этот вид репликации.

Параметры запуска утилит репликации

Параметр командной строки Значение Краткое описание
-Publisher server_name[\instance_name] Задаёт имя сервера - издателя (server_name). Укажите server_name для экземпляра Microsoft SQL Server 2000 по умолчанию. Укажите server_name\instance_name для именованного экземпляра SQL Server 2000.
-PublisherDB publisher_database Задаёт имя издаваемой базы данных
-Subscriber server_name[\instance_name] Задаёт имя сервера - подписчика (server_name). Укажите server_name для экземпляра Microsoft SQL Server 2000 по умолчанию. Укажите server_name\instance_name для именованного экземпляра SQL Server 2000.
-AltSnapshotFolder alt_snapshot_folder_path Задаёт UNC - путь к папке, которая содержит первоначальный, моментальный снимок для соответствующей подписки.
-BcpBatchSize bcp_batch_size Задаёт числом строк, используемых в операциях массового копирования. При выполнении операций bcp in, указываемый размер пакета - это число строк, которые посылаются серверу как одна транзакция, а также число строк, которые должны быть посланы, что бы Distribution Agent зарегистрировал в журнале очередной шаг в последовательности операций bcp. При выполнении операций bcp out, используется установленный по умолчанию размер пакета равный 1000. Значение 0 соответствует отсутствию регистрации шагов bcp.
-Buffers number_of_buffers Задаёт число буферов, доступных для асинхронных транзакций. Значение по умолчанию равно 2. Увеличение этого числа может способствовать повышению эффективности за счёт сокращения листания (memory paging) памяти. Однако, большое число установленных буферов увеличивает объем памяти, выделяемой для листания. Оценить эффективность изменения этого параметра можно наблюдая за тем, как изменяется время подключений между подписчиком и дистрибутором.
-CommitBatchSize commit_batch_size Задаёт число транзакций, которые будут исполнены подписчиком прежде, чем будет исполнена инструкция COMMIT. Значение по умолчанию равно: 100.
-CommitBatchThreshold commit_batch_threshold: Задаёт число команд репликации, которые будут исполнены подписчиком прежде, чем будет исполнена инструкция COMMIT. Значение по умолчанию равно: 1000.
-Continuous   Принуждает агента пытаться непрерывно копировать транзакции. Если этот параметр задан, агент пытаться копировать транзакции из источника в соответствии с установленным интервалом опроса, даже если никаких транзакций не произошло.
-DefinitionFile def_path_and_file_name Задаёт путь к файлу аргументов утилиты агента. Файл аргументов утилиты агента содержит параметры командной строки для утилиты агента. Содержимое файла парсится как исполняемый файл. Используйте двойные кавычки, чтобы указывать между ними значения параметров, содержащие произвольные символы.
-Distributor distributor или server_name[\instance_name] Задаёт имя дистрибутора. Для дистрибутора push-подписки, по умолчанию используется имя локального дистрибутора.
Для Merge Agent и Log Reader Agent вместо distributor используется server_name, являющееся именем сервера - дистрибутора. Укажите server_name для экземпляра Microsoft SQL Server 2000 по умолчанию. Укажите server_name\instance_name для именованного экземпляра SQL Server 2000. Для дистрибутора push-подписки, по умолчанию используется имя локального экземпляра сервера-дистрибутора.
-DistributorAddress distributor_address Задаёт строку сетевого подключения для сетевой библиотеки, определенной в опции DistributorNetwork. Если в опции DistributorNetwork сетевая библиотека задана как сокет TCP/IP (TCP/IP Sockets Net-Library), то строка подключения задаётся в формате: 'address,socket'
-DistributorLogin distributor_login или server_name[\instance_name] Задаёт имя логина дистрибутора. Для Snapshot Agent вместо distributor_login указывается server_name, являющееся именем этого сервера. Укажите server_name для экземпляра Microsoft SQL Server 2000 по умолчанию. Укажите server_name\instance_name для именованного экземпляра SQL Server 2000.
-DistributorNetwork distributor_network Задаёт имя сетевой библиотеки (без указания расширения .DLL), которая используется для соединения с дистрибутором. Эта опция полезна при соединении через Internet.
-DistributorPassword distributor_password Задаёт пароль дистрибутора.
-DistributorSecurityMode [0|1] Определяет режим безопасности дистрибутора. Значение 0 (по умолчанию) соответствует режиму аутентификации SQL Server, а значение 1 соответствует Windows Authentication Mode.
-ErrorFile error_path_and_file_name Задаёт путь и имя файла ошибок, который будет генерировать Distribution Agent. Этот файл будет создан в случае появления любых ошибок при применении транзакций репликации на подписчике. Этот файл содержит неудавшиеся транзакции репликации и связанные с этим сообщения об ошибках. Когда файл не указанный, он создаётся в текущем каталоге Distribution Agent. Имя этого файла ошибок будет состоять из имени Distribution Agent с расширением ".err". Если указанное имя файла уже существует, сообщения об ошибках будут добавлены в конец к файла.

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

[Содержание]

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

Отечественные статьи

Работа с базами данных с помощью DAO
Всё больше программ использует для хранения данных базы данных. Один из инструментов для работы с базами данных - библиотека DAO (Data Access Objects). О ней и пойдёт речь в этой статье...
XML. Обзор языка
XML является результатом более чем полувековой работы программистов - разработчиков гипертекстовой системы представления информации. Однако приложения, реально использующие эту систему, появились только в середине 60-х годов, когда стало необходимо объединить множество информационных ресурсов в единый комплекс...
Как не нужно писать веб сервисы
Суммарий нашего опыта использования технологии .Net XML Web Services, представленный в виде "от противного"....

[Содержание]

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

BUG: Cannot Upload Null Values in Sql_variant Data Type by Using SQL Server CE Merge Replication
FIX: Optimizer May Consume Too Much Memory if Address Windowing Extensions (AWE) is Enabled
FIX: Property_Content_Type Is Set to 0 in Local Cube When You Use the CREATE GLOBAL CUBE Statement
FIX: Subquery That Returns One Row May Cause CPU Spin and Excessive Optimizer Memory Usage
Handle Leak Occurs in SQL Server When Service or Application Repeatedly Connects and Disconnects with Shared Memory Network Library
INF: Transaction Log Grows Unexpectedly or Becomes Full on SQL Server
INF: Transact-SQL Debugger Is Turned Off By Default for Earlier Clients After You Install SQL Server 2000 Service Pack 3
PRB: User in Two Roles May Cause Query Execution Failure

[Содержание]

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

Why Secure the Database?
Steve Jones
You're behind a firewall. Port 1433 (for SQL Server) is blocked. You've got passwords set on the accounts used by the web server, ERP software, etc. You've got intrusion detection, virus scanners, even an information security group. Why bother with the other database Servers? Consider this
Streamlining the Database Server Recovery Process
Gregory Larsen
Are you tired of manually restoring each database on a new server when the original server has a melt down? Does the manual process seem slow, and prone to keystoke and mouse click errors? Would you like to have those restore scripts automatically built, so you only have to fire them off? Well this article will show you one possible method for speeding up and reducing errors will trying to perform a restore of all databases on a server
SQL Server 7.0 Replication FAQ and common problems
Narayana Vyas Kondreddi
Replication Monitor is an interface provided by SQL Server 7.0 Enterprise Manager (EM), which allows you to monitor the activity of each replication agent individually AND the activity of all agents at the publication level
Implementing row level security in SQL Server databases
Narayana Vyas Kondreddi
As you can see, there is lack of information on this topic of "Implementing security at row level". So, I decided to propose a solution for this issue through this article. I hope it gives you a head start, if you are planning to implement row level security
Using SQL's EXISTS Predicate to Identify Missing Data
Susan Sales Harkins
Sometimes, knowing that data is missing is just as important as finding data that exists. Use SQL's EXISTS predicate to select data based on the presence (or absence) of other values

[Содержание]

ПОЛЕЗНОСТИ

Рассылка: Обучение программированию в среде 1С:Предприятие.
Написано так просто, что разберутся даже чайники. Небольшие комплексные примеры показывают, что на 1С можно быстро и легко создавать работающие системы как по мановению волшебной палочки! ВНИМАНИЕ: Последние выпуски рассылки посвящены новой версии 1С:Предприятие 8.0. Подпишитесь и вы изучите эту систему раньше всех! Кроме того, на официальном сайте рассылки www.mista.ru есть бесплатный Учебник по 1С для программистов, статьи про 1С, учебные конфигурации и многое другое! Посмотрите!

Форма быстрой подписки:

Волшебство программирования
в среде 1С:Предприятие

[Содержание]

ФОРУМ SQL.RU

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

Интересно, реально ли выбрать одну случайную запись из таблицы [new]
Обсуждение объектной БД [new]
Значение переменной по её имени ? [new]
Восстановление базы откатом [new]
Помогите SQL20002 + 1C неделю Бъюсь [new]
Что лучше- клиент или сервер? [new]
Помогите с репликациями!!! [new]
задачка для развлечения :); [new]
Русские названия полей, таблиц и.т.д. [new]
Как в цикле пройти все строки таблицы ... [new]
Что такого хитрого делает INSERT? [new]
Разобрать строку [new]
Как правильно сделать full join нескольких таблиц [new]
Как в динамический запрос запихнуть переменную? [new]
SQL_DMO and user-defined function [new]
Как найти истинного пользователья [new]
"Пустое значение" Null [new]
Мой кривой триггер [new]
Application Role [new]
minus в PL/SQL, а как в TransactSQL ? [new]
Помогите плз., совсем запарился, Linked Servers(Access) + JOB [new]
count и индексы [new]
Хранимая процедура пожирает все ресурсы :'-( [new]
Можно ли восстановить БД из backup без log-файла? [new]
Странное поведение SQL 2000 [new]
GetDate() в UDF [new]
Почему хранимые процедуры вылетают по таймауту ? (Delphi --> ADO --> MS SQ [new]
Помогите составить запрос [new]
Из-за чего может произойти блокировка? [new]

[Содержание]

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

ADO и миллисекунды - ответ Microsoft! [new]
Русский контент в БД [new]
Access97 - SQL2000Srv. Глюки с размерами больших полей. [new]
Повторная установка SQL Server 7.0 на Win98 [new]
Получение данных из Excel [new]
Таймаут или 686 фикспак [new]
Заработал поиск по сайту [new]
Интересно, а почему я могу не видеть Web Assistant в MS SQL Server 2K ? [new]
Standart feature of SQL Server [new]
SQL2k SP3 [new]
Как копировать User type [new]
ADO.Recordset и cached update [new]

[Содержание]

#117<<  #118

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

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

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




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

В избранное