У меня на моем компьютере установлены два SQL-сервера (SQL2008 EXPRESS), а также SQL2008, который поставляется с конкретным программным обеспечением, которое мы используем. Мне нужно сделать службу, которая работает все время и в определенное время обновляет несуществующие записи в SQL2008 EXPRESS из SQL2008. Можете ли вы предложить способ сделать это? В настоящее время лучшее, что я получил, это сделать локальную копию в файле excel, но это приведет к 365 файлам excel в год, которые я не считаю хорошей идеей :)
ps извините, если мой английский плохой :)
Я смущен, когда вы упоминаете Excel. Что бы Excel имел какое-либо отношение к перемещению данных из одной базы данных SQL в другую?
Короткий ответ: если вам нужна служба С#, тогда напишите службу С#, которая копирует данные непосредственно из одной базы данных в другую. Проблема, которую вы пытаетесь решить, не очень ясна.
Сказав все это, и с моим ограниченным пониманием проблемы, похоже, что вам нужно SQL-задание, которое планируется запустить один раз в день, копируя данные с одного сервера на другой. Поскольку это похоже на то, что они находятся на отдельных экземплярах, вам просто нужно настроить связанный сервер в исходной или целевой базе данных и либо нажимать, либо вытаскивать данные в правильную таблицу (таблицы).
РЕДАКТИРОВАТЬ:
Хорошо, поэтому, если служба Windows является требованием, это вполне приемлемо. Но, как я уже упоминал, вы должны забыть о Excel. Вы не захотите перейти из SQL-> Excel-> SQL, если у вас нет другой причины для существования данных в Excel.
Вот некоторая информация о создании службы Windows: Самый простой язык для создания службы Windows
Вот простой учебник по доступу к SQL на С#: http://www.codeproject.com/Articles/4416/Beginners-guide-to-accessing-SQL-Server-through-C
Если вы хотите получить более формальное решение (прочитайте: уровень доступа к данным), я бы указал вам на Entity Framework. Сложность проекта, вероятно, будет определяющим фактором для того, хотите ли вы просто выполнять SQL-запросы в своем коде, а не с полным DAL.
Для этого вам не нужно вручную создавать собственное программное обеспечение. Для этого есть сторонние инструменты, такие как OpenDbDiff или RedGate dbdiff. Эти инструменты генерируют дифференциальный sql, который можно применить к вашей целевой базе данных.