Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как реализовать синхронизацию баз на двух удаленных серверах?

Коллеги, приветствую!
Помогите, т.с., концептуально. В какую сторону копать?

Имеется некая сеть самостоятельных филиалов (~50), каждый из которых обладает некой самостоятельной базой (~40 Гб).
Необходимо реплицировать эти базы на некий центральный сервер (только восходящая репликация, от филиала на центральный сервер).
Требования к этой синхронизации:
0. Каждый филиал реплицирует данные в свою БД на центральном сервере.
1. Каналы связи между филиалами и центральным офисом - разной степени стабильности и не быстрые, 1-20 Мбит. Разрывы связи - возможны.
2. Базы в филиалах - OLTP, но поток изменения - небольшой.
3. Заказчик хочет видеть изменения в центральной базе максимально оперативно. С задержкой порядка ~10 сек. (в случае, если изменились данные, относящиеся к одному... ну, заказу, назовем так). Изменения затрагивают множество таблиц, но объем данных при этом - небольшой, и, в принципе, может быть передан даже со скоростью 1 Мбит за 3-5 секунд.
4. В случае, если объем изменившихся данных - большой, и/или связь прервалась - попытки связаться должны продолжаться пока ситуация не рассосется. И данные должны быть по итогу - переданы.
5. Обе базы всегда должны быть доступными на чтение/изменение. Разрыв связи между центром и филиалом никак не должен влиять ни на целостность данных, ни на оперативную доступность ни той, ни другой базы.
6. Все изменения в данных, которые сделает у себя центр (если таковые вдруг случатся) - должны быть перезатёрты данными из филиала.

Подскажите хотя бы в каком направлении копать? Логшиппинг? Стандартный? Самописанный? Миррор баз? Репликация?
Что-то руками колдовать?

Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
May 14 2014 18:34:29
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
Ответ: uaggster,

ну видимо придется выбирать между мерж и транзакционной репликацией . вот тут неплохо сравнили их . Могу от себя добавить, что мердж устойчива к падениям связи и есть механизмы для разруливания конфликтов, с другой стороны она сильнее грузит Publisher - на каждой таблице входящей в репликацию создаются триггеры на которых происходят некоторые действия с механизмом репликации и если лочится какая-нибудь служебная таблица репликационная, то ждут все процессы изменения данных в пользовательских таблицах. В транзакционной такого нет, там после коммита изменений данных в пользовательской таблице считываются закомиченная команда из лога транзакций и отправляется агентом в репликацию - выходит что транзакция в пользовательской таблице никак не связана с механизмом репликации и не ждет ничего.
Вопрос: Какая из указанных ниже служб необходима для обеспечения работы и связи с данными экземпля

На одном из серверов компании развернуто несколько экземпляров SQL Server 2008 R2, кроме того необходимо обеспечить публикацию данных о серверах в службе каталогов Active Directory. Какая из указанных ниже служб необходима для обеспечения работы и связи с данными экземплярами.
• SQL Server Browser
• SQL Server Agent
• Integration Services
Ответ:
vvv_1
для обеспечения работы и связи с данными экземплярами.
• SQL Server Browser
• SQL Server Agent
• Integration Services

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

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

Юзаю MySQL на хостингере, есть две таблицы между которыми должна быть связь, код исполняется без ошибок, но я ожидал ошибку!
Код SQL
1
2
3
4
5
6
7
8
DROP TABLE IF EXISTS zan;
 
CREATE TABLE IF NOT EXISTS zan (
    id_sotr INT(20) NOT NULL, 
    id_dis INT(20) NOT NULL,
        FOREIGN KEY(id_sotr) REFERENCES sotr(id));
 
INSERT INTO zan (id_sotr, id_dis) VALUES (1,2);
я назначил связь, к таблице "sotr", она пустая, по идее инструкция insert не должна сработать, потому что таблица "sotr" пустая. как так? при этом дизайнер тоже не отображает этой связи. может я не правильно организовал связь?
Ответ:
Сообщение от Prizrak86
чем определен тип таблицы, настройками сервера
Можно указать явно в CREATE TABLE. Если нет, то умалчиваемое значение задается в параметрах сервера.
Вопрос: Связь между SQL сервером и Orcale

Всем доброго времени суток.
Возникла такая необходимость, с БД SQL некоторые данные с таблиц так же дублировать и в БД Orcale.
Сам в SQL сервере не силен, будь это просто Orcale + Orcale не проблема, а вот как поднять связь между SQL и Oracle ума не преложу.
Сервера крутятся в одной локалке.
Буду весьма благодарен знающим людям, если подскажут и напрвят в нужное русло.
Ответ: folli,

Если нет BLOB, CLOB ( Varbinary(Max), Varchar(Max) )? то ничего сложного нет.
Oracle на какой OS?


Я бы из Oracle обращался к MS (предпочитаю забирать из сторонней базы, а не писать в неё)

Вариант Oracle обращается к SQL
1. На любом из серверов устанавливаем
у меня вариант, где основная база на AIX, и проще было настраивать
на стороне Windows, поэтому на сервере где MS SQL установил
Oracle Database (software only) и Oracle Database Gateways
использовал Oracle 11g
2. Настраиваем GateWay
...\dg4msql\admin\initSqlServ.ora
+

#
# HS init parameters
#
HS_FDS_CONNECT_INFO=sqlserver//Work
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

3. Настраиваем Listener
...\NETWORK\ADMIN\listener.ora
+

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = SqlServ)
(ORACLE_HOME = C:\Oracle\Ora11gDB64)
(PROGRAM = dg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sqlserver)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

3. Настраиваем tnsnames на сервере, где стоит Oracle
.../network/admin
+

mssql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = sqlserver)(PORT = 1521))
)
(CONNECT_DATA =
(SID = SqlServ)
)
(HS = OK)
)

4. Создаем DB_LINK в базе Oracle
create database link sqldb connect to "oracleuser" identified by "oracleuserpassword" using 'mssql'

5. Проверяем
select "id_firm","work_dir" from setup@sqldb

id_firmwork_dir
41Металлургическое производство


В обратную сторону не сложнее.
на SQL-сервер должен стоять провайдер для Oracle,
и используя его создаем связанный сервер
Вопрос: Тип адреса сервера базы данных

Возник вопрос:
К какому типу ссылок относится адрес сервера базы данных?
В строке соединения с сервером базы данных надо указать имя сервера.
Вот пример для MySQL:

Код C#
1
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Обычно, адрес сервера базы данных выглядит как обычная ссылка Веб страницы в интернете.
Например: mysqldatabase.com

В этой связи возникает вопрос к какому типу она относиться?
FTP, HTTP или что-то другое?

Вопрос задан не просто так.
Можно написать mysqldatabase.com, а можно
Ответ:
Сообщение от Vitukr
Обычно, адрес сервера базы данных выглядит как обычная ссылка Веб страницы в интернете.
Например: mysqldatabase.com
Это не адрес веб-страницы, это имя компьютера в сети. Адрес должен начинаться с протокола (например, .

Сообщение от Vitukr
В этой связи возникает вопрос к какому типу она относиться?
Ни к какому, потому что ссылкой не является.

Сообщение от Vitukr
Можно написать mysqldatabase.com, а можно
Это совершенно разные сущности. Вторая подразумевает, что на хосте mysqldatabase.com открыт порт 80 и его слушает служба, обрабатывающая запросы по протоколу HTTP. Первая же эквивалентна какому-нибудь 192.168.123.32 и ничего не говорит о сущности сервисов, работающих на этом компьютере.
Вопрос: Контроль соединения с сервером в приложении VFP

Народ,
Кто посоветует как лучще организовать котроль соединения с сервером в приложениях VFP?
Имеется ввтду случае при нестабильном канале связи происходит обрыв срединения и при попытке вполнить операции вставки, чтения или обновления данных на сервере происходит ошибка. Хотелось бы иметь технику самовосстановления в случае таких ситуаций, так как это работает к примеру в Entreprise Manager-e.
Всем спасибо
Ответ:
Valerii
Народ,
Кто посоветует как лучще организовать котроль соединения с сервером в приложениях VFP?
Имеется ввтду случае при нестабильном канале связи происходит обрыв срединения и при попытке вполнить операции вставки, чтения или обновления данных на сервере происходит ошибка. Хотелось бы иметь технику самовосстановления в случае таких ситуаций, так как это работает к примеру в Entreprise Manager-e.
Всем спасибо


Поиск по SQLIDLEDISCONNECT()
Вопрос: Посоветуйте сервер для oracle XE и jasper reports

Здравствуйте ввиду ограниченности средств надо рассчитать минимальное требование для сервера базы данных

количество пользователей от 10-15 человек

будут ставиться СУБД oracle и jasper reports
Ответ:
мемори мах таргет
какая связь с количеством пользователей?


У требований к серверу какая связь с кол-вом пользователей? Прямая.
И еще прямая с тем, что пользователи делают.

мемори мах таргет
целесообразный объем для сервера с учетом XEшности.


Я отвечал по опыту работы с XE. Его применяют, когда пользователей немного и нагрузки невелики. На 11 ГБ пользовательских данных это надо сильно коряво код писать, чтоб нагрузки большие получились. Для 10-15 пользователей оракл будет брать в районе 500 Мб оперативки, поэтому и указал минимальное требование 1 гиг.
Вопрос: Связь (Access & SQL)

Сейчас пытаюсь связать пользователя с SQL на сервере. Мне установили ODBC на пользовательской машине. Как я поняла, идет прямая связь с SQL. Таблицы не внедрены в интерфейс программу. Сами процедуры все работают.
Но в тех формах, где напрямую в источнике сидит таблица или же View таблица, то она не работает.
Может быть не тот ODBC установлен?
И почему на моей машине, где я админ получаю такие сообщения при связи с ODBC.
Мне сказали, что таблицы не должны сидеть в интерфейс файле, но по-моему это неверный подход.

К сообщению приложен файл. Размер - 118Kb
Ответ: guest_rusimport,

Спасибо за ссылку,
Сегодня правда не получилось что-либо сделать, может завтра получится, посмотрим.

studieren,

Просто как на сервере у меня было сделано, так и здесь пыталась тоже самое сделать, а тут это окошко выскочило, про DSN честно говоря, совсем и не думала, мне нужно было просто доступ к SQL сделать.
Вопрос: Создание связанного сервера

Всем доброго времени суток,
У меня такой вопрос.
При создании в SQL Server 2012 связанного сервера вылазит ошибка -ЗАГОЛОВОК: Microsoft SQL Server Management Studio
------------------------------
Связанный сервер был создан, однако не прошел проверку соединения. Сохранить связанный сервер?
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:

При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)

SQL Server Native Client 11.0 не поддерживает соединения с SQL Server 2000 или более ранними версиями.
Поставщик OLE DB "SQLNCLI11" для связанного сервера "192.168.35.230" вернул сообщение "Клиенту не удается установить связь". (Microsoft SQL Server, ошибка: 22)[/SIZE]

И в интернете я ничего не нашел полезного. Может кто знает что нужно сделать. До этого стоял 2008R2 сервер, параллельно ставил 2012, ну обновление сделал. НА том сервере стоит 2012 SQL. Заранее спасибо.
Ответ: получилось! спасибо. странно но на этом сервере есть база Notherwind. немного испугало такое)

Добавлено через 19 минут
но почему то таблицы пустые в базе. кажется что-то не так вышло(

Добавлено через 3 часа 51 минуту
в итоге таблиц нет, но сервер есть. это не есть гуд
Вопрос: Как создать сервер подключения в oracle sql development

В общем ребята помогите.
Установил oracle sql development. Запуская,нужно создать сервер базы данных.Прописываю все данные и пишет ошибку: сетевой адаптер не смог установить связь .Как создать БД?
Ответ:
Сообщение от jaguar4ik
И для чего нужен
В принципе пишут, что SQL Developer может работать без клиента (я сам не пробовал). Но клиент удобен для разных случаев, в том числе для диагностики того, дело в отсутствии коннекта с сервером или дело в самом SQL Dev. В состав клиента входят, в частности, SQL*Plus (можно использовать для тестирования подключения к БД да и просто для посылки SQL на сервер), утилиты экспорта/импорта, SQL*Loader, возможность использования конфигурационных файлов подключения tnsnames.ora и проч. Одним словом, жить с клиентом проще. Качается он с оф. сайта.

Разумеется, если на этом же компе установлен и сам сервер, то клиент не нужен (все нужное уже входит в состав сервера).