Sql способы взаимодействия с сервером


Содержание

Как обеспечить взаимодействие MS SQL Server и MySQL

Есть база access типа файл-файл
Вот-вот таблицы переедут на SQL сервер, а запросы будут переделаны на запросы к серверу. И будет файл-сервер.
Сервер — это обычный комп (разве что мощнее немного остальных), который к локальной сети подключён.

А теперь о сути вопроса: есть необходимость на сайте сделать страничку, где при вводе, например, номера паспорта и ещё чего-нибудь будет осуществляться поиск по базе и выводиться определённый результат туда же — на сайт.
Причём не хочется хранить на MySQL все таблицы, а только те, по которым поиск будет вестить и результат выводиться.

Так вот — как быть? Если тут SQLServer, а там MySQL. Как связать? Как наладить? Что вообще делать и с чего начинать? Какая идея и принцип?

03.09.2014, 15:19

Microsoft SQL Server Management studio 17 не подключается к mysql server 5.7
Проще говоря studio его вообще не видит, пишу чтобы подключился (имя указываю то, которое вводил.

Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS SQL Server?
ВОПРОС: Как настроить MS SQL Server, чтобы через Access, можно было редактировать таблицы MS.

переделать с MySQL в MS SQL Server
SELECT r.RouteID, a1.AirportName AS FromAiroirt, a2.AirportName AS ToAirport, r.Distance FROM.

Синхронизация SQL Server и MySQL
Здравствуйте! Имеется (или точнее сказать будет иметься) база данных магазина. В Базе не менее 20.

03.09.2014, 16:20 2 03.09.2014, 21:11 [ТС] 3

Перелапатил десяток бесплатных хостингов с MySQL, но ни к одной из этих бах подключиться не могу.
В строчке Сервер нужно же указывать адрес база дынных типа kzkzkz.com?
нифига не выходит.
Где можно гарантированно законектиться?

Добавлено через 3 часа 26 минут
Ice_and_Fire,

Спасибо за ссылки. Удалось найти хостинг с MySQL, который поддреживает удалённый доступ к базе.
Скачал драйвер для ODBC. Подключил MySQL успешно.
Создал в SQL SERVER связанный сервер.
Попробовал написать запрос к серверу:

Добавлено через 18 минут
Ice_and_Fire,

заработало другое:
SELECT * FROM OPENquery(My_SQL, ‘Select * from Autumn’)

А как добавить данные в таблицу? Причём не из MySQL, а из SQLServer, которая на компьютере?
Т.е. добавить, например, из базы base из таблицы Клиент все поля ИД_Клиента в базу mysql (связанные сервер под именем My_SQL) в таблицу autumn в поле ИД.
Причём не совсем добавить, а обновить новыми значениями, а старые оставить?

04.09.2014, 10:17 4

Update какой-нибудь, не знаю my_sql. Что-то там было типа INSERT ON DUPLICATE KEY UPDATE

Добавлено через 14 минут
«MERGE openquery» попробуй вместо «INSERT openquery». Не пробовал для линка

04.09.2014, 10:17
04.09.2014, 12:20 [ТС] 5

Ну, а как мне добавить поля не из MySQL, а из SQL Server, который на компе?

Это куда добавлять.

а это откуда. А как добавить из SQL SERVER?

а про merge — это здорово)

04.09.2014, 15:23 6
04.09.2014, 15:33 [ТС] 7
04.09.2014, 15:48 8
04.09.2014, 15:51 [ТС] 9

Сообщение 156, уровень 15, состояние 1, строка 2
Неправильный синтаксис около ключевого слова «SELECT».
Сообщение 102, уровень 15, состояние 1, строка 2
Неправильный синтаксис около конструкции «)».

04.09.2014, 16:13 10
04.09.2014, 16:15 [ТС] 11
04.09.2014, 17:09 12
04.09.2014, 17:18 [ТС] 13

заработало без скобок квадратных:

Добавлено через 5 минут
invm,

может подскажете ещё в одном деле.
Для простоты (просто до этого я пытался самостоятельно разобраться) я писал не к MySQL, а просто к SQL SERVER.
Короче. Может скажете, как быть:

04.09.2014, 17:26 14
04.09.2014, 23:01 [ТС] 15

мг. Не знал о таком) Спасибо.

И ещё вопрос — можно ли будет результат запроса с ипользованием представления, записать потом в таблицу в определённое поле?

Добавлено через 5 часов 30 минут
invm,

создал представление count_ost

Запрос на добавление на связанном сервере MySQL

05.04.2015, 01:44 16

подскажите — дибильный может быть вопрос — бьюсь третий час — не могу создать связанный сервер в ms sql
пишет такую ошибку

ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————

Ошибка соединения со связанным сервером.

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

Не удалось проинициализировать объект источника данных поставщика OLE DB «MSDASQL» для связанного сервера «LINKED_MYSQL».
Поставщик OLE DB «MSDASQL» для связанного сервера «LINKED_MYSQL» вернул сообщение «[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию». (Microsoft SQL Server, ошибка: 7303)

что делаю не так?
пытался подключиться как указано в этой статье

Добавлено через 1 час 36 минут
вроде как создать корректно получилось — теперь другая беда

ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————

Ошибка соединения со связанным сервером.

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

Поставщик OLE DB «MySQL_LINK» не зарегистрирован. (Microsoft SQL Server, ошибка: 7403)

причем вроде как регистрацию выполнил как по этой сцылке

sql clr методы взаимодействия с удаленным ms sql сервером через wcf duplex

Задача: выгрузить данные из удаленного mssql express 2012 на централку (mssql2012) средствами централки.

Имеем удаленный сервер, у которого нет входящих соединений. Интернет есть. Прилинковывать центральный — не хочу. На централке есть веб-сервер. На удаленном тоже можно развернуть.

Решение: На центральном веб-сервере разворачиваем duplex wcf (мост). На удаленном коннектимся к нему, создавая себя как подписчика. С другой стороны на центральном sql сервере создаем clr модуль, чз который обращаемся через мост к подписчику.

Все это работает.

Проблема в том, как организовать одновременный доступ к каналу подписчика из нескольких sql-запросов одновременно. Два пути: организовать и запретить. И там и там вопрос: как.

Взаимодействие PHP и MySQL

В дистрибутив PHP входит расширение, содержащее встроенные функции для работы с базой данных MySQL . В этой лекции мы познакомимся с некоторыми основными функциями для работы с MySQL , которые потребуются для решения задач построения web-интерфейсов с целью отображения и наполнения базы данных . Возникает вопрос, зачем строить такие интерфейсы? Для того чтобы вносить информацию в базу данных и просматривать ее содержимое могли люди, не знакомые с языком запросов SQL . При работе с web-интерфейсом для добавления информации в базу данных человеку нужно просто ввести эти данные в html-форму и отправить их на сервер , а наш скрипт сделает все остальное. А для просмотра содержимого таблиц достаточно просто щелкнуть по ссылке и зайти на нужную страницу.

Для наглядности будем строить эти интерфейсы для таблицы Artifacts , в которой содержится информация об экспонатах виртуального музея информатики. В предыдущей лекции мы уже приводили структуру этой коллекции, а также ее связи с коллекциями описания персон (Persons) и изображений (Images). Напомним, что каждый экспонат в коллекции Artifacts описывается с помощью следующих характеристик:

  • название (title);
  • автор (author);
  • описание (description);
  • альтернативное название (alternative);
  • изображение (photo).

Название и альтернативное название являются строками менее чем 255 символов длиной (т.е. имеют тип VARCHAR(255)), описание — текстовое поле (имеет тип TEXT ), а в полях » автор » и «изображение» содержатся идентификаторы автора из коллекции Persons и изображения экспоната из коллекции Images соответственно.

Построение интерфейса для добавления информации

Итак, у нас есть какая-то таблица в базе данных. Чтобы построить интерфейс для добавления информации в эту таблицу, нужно ее структуру (т.е. набор ее полей) отобразить в html-форму .

Разобьем эту задачу на следующие подзадачи:

  • установка соединения с БД ;
  • выбор рабочей БД ;
  • получение списка полей таблицы ;
  • отображение полей в html-форму .

После этого данные, введенные в форму, нужно записать в базу данных. Рассмотрим все эти задачи по порядку.

Установка соединения

Итак, первое, что нужно сделать, — это установить соединение с базой данных. Воспользуемся функцией mysql_connect .

Данная функция устанавливает соединение с сервером MySQL и возвращает указатель на это соединение или FALSE в случае неудачи. Для отсутствующих параметров устанавливаются следующие значения по умолчанию:

Если функция вызывается дважды с одними и теми же параметрами, то новое соединение не устанавливается, а возвращается ссылка на старое соединение. Чтобы этого избежать, используют параметр new_link , который заставляет в любом случае открыть еще одно соединение.

Параметр client_flags — это комбинация следующих констант: MYSQL_CLIENT_COMPRESS (использовать протокол сжатия), MYSQL_CLIENT_IGNORE_SPACE (позволяет вставлять пробелы после имен функций), MYSQL_CLIENT_INTERACTIVE (ждать interactive_timeout секунд — вместо wait_timeout — до закрытия соединения).

Параметр new_link появился в PHP 4.2.0, а параметр client_flags — в PHP 4.3.0.

Соединение с сервером закрывается при завершении исполнения скрипта, если оно до этого не было закрыто с помощью функции mysql_close() .

Итак, устанавливаем соединение с базой данных на локальном сервере для пользователя nina с паролем «123» :

SQL сервер

Общие сведения o SQL сервере

SQL сервер — программа, которая предназначена для хранения базы данных и обеспечения доступа к этим данным из других программ. В SQL Server включена поддержка языка XML и протокола HTTP, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу. Сложный доступ к данным используется для надежности их хранения. SQL сервер позволяет резервное копирование в любой момент рабочего дня без отключения пользователей. Также если размер вашей базы данных стремиться к гигабайту и продолжает увеличиваться, то SQL сервер единственно возможный метод обеспечения ее функционирования.

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

подключение по OLE DB — набор интерфейсов, основанных на СОМ, которые позволяют приложениям обращаться к данным, хранимым в разных источниках информации или хранилищах данных с помощью унифицированного доступа. Этот способ является наиболее рекомендуемым и современным вариантом;

подключение по Open DataBase Connectivity (ODBC) — интерфейс взаимодействия приложений с системами управления базами данных (СУБД);

подключение с использованием BDE (Borland Database Engine) — доступ к базам данных из C++ Builder, Delphi;

подключение по JDBC, который позволяет приложениям под управлением Java соединяться с Microsoft SQL Server.

Установка SQL сервера 2000

Перед началом установки вставьте CD с Windows SQL 2000 в CD-ROM и запустите любой из менеджеров (Windows Explorer, Total Commander). Найдите в каталоге CD найдите Setup.bat и запустите его.

Перед Вами стартовое окно. Опция “Install Database Server” позволяет начать процесс установки сервера SQL 2000. Для этого нажимаем Next. Существует три варианта установки SQL, выберите необходимый:

Local Computer– установка сервера SQL на локальный компьютер;

Remote Computer – установка сервера SQL на удаленный компьютер по сети;

Virtual Server – установки сервера SQL в кластер серверов.

Описание будет проводится так, якобы была выбрана установка сервера на локальный компьютер.

Выбираем следующие опции:

Create a new instance, or install Client Tools – позволяет установить новый экземпляр сервера SQL и инструменты клиента (Client Tools)

Upgrade, remove, or add components – позволяет работать с уже установленным экземпляром.

Advance options – позволяет создавать индивидуальные установочные файлы, восстанавливать ключи регистра и поддерживать Виртуальные Серверы.

Мы выберем Create a new instance, or install Client Tools и нажмем Next.

В полях Name и Company вводим имя и компанию, нажимаем Next. Когда перед Вами появится окошко с правилами использования, нажимаем Yes (да, мы согласны с условиями лицензии).

Теперь следует выбрать тип инсталляции.

Client Tools Only — установить клиентскую часть для работы с удаленным SQL сервером.

Server and Client Tools — установить клиентскую часть и SQL сервер на одном компьютере.

Connectivity only – установить Data Access Components (DAC) и Сетевые библиотеки (Network Libraries), так чтобы приложения могли получать доступ к экземпляру сервера SQL.

Если у Вас в сети уже есть установленный «удаленный» SQL сервер, выбирайте Client Tools Only, иначе — Server and Client Tools. Нажимаем Next.

Необходима помощь специалистов? Оставьте заявку. Мы с Вами свяжемся.

Если выбран режим Default, то сервер SQL будет установлен как экземпляр по умолчанию. Но если Вы хотите, Вы можете установить именованный экземпляр. Для этого выключите переключатель Default и введите имя экземпляра в поле Instance Name. Нажимаем кнопочку Next.

Теперь определим объем инсталляции.

Typical – установка обязательных файлов и наиболее часто используемых необязательных файлов.

Minimum – установка только обязательных файлов.

Custom – можно самостоятельно определить, какую конфигурацию SQL сервера Вы желаете установить.

Так же нужно выбрать папки для Program Files и Data Files, в которые будет производиться инсталляция. Next.

Сервер SQL 2000 использует две учетные записи: для агента сервера (Server Agent) SQL и для самого сервера SQL. Теперь пора определиться: использовать ли одну и ту же учетную запись для обеих служб или же будут созданы отдельные учетные записи для каждой службы отдельно. Если Вы будете использовать только одну учетную запись, тогда нужно еще выбрать, будет она локальной учетной записью (local system account) или учетной записью пользователя домена (domain user account). Если Вы пользуетесь только одним сервером SQL в сети, и Вы не планируете его взаимодействие с другими серверами SQL или удаленными серверами, Вы можете использовать только локальную учетную запись. Для примера выберем “Use the same account for both services. Autostart SQL Server Agent Service”, “Use the Local System account”.

Режим аутентификации для доступа к базам данных может осуществляться операционной системой либо сервером SQL. Лучше вариант “Windows Authentication Mode”, при котором все идентификации обрабатываются через систему безопасности Windows для пользователей и групп.

Выбор способа сортировки символов (collation) по умолчанию. Выберите “SQL Server Collations”, “Dictionary order, case-insensitive, for use with 1252 Character Set”, а затем нажмите Next.

Теперь выберите сетевые библиотеки. Сохраните настройки по умолчанию и нажмите кнопку Next.


После возникновения в окошке надписи «Setup has enough information to prompt you for the licensing mode information and start copying the program files. Click Back to review or change the settings, otherwise click Next to proceed.» Чтобы продолжить установку, нажмите Next.

Введите тип и число лицензий, которые вы приобрели и нажмите кнопку Continue.

Установка благополучно завершена.

Теперь, чтобы найти инструменты, которые используются для работы с сервером SQL, щелкните мышью на кнопке Start на панели инструментов и выберите меню Programs и Microsoft SQL Server.

Установка SQL сервера 2005

Некоторые действия для установки сервера SQL 2005 совпадают с теми, которые мы выполняем при установке сервера 2000. Но, во избежание каких-либо проблем, давайте рассмотрим установку SQL сервера 2005 с самого начала до конца.

Сначала запустите программу-установщик. Перед Вами возникнет стартовое окно. Нажимаем кнопку Далее.

На следующем шаге будет произведена проверка возможных проблем при установке. Если все необходимые требования выполнены, нажмите Далее.

Регистрация сведений. Вам необходимо заполнить поле «Имя», поле «Компания» можно не заполнять. Нажимаем кнопку Далее.

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

Как и при установке SQL сервера 2000 можно создать именованный экземпляр или экземпляр по умолчанию. Если Вы хотите установить именованный экземпляр, введите в поле ввода его имя. Нажмите Далее.

Настраиваем учетные записи служб. Если Вы хотите настроить каждую учетную запись отдельно, поставьте соответствующий флажок. Выберите тип учетной записи и службы, которые будут запущены, после установки. Нажмите Далее.

При установке SQL сервера нужно выбрать режим авторизации «Mixed Mode» (Смешанный режим (режим проверки подлинности Windows и режим проверки подлинности SQL Server)). Также необходимо установить пароль для учетной записи «sa». Нажмите Далее.

Необходима помощь специалистов? Оставьте заявку. Мы с Вами свяжемся.

Определяем режим сортировки данных для сервера. Порядок сортировки следует установить как «Cyrillic_General». Ставим галочку на пункте «С учетом диакритических символов» (по умолчанию уже стоит). Нажмите Далее.

Теперь настраиваем параметры конфигурации. Если Вы поставите галочку на Включить пользовательские экземпляры, тогда пользователи, которые не имеют разрешение администратора, смогут запустить отдельный экземпляр компонента SQL Server. Если установить галочку на Добавить пользователя к роли «Администратор SQL Server«, тогда пользователь, который запустил программу установки SQL Server Express, будет добавлен к роли «Системный администратор». Нажмите Далее.

Если Вы хотите помочь корпорации Майкрософт улучшить некоторые компоненты и службы SQL Server 2005, можете отметить галочками интересующие Вас пункты. Понятное дело — это не является обязательным. Нажимаем Далее.

Когда появится окошко с сообщением «Все готово для установки», нажмите Установить.

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

После завершения установки программы, нажмите Готово.

Вот в общем-то и все) Удачи при установке.

Установка SQL сервера 2008

Установка SQL сервера 2008 имеет свои особенности, поэтому мы не будем останавливаться только на отличиях от установки сервера 2005, а пройдем с Вами весь путь.

Запустите программу-установщик с правами администратора.

В разделе «Планирование» нажмите пункт «Средство проверки конфигурации» (на рисунке обычно изображен молоточек и гаечный ключ).

Теперь нажмите кнопку «Показать подробности» и убедитесь, все ли проверки пройдены успешно. Если были обнаружены какие-либо проблемы, необходимо их устранить и запустить проверку, нажав «Включить заново». Нажмите ОК.

Далее заходим в раздел «Установка». Выбираем пункт «Новая установка изолированного SQL Server или добавление компонентов к существующему экземпляру».

Снова нажмите кнопку «Показать подробности» и убедитесь, все ли проверки пройдены успешно. Если были обнаружены какие-либо проблемы, необходимо их устранить и запустить проверку, нажав «Включить заново». Нажмите ОК.

Введите приобретенный ключ продукта (если версия бесплатная, ключ не требуется) и нажмите Далее.

Прочитайте условия лицензии и поставьте галочку, что вы с ними согласны. Нажмите Далее.

Для установки файлов поддержки программы установки нажмите Установить.

Нажмите кнопку «Показать подробности» и убедитесь, все ли проверки пройдены успешно. Если были обнаружены какие-либо проблемы, необходимо их устранить и запустить проверку, нажав «Включить заново». Нажмите ОК.

На данном этапе выберите компоненты для установки (можно использовать кнопку «Выделить все») и нажмите Далее. Обратите внимание, что для нормальной работы ПО следует установить Полнотекстовый поиск и для управления самим SQL сервером необходимо выбрать Средства управления — основные.

Выберите опцию «Экземпляр по умолчанию» или «Именованный экземпляр». Во втором случае задайте имя экземпляра. Нажмите Далее.

Проверьте данные по месту на диске для компонентов SQL сервера и нажмите Далее.

Выберите опции, как показано ниже, и перейдите на закладку «Параметры сортировки».

Определяем режим сортировки данных для сервера. В обоих случаях следует установить «Cyrillic_General». Нажмите Далее. Чтобы изменить опцию, нажмите расположенную рядом кнопку «Настройка» и установите необходимые параметры (порядок сортировки следует установить как «Cyrillic_General» и поставить галочку на пункте «С учетом диакритических символов»).

Теперь выберите опцию «Смешанный режим» и задайте пароль для учетной записи администратора «sa». Можно указать и дополнительные учетные записи пользователей Windows. Далее перейдите на закладку «Каталоги данных».

Введите путь к папке, в которой будут размещены файлы баз данных, в поле «Корневой каталог данных». Нажмите кнопку Далее.

Теперь задаем режим настройки служб Reporting Services. Выберите Установить конфигурацию по умолчанию для работы в собственном режиме и нажмите Далее.

Если Вы хотите помочь корпорации Майкрософт улучшить некоторые компоненты и службы SQL Server 2008, можете отметить галочками интересующие Вас пункты. Понятное дело — это не является обязательным. Нажмите Далее.

Нажмите кнопку «Показать подробности» и убедитесь, все ли проверки пройдены успешно. Если были обнаружены какие-либо проблемы, необходимо их устранить и запустить проверку, нажав «Включить заново». Нажмите ОК.

Нажмите кнопку Установить.

По завершению установки нажмите Далее.

После появления окна с надписью «Установка SQL Server 2008 успешно завершена» нажмите Закрыть.

А теперь лучше компьютер перезагрузить.

Правила формирования имен объектов SQL сервера

При задании имен создаваемых объектов серверов и баз данных, которые создаются на сервере, MS SQL задает ряд правил, пердставленных ниже.

максимальная длина имени — 128 символов для SQL Server 7.0

первым символом имени должна быть буква латинского алфавита или один из символов: @, _, #. Все остальные символы — буквы латинского алфавита, цифры или символы $, #, _.

в идентификаторе не допускается использование внутренних пробелов.

лучше не использовать в качестве имени зарезервированные слова SQL Server.

символы @ и # имеют специальное значение, когда они применяются в качестве первого символа: @ означает переменную, а символ # объявляет именуемый объект временным объектом. Объект, который начинается с двух знаков ## — глобальный временный объект.

Статьи на схожую тематику:

Остались вопросы? Мы с радостью поможем Вам в их решении.

Создание клиент-серверных приложений Текст научной статьи по специальности « Автоматика. Вычислительная техника»

Аннотация научной статьи по автоматике и вычислительной технике, автор научной работы — Гайнанова Р.Ш., Широкова О.А.

В статье рассматриваются способы разработки клиент-серверных приложений в среде Microsoft SQL Server 2012 на примере создания проекта «Отдел кадров», включающего базу данных «Кадры». Рассматриваются способы создания базы данных в среде SQL Server Management Studio. В проекте поддерживается работа с тремя основными типами запросов, сохраняемыми в базе данных на сервере: представления , хранимые процедуры , пользовательские функции . Созданное с использованием локальной версии сервера приложение перенесено на удаленный сетевой SQL-сервер .

Похожие темы научных работ по автоматике и вычислительной технике , автор научной работы — Гайнанова Р.Ш., Широкова О.А.,

Текст научной работы на тему «Создание клиент-серверных приложений»

Р. Ш. Гайнанова, О. А. Широкова

СОЗДАНИЕ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ

Ключевые слова: клиент-серверные приложения, Microsoft SQL Server 2012, база данных, представления, хранимые процедуры, пользовательские функции, локальная версия сервера, удаленный сетевой SQL-сервер.

В статье рассматриваются способы разработки клиент-серверных приложений в среде Microsoft SQL Server 2012 на примере создания проекта «Отдел кадров», включающего базу данных «Кадры». Рассматриваются способы создания базы данных в среде SQL Server Management Studio. В проекте поддерживается работа с тремя основными типами запросов, сохраняемыми в базе данных на сервере: представления, хранимые процедуры, пользовательские функции. Созданное с использованием локальной версии сервера приложение перенесено на удаленный сетевой SQL-сервер.

Keywords: client-server applications, Microsoft SQL Server 2012, database, views, stored procedures, user-defined functions, a local

version of the server, a remote network SQL-server.

This article discusses how to develop a client-server application in Microsoft SQL Server 2012 environment through the creation of «Human Resources» project, which includes the database «Personnel». The methods to create a database in SQL Server Management Studio environment are considered. The project uses the work of the three main types of queries, stored in a database on the server: views, stored procedures, user-defined functions.Created using a local version of the server application is moved to a remote network SQL-server.

В статье рассматриваются способы разработки клиент-серверных приложений в среде Microsoft SQL Server 2012 [1,2,3,4,5], причем рассматривается случай, когда Microsoft SQL Server 2012 установлен на локальном компьютере. Созданное с использованием локальной версии сервера приложение будет полностью пригодно для работы с базой данных на большом сетевом SQL-сервере. После завершения разработки, переместив базу с локального компьютера на сервер и модифицировав информацию о соединении, проект можно подключить к удаленному серверу. Кроме того, использование локального варианта SQL-сервера позволяет изучить средства управления базами клиент-серверной архитектуры при наличии одного компьютера.

Программное обеспечение архитектуры «клиент-сервер» состоит из двух частей: программного обеспечения сервера и программного обеспечения пользователя — клиента. Программа-клиент выполняется на компьютере пользователя и посылает запросы к программе-серверу, которая работает на компьютере общего доступа. Основная обработка данных производится мощным сервером, а на компьютер пользователя возвращаются только результаты выполнения запроса. В такой архитектуре сервер называется сервером баз данных.

Широко известными СУБД, используемыми в архитектуре «клиент-сервер», являются Microsoft SQL Server, Oracle, Sybase SQL Server и др. Эти СУБД являются реляционными SQL-серверами баз данных. СУБД архитектуры «клиент-сервер» может включать собственную клиентскую программу. В то же время в качестве клиентов сервера баз данных могут использоваться другие СУБД. Access также может работать в качестве клиента SQL-сервера. Для взаимосвязи клиентов с сервером разработано

специальное программное обеспечение. Широко используемыми интерфейсами таких взаимосвязей являются ODBC и OLE DB. Access предоставляет несколько способов взаимодействия приложения с данными сервера на основе интерфейса ODBC.

ODBC — это стандартный интерфейс между базой данных и приложением, взаимодействующим с ней. Наличие подобного стандарта позволяет любому приложению на клиентском компьютере получать доступ к любой базе данных на сервере с помощью SQL. Приложение получает доступ к конкретной базе данных, используя специально разработанный под нее драйвер (драйвер ODBC). Интерфейс ODBC состоит из четырех функциональных компонентов, именуемых уровнями ODBC. Благодаря каждому из них достигается гибкость ODBC, позволяющая взаимодействовать любым ODBC-совместимым клиентам и серверам. Между пользователем и данными, которые он хочет получить, процесс проходит четыре уровня интерфейса ODBC: приложение, диспетчер драйверов, драйвер DLL, источник данных.

С версии 2000 Access включает средства создания клиентских приложений Microsoft SQL Server, которые позволяют не только использовать существующие на сервере базы данных, но и создавать новые и взаимодействовать с ними на основе интерфейса OLE DB. OLE DB — это архитектура компонентов базы данных, реализующая эффективный доступ по сети и через Интернет к источникам данных многих типов, в том числе реляционным источникам данных, почтовым файлам, неформатированным текстовым файлам и электронным таблицам. Набор OLE-интерфейсов обеспечивает универсальный доступ к данным различного формата. В архитектуре OLE DB приложения, получающие доступ к данным, называют потребителями данных, например Access или Visual Basic. Программы, обеспечивающие внутренний доступ к данным, называют средствами

доступа к базам данных — провайдерами, например, Microsoft OLE DB Provider for Microsoft SQL Server (рис. 1) или Microsoft Jet 4.0 OLE DB Provider для доступа к базе данных Microsoft Access внешнего потребителя. При установке Microsoft Office или Microsoft Access автоматически инсталлируются провайдеры OLE DB.

Каждый провайдер требует определения специфического набора параметров для связи с источником данных. Для того, чтобы из проекта Access подключиться к базе данных Microsoft SQL Server, нужно определить имя сервера, имя базы данных, задать способ регистрации на сервере, имя пользователя, пароль.

Требуемый тип провайдера Microsoft OLE DB Provider for SQL Server выбирается проектом по умолчанию. Эти параметры сохраняются как строка связи с базой данных сервера в проекте Access. Кроме того, они могут сохраняться в udl-файле. Файлы подключения можно использовать просто для организации и управления сведениями, необходимыми для подключения к источникам данных OLE DB. Открывается диалоговое окно Свойства связи с данными (Data Link Properties), причем выбор типа провайдера Microsoft OLE DB Provider для SQL-сервера выполняется по умолчанию.

Рис. 1 — Схема взаимодействия проекта Accessи SQL-сервера в сети

Компоненты системы SQL Server 2012

Система SQL Server 2012 играет роль платформы данных с возможностью динамической разработки, обширной бизнес-аналитикой, с выходом за пределы реляционной модели, закладывая прочный фундамент, на котором могут строить ИТ инфраструктуру малые, средние и крупные организации. В состав SQL Server 2012 входят следующие компоненты[1]:

• Служба ядра БД (Database Engine). Основные компоненты БД, уведомлений и репликации. Ядро БД является сердцем SQL Server. Репликация повышает доступность данных, распределяя их по нескольким БД и разделяя нагрузку чтения данных по нескольким выделенным серверам БД.

• Аналитические службы (Analysis Services). Обеспечивают функциональность OLAP (Online Analytical Processing) и анализа данных для приложений бизнес-аналитики. Аналитические службы позволяют организации собирать данные из разных источников, например, реляционных баз данных и обрабатывать их различными способами.

• Службы интеграции (Integration Services). Предназначены для слияния данных из разнородных источников, загрузки данных в хранилища, витрины данных и пр.

• Службы отчетов. Включают диспетчер отчетов и сервер отчетов. Представляют полномасштабную платформу для создания,

управления и распространения отчетов. Сервер отчетов построен на стандартных технологиях Microsoft Internet Information Services (IIS) и Microsoft .NET Framework и позволяет использовать для обработки и хранения отчетов сочетание возможностей SQL Server и IIS.

• Service Broker. Ключевая часть БД, обеспечивающая организацию очередей и обмена сообщениями. Очереди используются для упорядочения задач, например, запросов, чтобы они выполнялись по мере высвобождения ресурсов. Сообщения обеспечивают передачу информации от одного приложения БД другому.

Объекты базы данных SQL Server

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

Таблицы — являются основной формой для сбора информации, содержат все данные в базах данных SQL Server. Каждая таблица представляет собой тип объекта, который имеет смысл для пользователей.

Индекс — структура на диске, связанная с таблицей или представлением, которая ускоряет поиск строк таблицы или представления. Индекс содержит ключи, созданные для одного или нескольких столбцов таблицы или представления. Эти ключи хранятся в виде B-древовидной структуры, что позволяет SQL Server, быстро и эффективно находить строку или строки, связанные

с ключевыми индексами. Существуют кластерные и не кластерные индексы.

Представления являются запросами на выборку. Они выполняют извлечение данных из таблиц с помощью инструкции языка SQL SELECT и реализуют одно их основных назначений базы данных — предоставлять информацию пользователю. Результатом выполнения инструкции SELECT является таблица. Представления — это просто хранящиеся в базе данных SELECT-инструкции. С точки зрения пользователей представление — это таблица, которая не хранится постоянно в базе данных, а формируется в момент обращения к ней.

Хранимая процедура — это сохраненный набор инструкций языка Transact-SQL, выполняемый как единое целое. Хранимая процедура является специальной программой из совместно откомпилированных команд Transact-SQL, сохраняемой в базе данных SQL Server и выполняемой по вызову клиента. В хранимых процедурах могут выполняться любые инструкции Transact-SQL, в том числе инструкции добавления, изменения и удаления данных (INSERT, UPDATE и DELETE). Хранимая процедура может принимать и возвращать параметры.

Триггеры представляют собой объекты базы данных, связанные с таблицей. Во многом они похожи на хранимые процедуры и часто упоминаются как «особый вид хранимых процедур». Основное различие между триггером и хранимой процедурой в том, что триггер связан с таблицей и работает только при работе выражения INSERT, UPDATE или DELETE.

Пользовательские функции,подобно функциям языков программирования, являются

подпрограммами Transact-SQL, которые принимают параметры, выполняют некоторое действие, например сложный расчет, и возвращают результат этого действия в виде значения. Функции подразделяются на скалярные, возвращающие единственное значение заданного типа данных, и табличные, возвращающие таблицы (значение типа table). Вызов функции сопровождается круглыми скобками, даже если она не имеет параметров. Пользовательские функции не могут выполнять действия, изменяющие состояние базы данных. Изменениям может подвергаться только возвращаемый набор данных. Пользовательские функции делают возможным модульное программирование, не требуют повторного синтаксического анализа и оптимизации при каждом вызове, что значительно ускоряет их выполнение.

Этапы разработки клиент-серверных приложений

В статье рассматриваются этапы разработки клиент-серверных приложений [5] на примересоздания проекта «Отдел кадров», включающего базу данных «Кадры». Персонал любой организации представлен его кадрами. Состав и структура кадров постоянно меняется в соответствии и с изменением техники, технологии, организации производства и управления. Состав

кадров характеризуется следующими показателями: образовательный уровень, специальность, профессия, квалификация, стаж работы, возраст, соотношение отдельных категорий работников. Следовательно, кроме упорядочения работы кадрового отдела, предприятие получает с подобным проектом и более быстрый и качественный многофакторный анализ наиболее удобных принципов его функционирования [6].

Основным инструментом для управления БД и серверами является среда SQL Server Management Studio. Графический интерфейс этой среды упрощает управление серверами, БД и ресурсами [1]. В этой среде можно создавать базы данных. В выбранной базе данных можно создавать таблицы, представления, хранимые процедуры, функции разных типов. В окне этой среды все объекты представлены в виде дерева. Базы данных сервера, с которыми может работать пользователь, представлены в поддереве объектов SQL Server в папке «Базы данных». Папка «Безопасность» содержит список пользователей, имеющих доступ к серверу.

Разработка проекта начинается с создания на сервере БД «Кадры». В окне обозревателя объектов выполним команду «Создать базу данных». Создается таблица «Подразделения». Структура таблицы: номер подразделения (ключевое поле), название подразделения, руководитель

подразделения, телефон. Далее создается таблица «Сотрудники». Структура таблицы: ФИО, табельный номер (ключевое поле), номер подразделения (внешний ключ), должность, оклад. Кроме этого создаются множество других таблиц, например, таблица «Анкета», содержащая анкетные данные сотрудника; таблица «Табель» для ведения учета рабочего времени; «График отпусков», «Повышение квалификации» и т.д.

Новые таблицы создаются и изменяются в среде SQL Server Management Studio при помощи инструкций CREATE TABLE и ALTER TABLE. Для создания таблицы в окне БД выполним команду «Создать таблицу».

Имя столбца Тип данных Разрешить.

Назв_подразд nchar[30) \J\

Руксжод_подр nchar[30) [7\

Телефон ncharQ.0) 0

Рис. 2 — Вид окна «Создание таблицы»

Для создания таблицы «Сотрудники» введем следующую инструкцию: CREATE TABLE [dbo].[Сотрудники]( [ФИО] [nchar](30) NULL, [Таб_ном] [int] NOT NULL PRIMARY KEY, [Ном_подразд] [int] NOT NULL FOREIGN KEY REFERENCES Подразделения(Ном_подразд) ON DELETE CASCADE,

[Должность] [nchar](30) NULL, [Оклад] [money] NULL,

Ограничение FOREIGN KEY устанавливает связи между таблицами и обеспечивает ссылочную целостность. Внешний ключ одной таблицы указывает на потенциальный ключ другой. В таблицу с внешним ключом нельзя добавить строку при отсутствии соответствующего потенциального ключа. Предложение ON DELETE задает действия, производимые при попытке удаления строки, на которую ссылается внешний ключ. CASCADE- все строки с внешним ключом, ссылающимся на удаляемую строку, также удаляются.Ключевое слово REFERENCES указывает, что любое значение в столбце Ном_подразд должно находится в столбце Ном_подразд таблицы «Подразделение».

В нашем примере столбец Ном_подразд таблицы «Сотрудники» внешний ключ. Внешний ключ — это столбец одной таблицы, значения которого совпадают со значениями столбца, являющегося первичным ключом другой таблицы.

Проект Access является клиентским приложением, которое подключается к Microsoft SQL Server, расположенному в сети или на локальном компьютере. Проект Access, реализуя архитектуру «клиент-сервер», функционирует в среде Access и работает только с данными базы на SQL-сервере. Из проекта можно не только получить доступ к базе данных сервера, но и создать новую базу и ее объекты. Проект Access оснащен мощными графическими средствами, как для разработки клиентского приложения, так и базы данных на сервере. Проект Access хранится в файле типа adp (Access Data Project — проект доступа к данным). Он содержит только те объекты, которые составляют приложение: формы, отчеты, макросы и модули. В отличие от базы данных Microsoft Access проект не содержит данных или описаний структур объектов базы данных: таблицы, схемы базы данных, представления, хранимые процедуры и скалярные и табличные функции — объекты базы данных SQL-сервера — только отображаются в проекте Access.

При создании проекта «Отдел кадров» в MS Access выбирается вариант подключения к существующей на сервере базе данных[4]. Таблицы заполняются данными.

Для создания проекта Access, работающего с базой данных, размещенной на Microsoft SQL-сервере, необходимо на открывшемся после запуска Access окне в области «Новая база данных» щелкнуть на значке открытой папки, размещенном справа от поля «Имя файла»: откроется окно «Файл новой базы», в котором нужно выбрать тип файла «Проекты Microsoft Office Access (*.adp)», задать имя и папку для сохранения файла создаваемого проекта. Для завершения работы в этом окне нужно нажать кнопку OK, а в области «Новая база данных» нажать кнопку «Создать». Открывается окно, в котором выбирается один из двух вариантов: подключение к существующей на сервере базе данных или создание новой базы данных на сервере наряду с созданием проекта. Щелчком на кнопке «Да» начинается подключение к существующей на сервере базе данных. При этом открывается окно

подключения к серверу «Свойства канала передачи данных» (рис. 3), в котором, прежде всего, указывается имя сервера и способ регистрации пользователя на нем.

Далее создаются запросы для работы с БД. В проекте поддерживается работа с тремя основными типами запросов [2], сохраняемыми в базе данных на сервере: представления, хранимые процедуры, пользовательские функции. После создания они появляются в области навигации проекта. Из проекта их можно открывать, выполнять, но вносить изменения можно только на сервере.

Опишем создание встроенной функции, возвращающей табличное значение. Создадим запрос, позволяющий получить сведения о стаже работы сотрудника данного предприятия. В запрос включим поля: ФИО, Таб_номер, Дата_поступ, Стаж, где Стаж — вычисляемое поле. Стаж работы вычисляется по формуле: iif((MONTH(GetDate())-

MONTH(Анкета.Дата_поступ))>=0,Year(GetDateO)-Year(Анкета.Дата_поступ),Year(GetDateO)-Year(Анкета. Дата_поступ) -1)

Функция GetDate() возвращает текущую дату, функция MONTH — номер месяца, Year — год.

[j Свойст&а канала передачи данных

Соединение | Дополнительно | Все |

Для подключения к данным SQL Server укажите следующие сведения:

1. Выберите или введите имя сервера: B3Q2C N-8\TE5T_SQ L ^ | Обновить ] 2. Для входа в сервер использовать: (§) встроенную безопасность Windows NT О следующие имя и пароль пользователя:

^ С Пустой пароль О Разрешить сохранение пароля (§) Выберите базу данных на сервере:

© Присоединить файл базы данных с именем:

И спользуя имя файла:

QK [ Отмена | Справка |

Рис. 3 — Окно выбора параметров подключения к базе данных сервера

Для создания встроенной функции, возвращающей табличное значение, в среде SQL Server Management Stud^ окне обозревателя объектов выберем базу данных «Кадры»,откроем узел «Программирование», затем «Функции», щелкнем правой кнопкой узел «Функции, возвращающие табличное значение». В контекстном меню выберем команду «Создать встроенную функцию, возвращающую табличное значение». Указывается имя создаваемой функции (СтажРаботы), параметры не передаются. В предложении RETURNS задается ключевое слово TABLE, указывающее тип возвращаемого значения. Столбцы таблицы, возвращаемые такой функцией, определяются инструкцией SELECT. Тело функции представлено единственной командой RETURN,

после выполнения которой работа функции завершается.


CREATE FUNCTION Стаж Работы() RETURNS TABLE AS

SELECT Анкета.ФИО,Анкета.Таб_ном, Анкета.Дата_поступ, iif((MONTH(GetDate())-

MONTH(AHKeTa^aTa_noCTyn))>=0,Year(GetDate())-Year(Анкета.Дата_поступ),Year(GetDate())-Year(Анкета.Дата_поступ)-1) ASСтаж FROMdbo.Анкета )

Сохраним и выполним этот запрос. Если выполнение пройдет успешно, название функции появится в области навигации проекта. Откроем функцию в режиме таблицы. После сохранения инструкция создания встроенной функции CREATE FUNCTION меняется на инструкцию ALTER FUNCTION- инструкцию изменения встроенной функции.

Как пример опишем создание встроенной функции «Отпуск_за_данный_месяц». В функцию передается параметр — номер месяца и возвращается список сотрудников, уходящих в отпуск в данном месяце.

CREATE FUNCTION Отпуск_за_данный_месяц ( @Месяцт^ RETURNS TABLE AS

SELECT dbo.Сотрудники.ФИО, dbo.Сотрудники.Таб_ном,

FROM dbo.Сотрудники INNER JOIN

dbo.График_отпусков ON dbo.Gcтрудники.Таб_ном =

ФИО Таб но — Ном пор — Должность Начало отг | KoflJHE —

Михайлов 11 3 ИТ-специалист 2014-03-25 15

Хасанова 1 1 Бухгалтер 2014-03-25 15

Сунгатулина 15 4 Главный инженер 2015-03-20 15

— Борисов 19 4 Инженер 2015-03-25 15

Рис. 4 — Результат Отпуск_за_данный_месяц

Теперь опишем создание хранимой процедуры, возвращающей «Список сотрудников данного подразделения». Для создания хранимой процедуры в окне обозревателя объектов выберем базу данных «Кадры», откроем узел «Программирование», щелкнем правой кнопкой узел «Хранимые процедуры». В контекстном меню выберем команду «Создать хранимую процедуру». В процедуру передается параметр Номер_подразд. CREATE PROCEDURE СписокСотрудников @Номер_подразд int AS

SELECT dbo. Сотрудники.ФИО, dbo. Сотрудники. Таб_ном,

dbo. Сотрудники. Должность, dbo.Сотрудники. Оклад, dbo.

FROM dbo. Сотрудники INNER JOIN

dbo.Анкета ON dbo. Сотрудники. Таб_ном = dbo.

WHERE (Сотрудники. Ном_подразд = @Номер_подразд)

ФИО Табном • Должность • Оклад Адрес ‘ Телефон Ном_подра »

1 17 Инженер 30 000,00 Р ул.Каличева 7906546642 4

Борисов 19 Инженер зо 000,00 е ул.Толстого 7906486254 4

Рахимов 20 Практикант 20 000,00 Р ул.Мавлютовг 7941654989 4

Сунгатулина 16 Главный инже 50 000,00 9 ул.Хабиба 7906321596 4

Шакиров 18 ПОМОЩНИК ГЛё 45 000,00 Р ул.Полевая 7905046346 4

Рис. 5 — Результат процедуры сотрудников данного подразделения

Создадим главную форму управления приложением в виде формы с вкладками (рис. 6). На вкладках можно разместить формы, отчеты и удобно организовать работу специалиста с необходимыми при решении конкретных задач документами. При этом они всегда доступны и нет необходимости отвлекаться на поиск.

Для того чтобы форма открывалась сразу после открытия приложения создадим автоматически запускающийся при этом макрос АиЮЕхес. В макрос включается команда «Открыть Форму» с именем формы «Отдел кадров».

Рис. 6 — Вид одной из вкладок главной формы управления приложением

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

Выполнить перенос БД с локального сервера на сетевой можно разными способами, например, выполнив восстановление БД из резервной копииили используя возможности мастера копирования баз данных и т.д. Рассмотрим первый способ.

Первоначально действия производятся на локальном SQL-сервере, с которого осуществляется перенос данных. В среде SQL ServerManagement Studio в списке баз данных выбираем базу данных «Кадры». Открываем контекстное меню, выбираем пункт «Задачи» и ввыпадающем меню выбираем пункт «Создать резервную копию». Резервную копию будем создавать на диске.

Рис. 7 — Фрагмент окна «Резервное копирование базы данных»

Для выбора устройства, куда будет производиться копирование, нажимаем кнопку «Добавить». В открывшемся окне выбираем нужный диск и вводим имя создаваемой копии (рис. 7). Нажимаем «ОК». При успешном завершении копирования появляется сообщение: «Резервное копирование базы данных «Кадры» успешно завершено».

Дальнейшие действия производятся насетевом SQL-сервере, на которыймы переносим данные. Сетевой SQL Server 2012 работает под управлением Windows Server 2008. В Windows Server 2008 запускаем утилиту SQL ServerManagementStudio . В среде MS SQL ServerManagementStudio открываем контекстное меню на пункте «Базы данных» и выбираем пункт «Восстановить базу данных». В открывшемся окне указываем устройство, с которого будет производиться восстановление базы данных. Нажимаем кнопку с тремя точками и в открывшемся окне нажимаем кнопку «Добавить».

Указываем путь к ^bak-файлу резервной копии базы данных «Кадры». После всех настроек нажимаем кнопку «ОК». После удачного восстановления БД системный администратор для работника отдела кадров, отвечающего за работу сбазой данных, в домене Windows создает учетную запись. Затем создается имя входа и связывается с этой учетной записью. Определяются роли и разрешения на доступ для данного имени входа. Пользователь, обладающий с данной учетной записью, выбирается в качестве владельца базы данных «Кадры».

Система безопасности SQL Server строится на основе двух концепций: аутентификации и авторизации. Системный администратор, отвечающий за безопасность SQL Server, создает для каждого пользователя отдельный объект login. Этот объект содержит имя учетной записи пользователя SQL Server, его пароль, полное имя и другие атрибуты, предназначенные для управления доступом к базам данных SQL Server. Подключившись к SQL Server, пользователь получает доступ к тем базам данных, в которых зарегистрирована его учетная запись. Для того чтобы зарегистрировать учетную запись в конкретной базе данных, системный администратор

или владелец базы данных создает в ней имя пользователя базы данных и связывает ее с определенной учетной записью.

Для того чтобы ограничить возможности пользователя, системный администратор или владелец базы данных предоставляет данному пользователю базы данных (или роли, в которую он входит) разрешения на доступ к конкретным объектам и выполнение конкретных операций с этими объектами. Настройка ролей БД выполняется индивидуально для каждой БД, то есть у каждой БД свой собственный набор ролей. У одного пользователя может быть несколько ролей. Полномочия ролей могут быть следующие: добавление новых пользователей; создание, изменение и удаление объектов БД; выполнение резервного копирования БД; запрещение считывания и модификации данных; управление правом собственности, а также ролями базы данных и т.д.

Практическая значимость результатов данной работы заключается в разработкеклиент-серверного приложения в среде Microsoft SQL Server 2012.В качестве клиента SQL Server используется СУБД Access. Разработанное приложение соответствует основным критериям, предъявляемым кадровыми службами для автоматизированных систем. Созданное с использованием локальной версии сервера приложение перенесено на удаленный сетевой SQL-сервер. В работе реализован способ переноса БД с помощью резервного копирования. Рассмотрены полномочия пользователей и их ролей в БД. Определен владелец базы данных «Кадры». Владельцем созданы пользователи БД, каждый из которых наделен определенными полномочиями.

1. Станек Уильям Р. Microsoft SQL Server 2012. Справочник администратора. /СПб.: БХВ-Петербург, 2013. — 576с.

2. Аллен Тейлор. SQL для чайников, 8-е издание.: Пер. с англ. — М.: ООО «И.Д. Вильямс», 2014. — 416 с.

3. Бекаревич, Ю. Б. Самоучитель Access 2010/ Ю. Б. Бекаревич, Н. В. Пушкина. — СПб.: БХВ-Петербург, 2013. — 432 с.

4. Т. В. Зудилова, Г. Ю. Шмелева Создание запросов в Microsoft SQL Server 2008 — СПб: НИУ ИТМО, 2013. -149 с.

5. Гайнанова Р. Ш. Разработка приложения типа «клиент-сервер». //НАУКА, ОБРАЗОВАНИЕ И ИННОВАЦИИ: Сборник статей Международной научно-практической конференции (25 июня 2020г., г. Томск).ч.1/-С. 70-76.

6. Кошкина Л.Ю.,Емельянов В.М., Кошкина К. В. Проектирование реляционной базы данных для мероприятий повышения квалификации в области энергоресурсосберегающих технологий //Вестник Казан. технол. ун-та. 2014. Т. 17. № 20. С. 353-356.

Sql способы взаимодействия с сервером

В этом разделе описано, как создать связанный сервер и производить доступ к данным из другого экземпляра SQL Server с помощью среды SQL Server Management Studio или Transact-SQL. Путем создания связанного сервера вы можете работать с данными из нескольких источников. Связанный сервер не обязательно должен быть другим экземпляром SQL Server, хотя такой вариант часто встречается.

Связанные серверы позволяют выполнять распределенные разнородные запросы к источникам данных OLE DB. После создания связанного сервера можно выполнять распределенные запросы к этому серверу, причем в запросах могут соединять таблицы из нескольких источников данных. Если связанный сервер определен в качестве экземпляра SQL Server, на нем могут выполняться удаленные хранимые процедуры.

Возможности связанного сервера и необходимые аргументы могут сильно различаться. В примерах из этого раздела представлены типичные ситуации, но описаны не все параметры. Дополнительные сведения см. в статье sp_addlinkedserver (Transact-SQL).

Разрешения

При использовании инструкций Transact-SQL требуется разрешение ALTER ANY LINKED SERVER на сервер или членство в предопределенной роли сервера setupadmin. Для работы с Среда Management Studio требуется разрешение CONTROL SERVER или членство в предопределенной роли сервера sysadmin.

Можно использовать следующие параметры.

Среда SQL Server Management Studio

Использование среды SQL Server Management Studio

Создание связанного сервера для другого экземпляра SQL Server в среде SQL Server Management Studio

В среде SQL Server Management Studio откройте обозреватель объектов, разверните узел Объекты сервера, щелкните правой кнопкой мыши узел Связанные серверы и выберите команду Создать связанный сервер.

На странице Общие в поле Связанный сервер введите имя экземпляра SQL Server , с которым связывается область.

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

Другой источник данных
Укажите тип сервера OLE DB, отличный от SQL Server. Включение этой функции активирует дополнительные параметры, расположенные под ней.

Поставщик
Выберите источник данных OLE DB в окне списка. Поставщик OLE DB зарегистрирован в реестре с данным идентификатором PROGID.

Название продукта
Введите название продукта для источника данных OLE DB, который добавляется в качестве связанного сервера.

Источник данных
Введите имя источника данных согласно интерпретации поставщика OLE DB. При соединении с экземпляром служб SQL Server указывается имя экземпляра.

Строка поставщика
Введите уникальный программный идентификатор (PROGID) поставщика OLE DB, соответствующий источнику данных. Примеры допустимых строк поставщиков см. в статье sp_addlinkedserver (Transact-SQL).

Местоположение
Введите местонахождение базы данных, понятное поставщику OLE DB.

Каталог
Введите имя каталога, который следует использовать при соединении с поставщиком OLE DB.

Чтобы проверить возможность соединения со связанным сервером, щелкните его в обозревателе объектов правой кнопкой мыши и выберите команду Проверить соединение.

Если экземпляр SQL Server является экземпляром по умолчанию, то введите имя компьютера, на котором размещается экземпляр SQL Server. Если экземпляр SQL Server является именованным, введите имя компьютера и имя экземпляра, например Accounting\SQLExpress.

В области Тип сервера выберите SQL Server , чтобы показать, что связанные сервер является другим экземпляром SQL Server.

На странице Безопасность укажите контекст безопасности, который будет использоваться при подключении исходного экземпляра SQL Server к связанному серверу. В среде с доменами, где пользователи соединяются с именами входа домена, лучшим вариантом часто оказывается Выполнять с использованием текущего контекста безопасности имени входа . Если пользователи соединяются с исходным экземпляром SQL Server по имени входа SQL Server , то лучшим вариантом часто оказывается С использованием этого контекста безопасностис последующим указанием необходимых учетных данных для проверки подлинности на связанном сервере.

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

Impersonate
Передает имя пользователя и пароль из локального имени входа на связанный сервер. Для проверки подлинности SQL Server на удаленном сервере должны существовать учетные данные входа с тем же самым именем и паролем. Для имен входа Windows имя входа должно быть допустимым на связанном сервере.

Чтобы использовать олицетворение, конфигурация должна соответствовать требованиям, предъявляемым к делегированию.

Удаленный пользователь
Сопоставьте удаленного пользователя c пользователями, не определенными в локальном имени входа. Удаленный пользователь на удаленном сервере должен представлять собой имя входа для проверки подлинности SQL Server .

Пароль для удаленного входа
Указывает пароль удаленного пользователя.

Добавить
Добавляет новое локальное имя входа.

Удалить
Удаляет существующее локальное имя входа.

Не выполнять
Указывает, что для имен входа, не определенных в списке, соединение невозможно.

Выполняется без использования контекста безопасности
Указывает, что для имен входа, не определенных в списке, соединение будет выполняться без использования контекста безопасности.

Выполняется с использованием текущего контекста безопасности имени входа
Указывает, что для имен входа, не определенных в списке, соединение будет выполняться с использованием текущего контекста безопасности имени входа. При наличии соединения с локальным сервером с использованием проверки подлинности Windows для подключения к удаленному серверу будут использоваться учетные данные Windows. При наличии соединения с локальным сервером с использованием проверки подлинности SQL Server для подключения к удаленному серверу будут использоваться имя входа и пароль. В этом случае на удаленном сервере должны существовать учетные данные входа с теми же именем и паролем.

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

Для просмотра и установки параметров сервера можно также открыть страницу Параметры сервера .

Совместимые параметры сортировки
Влияет на выполнение распределенных запросов на связанных серверах. Если этот параметр установлен в значение true, то SQL Server предполагает, что все символы в связанном сервере совместимы с локальным сервером в зависимости от набора символов и параметров сортировки (или порядка сортировки). Это позволяет SQL Server отправлять поставщику сравнения по символьным столбцам. Если этот параметр не задан, SQL Server всегда выполняет сравнения по символьным столбцам локально.

Этот параметр необходимо задать только в том случае, если источник данных, соответствующий связанному серверу, имеет тот же набор символов и тот же порядок сортировки, что и локальный сервер.

Доступ к данным
Разрешает и запрещает доступ распределенных запросов к связанному серверу.

RPC
Включает RPC с определенного сервера.

RPC Out
Включает RPC на определенный сервер.

Использовать параметры сортировки удаленного сервера
Определяет, будут ли использоваться параметры сортировки удаленного столбца или локального сервера.

Если значение равно true, в источниках данных SQL Server используются параметры сортировки удаленных столбцов, а в не-SQL Server источниках данных — режим, заданный в имени параметров сортировки.

Если значение равно false, при распределенных запросах всегда будут использоваться установленные по умолчанию параметры сортировки на локальном сервере, в то время как имя параметров сортировки и параметры сортировки удаленных столбцов будут пропускаться. Значение по умолчанию — false.

Имя параметров сортировки
Позволяет задать имя параметров сортировки, используемое удаленным источником данных, если значение параметра «Использовать параметры сортировки удаленного сервера» равно true, а источник данных не является источником данных SQL Server. Этот имя должно быть одним из параметров сортировки, поддерживаемых SQL Server.

Этот параметр используется при доступе к источнику данных OLE DB, отличному от SQL Server, параметры сортировки которого совпадают с одним из параметров сортировки SQL Server .

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

Время ожидания соединения
Значение времени ожидания соединения со связанным сервером.

Если значение равно 0, используется значение, заданное через sp_configure по умолчанию, — remote login timeout.

Время ожидания запроса
Значение времени ожидания для запросов к связанному серверу, в секундах.

Если значение равно 0, используется значение, заданное через sp_configure по умолчанию, — remote query timeout.

Разрешить продвижение распределенных транзакций
Используйте этот параметр, чтобы защитить действия процедуры между серверами посредством транзакции координатора распределенных транзакций (Майкрософт) (Microsoft DTC). Если этот параметр имеет значение TRUE, то вызов удаленной хранимой процедуры приводит к запуску распределенной транзакции и прикрепляет к выполнению транзакции MS DTC. Дополнительные сведения см. в статье sp_serveroption (Transact-SQL).

Нажмите кнопку ОК.

Просмотр параметров поставщика

Чтобы просмотреть доступные параметры поставщика, откройте страницы Параметры поставщиков .

У всех поставщиков нет общего набора доступных параметров. Например, некоторые типы данных могут быть индексированы, а некоторые нет. Используйте это диалоговое окно, чтобы ознакомить службы SQL Server с возможностями поставщика. SQL Server устанавливает несколько общих поставщиков данных, однако при изменении продукта, поставляющего данные, поставщик, установленный с помощью SQL Server , может не поддерживать все новейшие функции. Лучшим источником сведений о возможностях продукта, поставляющего данные, является документация по продукту.

Динамический параметр
Указывает, что поставщик разрешает использовать синтаксис маркеров параметров «?» для параметризованных запросов. Установите этот параметр только в том случае, если поставщик поддерживает интерфейс ICommandWithParameters и символ «?» в качестве маркера параметров. Установка этого параметра позволяет SQL Server выполнять параметризованные запросы к поставщику. Возможность выполнять параметризованные запросы к поставщику может повысить производительность некоторых запросов.

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

Только нулевой уровень
Для поставщика вызываются только интерфейсы OLE DB уровня 0.

Допускать в ходе процесса
SQL Server разрешает создание экземпляра поставщика в виде внутрипроцессного сервера. Если этот параметр не установлен, поведением по умолчанию является создание экземпляра поставщика вне процесса SQL Server. Создание экземпляра поставщика вне процесса SQL Server защищает процесс SQL Server от ошибок в поставщике. Если экземпляр поставщика создается вне процесса SQL Server, обновления или вставки, ссылающиеся на длинные столбцы (text, ntext или image), не разрешаются.

Обновления без использования транзакций
SQL Server разрешает обновления, даже если недоступен интерфейс ITransactionLocal. Если этот параметр включен, обновления поставщика необратимы, поскольку этот поставщик не поддерживает транзакции.

Индекс в качестве пути доступа
SQL Server пытается использовать индексы поставщика для выборки данных. По умолчанию индексы используются только для метаданных и никогда не открываются.

Запретить нерегламентированный доступ
SQL Server не разрешает нерегламентированный доступ с помощью функций OPENROWSET и OPENDATASOURCE к поставщику OLE DB. Если этот параметр не задан, SQL Server также не разрешает нерегламентированный доступ.

Поддерживает оператор Like.
Указывает, что поставщик поддерживает запросы с использованием ключевого слова LIKE.

Использование Transact-SQL

Создание связанного сервера для другого экземпляра SQL Server с помощью Transact-SQL

В редакторе запросов введите следующую команду Transact-SQL, чтобы установить связь с экземпляром SQL Server с именем SRVR002\ACCTG :

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

Проверка связанного сервера

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

Создание запроса, соединяющего таблицы со связанного сервера

Для ссылки на объект, расположенный на связанном сервере, используйте четырехкомпонентные имена. Выполните следующий код, чтобы получить список всех имен входа на локальном сервере и соответствующих имен входа на связанном сервере.

Если для имени входа связанного сервера возвращается значение NULL, это значит, что имя входа не существует на связанном сервере. Такие имена входа не смогут использовать связанный сервер, если на нем не настроена передача другого контекста безопасности и он не принимает анонимные подключения.

BestProg

Создание связи (отношения) типа «один ко многим» между таблицами базы данных Microsoft SQL Server

В данной теме показано, как создавать связь (отношение) между таблицами по некоторому полю. Данная тема базируется на знаниях предыдущих тем:

Содержание

Условие задачи

Дана база данных Microsoft SQL Server . База данных размещается в файлах «MyDatabase.mdf» и «MyDatabase.ldf» . Загрузить архив с готовыми для работы файлами базы данных можно здесь.

В базе данных заданы две таблицы с именами Source и Emission. Таблица Source определяет источник загрязненных выбросов. Таблица Emission определяет время выбросов и число загрязненных выбросов, которое было сформировано источником.


Структура таблиц следующая.

Примечание
Название поля Тип данных Комментарий
ID_Source int Ключевое поле, уникальное поле (счетчик), первичный ключ
Name char[50] Название, строка символов
Address char[100] Адрес, строка символов
Название поля Тип данных Комментарий
ID_Emission int Ключевое поле, уникальное поле (счетчик)
ID_Source int Внешний ключ, значение Source.ID_Source
count float Количество выбросов
Text char[100] Комментарий
date datetime Дата и время выбросов

Используя средства системы Microsoft Visual Studio необходимо реализовать связь (отношение) «один ко многим» между таблицами Source и Emission по полю ID_Source.

Выполнение

1. Запуск Microsoft Visual Studio

Запустить систему визуальной разработки приложений Microsoft Visual Studio .

2. Создание/подключение базы данных

На этом шаге нужно подключить (или создать) готовую базу данных «MyDataBase.mdf» , которая состоит из двух файлов:

  • файл «MyDataBase.mdf» ;
  • файл «MyDataBase.ldf» .

После подключения окно Server Explorer будет иметь вид, как показано на рисунке 1.

Рис. 1. Окно Server Explorer после подключения базы данных «MyDataBase.mdf»

3. Поля ID_Source и ID_Emission

Следует отметить, что поля ID_Source и ID_Emission есть уникальными счетчиками. Такие поля используются в базах данных для обеспечения уникальности каждой записи таблицы.

Поле ID_Source таблицы Source есть первичным ключом.

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

4. Установление связи между таблицами
4.1. Снятие опции «Prevent saving changes that require table re-creation»

По умолчанию, система MS Visual Studio запрещает сохранение изменений, которые требуют повторного создания таблиц. Чтобы разрешить вносить изменения в таблицы нужно настроить (снять выделение) опцию

Для этого нужно выполнить следующую последовательность шагов:

  • перейти в меню Tools главного меню MS Visual Studio ;
  • в меню Tools выбрать команду «Options…» . В результате откроется окно «Options» (рисунок 2);
  • в левой части окна «Options» последовательно раскрыть вкладки «Database Tools» -> «Table and Database Designers» (рисунок 2);
  • выбрать элемент «Table and Diagram Options» . В результате в правой части окна активируется группа элементов «Table Options» ;
  • в группе «Table Options» снять пометку из опции «Prevent saving changes that require table re-creation» (рисунок 2) и подтвердить выбор (кнопка OK ).

После выполненных действий можно создавать связь между таблицами.

Рис. 2. Опция «Prevent saving changes that require table re-creation»

4.2. Установление первичного ключа ( Primary Key ) в таблице Source

Как видно из структуры таблиц (рисунок 1) общим для таблиц есть поле ID_Source. Связь между таблицами будет осуществляться по этому полю.

В таблице Source нужно установить поле ID_Source как «Первичный ключ» ( Primary Key ).

Чтобы установить первичный ключ нужно выполнить такие действия:

  • перейти в режим редактирования таблицы Source выбором команды «Open Table Definition» (рисунок 3). Откроется окно редактирования таблицы;
  • сделать клик правой кнопкой «мышки» на строке ID_Source и в контекстном меню выбрать команду «Set Primary Key» . В результате поле ID_Source будет обозначено как поле, которое есть первичным ключом (рисунок 5);
  • сохранить и закрыть таблицу Source .

Рис. 3. Команда «Open Table Definition»

Рис. 4. Установление первичного ключа в таблице Source

Рис. 5. Поле ID_Source в таблице Source после установления первичного ключа

В таблице Emission не обязательно устанавливать первичный ключ.

4.3. Создание связи между таблицами по полю ID_Source

Для создания связей между таблицами используется элемент “Database Diagrams» базы данных «MyDataBase.mdf» . Чтобы создать связь между таблицами нужно выполнить следующие действия:

  • с помощью клика правой кнопкой «мышки» вызвать контекстное меню (рисунок 6). В меню выбрать команду «Add New Diagram» . В результате, база данных создаст пустую диаграмму. Будет выведено окно «Add Table» добавления таблиц в диаграмму (рисунок 7);
  • поочередно выбрать нужные таблицы (Source, Emission) и подтвердить выбор нажатием на кнопке «Add Table» ;
  • закрыть окно «Add Table» .

Рис. 6. Команда добавления новой диаграммы

Рис. 7. Окно «Add Table» добавления таблиц в диаграмму

После выполненных действий окно диаграммы будет иметь вид, как показано на рисунке 8. Пока что таблицы не имеют связи между собой.

Рис. 8. Таблицы Source и Emission

Чтобы начать устанавливать отношение между таблицами, нужно сделать клик на поле ID_Source таблицы Source, а потом (не отпуская кнопку мышки) перетянуть его на поле Source таблицы Emission .

В результате последовательно откроются два окна: Tables and Columns (рисунок 9) и Foreign Key Relationship (рисунок 10), в которых нужно оставить все как есть и подтвердить свой выбор на кнопке OK .

В окне «Tables and Columns» есть такие поля (рисунок 9):

  • поле «Relationship name» . В этом поле задается имя объекта, который символизирует соединение (отношение) между таблицами. С помощью этого объекта (имени) можно управлять некоторыми свойствами связи (отношения). В нашем случае соединение (отношение) имеет название FK_Emission_Source ;
  • поле «Primary key table:» . Это поле задает таблицу, которая есть первичной по отношению к другой таблице. В нашем случае первичной есть таблица Source. Поле, которое служит первичным ключом таблицы имеет название ID_Source ;
  • поле «Foreign key table:» указывает название таблицы ( Emission ) и поля в этой таблице ( ID_Source ), которое есть внешним ключом.

Рис. 9. Окно настройки параметров связи (отношения) между таблицами

В окне «Foreign Key Relationship» настраиваются свойства соединения. Можно оставить все как есть.

Рис. 10. Настройка свойств соединения FK_Emission_Source

4.4. Диаграмма связи

После создания связи окно диаграммы будет иметь вид, как показано на рисунке 11.

Рис. 11. Вид диаграммы после установки отношения (связи) между таблицами Source и Emission

Как видно из рисунка, конец соединения (отношения), что примыкает к таблице Source имеет вид ключа. А конец соединения, которое примыкает к таблице Emission имеет вид знака бесконечность .

Это означает, что в таблице Source числовое значение в поле ID_Source может встречаться только один раз. А в таблице Emission числовое значение ID_Source может повторяться (бесконечное количество раз). Таким образом можно представить любое множество уникальных объектов, которые имеют свойство повторяться в некоторой предметной области.

После закрытия диаграммы ее нужно сохранить под некоторым именем, например Diagram1 (рисунок 12). Система выдаст соответствующее окно уточнения.

Рис. 12. Задание имени для диаграммы

Также, система может вывести окно сохранения таблиц в базе данных (рисунок 13), поскольку между таблицами уже существует отношение (связь). В этом окне нужно указать «Yes» .

Рис. 13. Окно сохранения таблиц в базе данных в связи с изменениями

После выполненных действий, диаграмма Diagram1 отобразится в окне Server Explorer (рис. 14). С помощью команд контекстного меню есть возможность управлять диаграммой. Так, например, команда «Design Database Diagram» переводит диаграмму в режим редактирования, в котором можно изменять связи между таблицами базы данных.

Рис. 14. Команда редактирования связей (отношений) между таблицами

5. Программное управление данными

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

Взаимодействие 1С и SQL

Имеется база данных на SQL. Администратор базы данных написал функцию генерирующую xml, мне сообщили, что надо передать в функцию 2 параметра — дата начала и дата окончания, а функция вернёт xml, который нужно обработать. Я не получал ранее файлы от SQL и, соответственно не работал с данным механизмом. Соответственно протестировал 2 варианта решения, по которым возникли вопросы.
1) создал внешний источник данных, к нему замечательно подключаюсь из конфигуратора и предприятия, все таблицы вижу. Создал функцию

При попытке выполнить функцию

2) выполняю функцию через ADODB.Connection и ADODB.Command
Получаю результат в виде Com объекта

Что с ним делать то? Мне бы получить двоичные данные или строку для дальнейшего сохранения

Как настроить и запустить Microsoft SQL Server

Порой так хочется привести свои мысли в порядок, разложить их по полочкам. А еще лучше в алфавитной и тематической последовательности, чтобы, наконец, наступила ясность мышления. Теперь представьте, какой бы хаос творился в « электронных мозгах » любого компьютера без четкой структуризации всех данных и Microsoft SQL Server :

MS SQL Server

Данный программный продукт представляет собой систему управления базами данных ( СУБД ) реляционного типа, разработанную корпорацией Microsoft . Для манипуляции данными используется специально разработанный язык Transact-SQL . Команды языка для выборки и модификации базы данных построены на основе структурированных запросов:

Реляционные базы данных построены на взаимосвязи всех структурных элементов, в том числе и за счет их вложенности. Реляционные базы данных имеют встроенную поддержку наиболее распространенных типов данных. Благодаря этому в SQL Server интегрирована поддержка программного структурирования данных с помощью триггеров и хранимых процедур.

Обзор возможностей MS SQL Server

СУБД является частью длинной цепочки специализированного программного обеспечения, которое корпорация Microsoft создала для разработчиков. А это значит, что все звенья этой цепи ( приложения ) глубоко интегрированы между собой.

То есть их инструментарий легко взаимодействует между собой, что во многом упрощает процесс разработки и написания программного кода. Примером такой взаимосвязи является среда программирования MS Visual Studio . В ее инсталляционный пакет уже входит SQL Server Express Edition .

Конечно, это не единственная популярная СУБД на мировом рынке. Но именно она является более приемлемой для компьютеров, работающих под управлением Windows, за счет своей направленности именно на эту операционную систему. И не только из-за этого.

Преимущества MS SQL Server :

  • Обладает высокой степенью производительности и отказоустойчивости;
  • Является многопользовательской СУБД и работает по принципу « клиент-сервер »;

Клиентская часть системы поддерживает создание пользовательских запросов и их отправку для обработки на сервер.

  • Тесная интеграция с операционной системой Windows ;
  • Поддержка удаленных подключений;
  • Поддержка популярных типов данных, а также возможность создания триггеров и хранимых процедур;
  • Встроенная поддержка ролей пользователей;
  • Расширенная функция резервного копирования баз данных;
  • Высокая степень защищенности;
  • Каждый выпуск включает в себя несколько специализированных редакций.
  • Эволюция SQL Server

    Особенности этой популярной СУБД легче всего прослеживаются при рассмотрении истории эволюции всех ее версий. Более подробно мы остановимся лишь на тех выпусках, в которые разработчики вносили весомые и кардинальные изменения:

    • Microsoft SQL Server 1.0 – вышел еще в 1990 году. Уже тогда эксперты отмечали высокую скорость обработки данных, демонстрируемую даже при максимальной нагрузке в многопользовательском режиме работы;
    • SQL Server 6.0 – вышел в 1995 году. В этой версии впервые в мире была реализована поддержка курсоров и репликации данных;
    • SQL Server 2000 – в этой версии сервер получил полностью новый движок. Большая часть изменений коснулась лишь пользовательской стороны приложения;
    • SQL Server 2005 – увеличилась масштабируемость СУБД , во многом упростился процесс управления и администрирования. Был внедрен новый API для поддержки программной платформы .NET ;
    • Последующие выпуски – были направлены на развитие взаимодействия СУБД на уровне облачных технологий и средств бизнес-аналитики.

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

    • SQL Server Configuration Manager :

    Диспетчер конфигурации. Позволяет управлять всеми сетевыми настройками и службами сервера базы данных. Используется для настройки SQL Server внутри сети.

    • SQL Server Error and Usage Reporting :

    Утилита служит для настройки отправки отчетов об ошибках в службу поддержки Microsoft .

    • SQL Server Surface Area Configuration

    Используется для оптимизации работы сервера базы данных. То есть вы можете настроить функционирование SQL Server под свои нужды, включив или отключив определенные возможности и компоненты СУБД .

    Набор утилит, входящих в Microsoft SQL Server , может отличаться в зависимости от версии и редакции программного пакета. Например, в версии 2008 года вы не найдете SQL Server Surface Area Configuration .

    Запуск Microsoft SQL Server

    Для примера будет использована версия сервера баз данных выпуска 2005 года. Запуск сервера можно произвести несколькими способами:

    • Через утилиту SQL Server Configuration Manager . В окне приложения слева выбираем « SQL Server 2005 Services », а справа — нужный нам экземпляр сервера БД . Отмечаем его и в подменю правой кнопки мыши выбираем « Start ».
    • С помощью среды SQL Server Management Studio Express . Она не входит в инсталляционный пакет редакции Express . Поэтому ее нужно скачивать отдельно с официального сайта Microsoft .

    Для запуска сервера баз данных запускаем приложение. В диалоговом окне « Соединение с сервером » в поле « Имя сервера » выбираем нужный нам экземпляр. В поле « Проверка подлинности » оставляем значение « Проверка подлинности Windows ». И нажимаем на кнопку « Соединить »:

    Основы администрирования SQL Server

    Перед тем, как запустить MS SQL Server , нужно кратко ознакомиться с основными возможностями его настройки и администрирования. Начнем с более детального обзора нескольких утилит из состава СУБД :

    • SQL Server Surface Area Configuration – сюда следует обращаться, если нужно включить или отключить какую-либо возможность сервера баз данных. Внизу окна находятся два пункта: первый отвечает за сетевые параметры, а во втором можно активировать выключенную по умолчанию службу или функцию. Например, включить интеграцию с платформой .NET через запросы T-SQL :
    • SQL Server Management Studio – является основным средством администрирования. В этой среде реализована возможность настройки сервера и баз данных, как через интерфейс приложения, так и с помощью запросов на языке T-SQL .

    Основные настройки можно осуществить через « Обозреватель объектов », отображающий слева в окне приложения все основные элементы сервера в виде древовидного списка. Самой важной является вкладка « Безопасность ». Через нее можно настроить права и роли пользователей и администраторов для основного сервера, или отдельно для каждой базы данных:

    Основная часть настроек сервера баз данных доступна в окне « Свойства сервера »:

    Как видите, Microsoft SQL Server является настолько мощным средством для структуризации, хранения и модификации данных, что на его изучение потребуется много времени. А в статье мы лишь слегка углубились в основы сервера SQL .

    Sql способы взаимодействия с сервером

    ������� ������ Microsoft SQL Server, � ����� �� ������� ��������� Client Network Utility.

    2003-11-06 09:49:36.17 server SQL server listening on TCP, Shared Memory, Named Pipes.
    2003-11-06 09:49:36.17 server SQL server listening on 192.168.1.5:1433, 127.0.0.1:1433.

    2001-11-14 15:49:14.12 server SuperSocket Info: Bind failed on TCP port 1433.

    287932 INF: TCP ports needed for communication to SQL Server through a firewall (����� TCP, ����������� ��� ����������� � SQL Server).
    269882 HOWTO: Use ADO to connect to a SQL Server that is behind a firewall (������������� ADO ��� ����������� � SQL Server ����� ������� �����).

    ��� ������������ ����������:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\ \MSSQLServer\LoginMode

    Windows authentication only

    Mixed mode (SQL Server Authentication and Windows authentication)

    ���� �� ��� ����������� � SQL Server ����������� �����������, ����� ���� �������� ������ ��� Secure Sockets Layer (SSL). �������� �������������� ���������� �� SSL ����� � ��������� �������:
    316898 HOW TO: Enable SSL encryption for SQL Server 2000 with Microsoft Management Console (��������� SSL ���������� ��� SQL Server ����� MMC).
    322144 FIX: SECDoClientHandShake cannot connect to SQL Server.

    2003-08-07 20:46:21.11 server Error: 17832, Severity: 20, State: 6
    2003-08-07 20:46:21.11 server Connection opened but invalid login packet(s) sent. Connection closed.

    ��� ��������� �������������� ����������, ���������� ��������� ������:
    154628 INF: SQL logs 17832 with multiple TCP\IP connection requests.
    328476 TCP/IP settings for SQL Server drivers when pooling is disabled.

    SQL Server Agent

    Microsoft Internet Information Services (IIS)

    SQL Server Enterprise Manager

    To determine if the instance of SQL Server has been started in single-user mode, check to see if the SQL Server error log file has an entry that is similar to following:
    2003-07-31 11:26:43.79 spid3 Warning ******************
    2003-07-31 11:26:43.80 spid3 SQL Server started in single user mode. Updates allowed to system catalogs.

    148942 How to capture network traffic with Network Monitor (������ �������� ������� � ������� �������� ��������)
    294818 Frequently asked questions about Network Monitor (����� ���������� ������� �� Network Monitor)
    169292 The basics of reading TCP/IP traces (������ ����������� TCP/IP)
    102908 How to troubleshoot TCP/IP connectivity with Windows 2000 or Windows NT (����� � ���������� ������� � ������������ TCP/IP � Windows 2000 � Windows NT)

    321708 HOW TO: Use the Network Diagnostics Tool (Netdiag.exe) in Windows 2000 (������������� Network Diagnostics Tool (Netdiag.exe) � Windows 2000)

    812817 Support WebCast: Microsoft SQL Server 2000: Troubleshooting connectivity
    319930 HOW TO: Connect to Microsoft Desktop Engine (��������� ����������� � Microsoft Desktop Engine)
    257434 INF: Network library in existing DSN replaced by network library in new DSN to the same SQL Server name
    306985 RPC errors when connecting a cluster virtual server with named pipes
    313062 HOW TO: Connect to a database by using Active Server Pages in Windows 2000
    313295 HOW TO: Use the server name parameter in a connection string to specify the client network library
    320728 HOW TO: Resolve «The maximum connection limit has been reached» error message
    328306 INF: Potential causes of the «SQL Server does not exist or access denied» error message (��������� ������� ��������� ��������� �� ������ «SQL-������ �� ����������, ��� ����������� ������»)
    247931 INF: Authentication methods for connections to SQL Server in Active Server Pages
    169377 How to access SQL Server in Active Server Pages
    328383 INF: SQL Server clients may change protocols when they try to connect
    238949 HOWTO: Set the SQL Server network library in an ADO connection string
    270126 PRB: How to manage client connectivity to both SQL Server 2000 virtual servers after an active/active cluster 7.0 upgrade
    316779 PRB: Clients with Force Protocol Encryption set on may fail to connect with an IP address
    216643 INF: ODBC/OLEDB connect options not seen when tracing connections to SQL Server 7.0
    265808 INF: How to connect to an SQL Server 2000 named instance with the previous version’s client tools
    191572 INFO: Connection pool management by ADO objects called from ASP
    313173 Sample connection pool manager for use with Microsoft SQL Server 2000 driver for JDBC
    237844 HOWTO: Enable ODBC connection pooling in a Visual Basic ADO application
    259569 PRB: Installing third-party product breaks Windows 2000 MDAC registry settings

    ���������� � ������ ��������� � Microsoft SQL Server 2000 Standard Edition.

    Илон Маск рекомендует:  Что такое код func_get_arg
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL