Обновление sql. Запросы SQL для обновления данных (UPDATE). Важные замечания по использованию центра обновления Майкрософт

11.05.2020 Обзоры 

Мастер установки SQL Server обеспечивает обновление на месте всех компонентов SQL Server до SQL Server 2016 с помощью единого дерева компонентов.

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

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

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

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

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

    Убедитесь в том, что существующие системные базы данных SQL Server (master, model, msdb и tempdb) настроены для автоматического увеличения и что для них имеется достаточно места на диске.

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

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

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

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

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

Обновление до SQL Server 2016

    Вставьте установочный носитель SQL Server, перейдите в корневую папку и дважды щелкните файл Setup.exe. Чтобы выполнить установку из общего сетевого ресурса, перейдите в его корневой каталог и дважды щелкните файл Setup.exe.

    Мастер установки запускает центр установки SQL Server. Чтобы обновить существующий экземпляр SQL Server, щелкните Установка в области навигации слева, затем выберите Обновление с SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 или SQL Server 2014 .

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

    На странице «Условия лицензии» просмотрите лицензионное соглашение. Если вы с ним согласны, установите флажок Я принимаю условия лицензионного соглашения и нажмите кнопку Далее . Чтобы помочь в улучшении SQL Server, можно также включить параметр наблюдения за использованием компонентов и отправлять отчеты в Microsoft.

    В окне «Глобальные правила» процедура установки автоматически перейдет к окну «Обновления продукта», если ошибок правил нет.

    Затем появится страница обновления Microsoft, если не установлен флажок обновления Microsoft в параметрах «Панели управления\Все элементы панели управления\Обновление Windows\Изменения». Установка флажка на странице обновления Microsoft изменит параметры компьютера так, чтобы применялись последние обновления при просмотре в центре обновления Windows.

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

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

    В окне «Обновление правил» процедура установки автоматически перейдет к окну «Выбор экземпляра», если ошибок правил нет.

    На странице «Выбор экземпляра» укажите экземпляр SQL Server , который необходимо обновить. Чтобы обновить общие компоненты и средства управления, выберите Обновить только общие компоненты .

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

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

    На странице «Конфигурация экземпляра» укажите идентификатор экземпляра SQL Server.

    Идентификатор экземпляра - по умолчанию имя экземпляра используется как идентификатор экземпляра. Предназначен для идентификации каталогов установки и разделов реестра для данного экземпляра SQL Server. Действует как для экземпляров по умолчанию, так и для именованных экземпляров. Для экземпляра по умолчанию именем и идентификатором экземпляра является «MSSQLSERVER». Чтобы задать идентификатор экземпляра, отличный от заданного по умолчанию, введите значение в поле Идентификатор экземпляра .

    Все обновления SQL Server (в том числе и пакеты обновления) применяются к каждому из компонентов экземпляра SQL Server.

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

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

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

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

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

    Примечание по безопасности. Не используйте пустые пароли. Выбирайте надежные пароли.

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

    На странице «Параметры обновления полнотекстового поиска» укажите параметры обновления для обновляемых баз данных. Дополнительные сведения см. в разделе .

    Если все правила удовлетворены, окно «Правила компонентов» автоматически сменится следующим.

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

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

    После установки на странице Завершение будет приведена ссылка на файл сводного журнала установки и даны другие важные примечания. Чтобы завершить процесс установки SQL Server , нажмите кнопку Готово .

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

После обновления до SQL Server выполните следующие задачи.

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

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

    Настройка новой установки SQL Server - чтобы уменьшить уязвимую контактную зону системы, SQL Server по выбору устанавливает и активирует ключевые службы и функции. Дополнительные сведения о настройке контактной зоны см. в файле Readme для данной версии.

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

В SQL, изменить запись в таблице БД можно с помощью команды UPDATE. В самом минимальном виде команда обновления данных выглядит следующим образом:

UPDATE таблица SET поле = значение

Здесь, UPDATE – команда указывающая, что запрос на обновление данных;

таблица – название таблицы, в которой будет проводиться изменения;

SET – команда, после которой через запятую указываются поля с назначаемыми им значениями;

поле – поле таблицы, в которое будет внесено изменение;

значение – новое значение, которое будет внесено в поле.


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

UPDATE goods SET price = 0

В этом случае, поле price абсолютно во всех имеющиеся строках таблицы примет значение 0.

Изменение одного значения

Изменение значения всех полей в таблице необходимо крайне редко. Чаще всего необходимо поменять значение какой-то конкретной записи. Для этого в завершении строки с командой UPDATE будет добавлена директива WHERE, в которой указывается условие, определяющее с какой именно строкой нужно выполнить операцию обновления.

Имеется таблица:

Для примера, нужно обновить стоимость товара с известным нам его значением num. Для этого, выполним следующий запрос:

UPDATE goods SET price = 150 WHERE num = 2

Теперь, перед операцией изменения полей, будет выбрана строка, удовлетворяющая условию num = 2. Такая строка в таблице одна. В этой стоке цена и будет изменена на значение 150. В результате получим таблицу с измененной ценой товара.

Внесение изменений в несколько строк с условием отбора

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

Например, мы хотим уменьшить в два раза цену всех товаров, которые сейчас стоят от 100 и более. Запрос:

UPDATE goods SET price = price / 2 WHERE price >= 100

Условие WHERE здесь содержит правило, по которому будут выбраны только товары с ценой равной или более 100, а те товары, цена у которых ниже 100, затронуты запросом не будут.

price = price / 2 – формула, по которой будет вычисляться новая цена товаров. Новая цена будет записана равной старой цене поделенной на два.

В результате выполнения такого запроса получим таблицу с измененными записями:

Обновление значений в нескольких полях строки

При необходимости обновлять сразу несколько полей, все поля с их значениями указываются после директивы SET через запятую. Например, нужно изменить название и цену товара с кодом 2 на «утюг», стоимостью 300:

UPDATE goods SET title = "утюг" , price = 300 WHERE num = 2

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


Выше приведены основные виды операций обновления. На их основе формируется запросы для решения большинства задач изменения данных в разработке с применением SQL.

В этой статье мы покажем, как обновить пробную (Evaluation Edition) или Express версию SQL Server 2008 R2 до полноценной рабочей версии SQL Standart или Enterprise. С подобной задачей можно столкнуться, когда для тестирования/разработки некого программного продукта устанавливается ознакомительная версия SQL Server. Нередко случается, что после окончания такого тестирования/ окончания периода работы ознакомительной версии, принимается решение перевести систему в промышленную эксплуатацию, для чего необходимо перейти на полнофункциональную редакцию SQL Server, а переустанавливать СУБД не хочется.

Примечание . Инструкция применима также к Microsoft SQL Server 2012 и R2.

Срок работы ознакомительной версии SQL Server SQL 2008 R2 (и более новых версий) – 180 дней . После окончания пробного периода служба SQL Server перестает запускаться. В случае с SQL Server Express — имеется ограничение на размеры БД.

Обновить лицензию лицензии без необходимости переустанавливать SQL Server можно только с младшей редакции до более старшей, например: Evaluation Edition / Express Edition with Advanced Services -> Standard или сразу в Enterprise.

После окончания периода тестирования при попытке открыть SQL Server Management Studio появляется окно с ошибкой:

Evaluation period has expired. For information on how to upgrade your evaluation software please go to http://www.microsoft.com/sql/howtobuy

Обновление редакции MS SQL Server 2008 R2

В первой части мы разберемся, как обновить версию SQL Server с помощью лицензионного ключа приобретенного у Microsoft или партнеров.

Запустим Центр инсталляции SQL (Start -> All Programs -> Microsoft SQL Server 2008 R2 -> Configuration Tools -> SQL Server Installation Center (64-bit)).

Совет . Это же окно можно открыть, запустив setup.exe с установочного диска SQL Server

Перейдем в раздел обслуживания (Maintenance ) и выберем пункт Edition Upgrade (Обновление редакции). Запустится Мастер обновления (Edition Upgrade Wizard).

И, следуя подсказкам мастера, введем лицензионный ключ SQL Server-а в соответствующее поле.

Затем нужно выбрать какую копию (инстанс) SQL Server нужно обновить.

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

Проверить, какая редакция SQL Server используется можно с помощью SQL Server Management Studio , щелкнув ПКМ по имени инстанса. В нашем примере это SQL Server Enterprise.

Ту же самую операцию можно выполнить и из командной строки, запустив с указанными параметрами файл setup.exe с диска с дистрибутивом SQL Server.

Setup.exe /Q /ACTION=editionupgrade /INSTANCENAME= /PID=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx /IAcceptSQLServerLicenseTerms /Indicateprogress

Совет . При обновлении редакции с SQL Server Express, нужно дополнительно включить службу SQL Server Agent и с помощью SQL Server Configuration Manager задать параметры служебной учетной записи для службы SQL Server Agent.

Обновление до корпоративной Enterprise версии SQL Server (Volume License)

В том случае, если вы захотите обновить используемую версию SQL Server по программе корпоративного лицензирования Microsoft, вы будете удивлены, что в центре корпоративного лицензирования Microsoft Volume Licensing Service Center (MS VLSC) ключи для SQL Server отсутствуют.

Дело в том, что ключ интегрирован непосредственно в дистрибутив. Самое интересное, что поддержка VLSC рекомендует удалить установленный SQL Server и переустановить его с помощью скачанного c VLSC iso-файла с дистрибутивом SQL.

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


Microsoft® SQL Server 2005 - Express Edition бесплатный продукт и поставляется вместе с программным обеспечением Parsec 2.5 и 3. Выполняет функцию хранения всех данных системы. Ограничением данного продукта является объем базы данных, составляющий 4 гигабайта. После достижения данного порога, новые данные перестают записываться в систему, что приводит к потере актуальности хранящейся информации. Для решения такой проблемы требуется переход на платную расширенную версию SQL Server (у нее нет ограничений на объем базы данных) или обновление до Microsoft SQL Server 2008 R2 SP2 Express. SQL Server 2008 R2 SP2 Express - это бесплатная база данных с ограничением объема базы данных размером 10 гигабайт.

1. Для начала необходимо загрузить Microsoft® SQL Server® 2008 R2 SP2 - Express Edition с сайта www.microsoft.com, по ссылке: http://www.microsoft.com/en-US/download/details.aspx?id=30438 размер файла 110.4 MB

ВАЖНО: Для обновления необходима 32 битная английская версия!

2. На Windows XP, Vista, 2003, 2008 в процессе установки может понадобиться программная платформа NET.Framework 3.5 SP1. Загрузить можно пройдя по ссылке http://www.microsoft.com/ru-ru/Download/details.aspx?id=22 (Загружаете данную платформу перед обновлением SQL Server)
В Windows 7, 2008 R2 Server, 8, 8.1, 2012 и 2012 R2 Server .NET Framework 3.5 является компонентом Windows и устанавливается через Панель управления\Все элементы панели управления\Программы и компоненты "Включение и выключение компонентов Windows"

3. Запустить загруженный файл.

4. Дождаться извлечения установочного пакета и начала установки.

5. В открывшемся диалоговом окне установки, необходимо выбрать пункт меню "Upgrade from SQL 2000, SQL Server 2005 or SQL Server 2008 Lauch a wizard to upgrade SQL 2000, SQL Server 2005 or SQL Server 2008 to SQL Server 2008 R2"

6. В следующем окне необходимо Принять условия лицензионного соглашения - "I accept the license terms".

7. В окне установки "Select Instance" необходимо выбрать базу, которую Вы планируете обновить. "Instance to upgrade" (PARSEC3 - для ParsecNET 3, PARSECDB - для ParsecNET 2.5)

8. Дождаться нового окна установки "Error Reporting", предлагаемую галку в данном меню можно не ставить.

9. В окне "Upgrade Roles" нажмите "Show details", откроется окно в котором виден процесс установки компонентов, также видны ошибки если они вдруг возникнут.

10. Дождаться окончания процесса установки и обновления компонентов SQL server - в конце появится сообщение, что обновление прошло успешно - "Your SQL Server upgrade completed successfully".

11. Окно установки можно закрыть "Close" и выйти по крестику. Вы обновили SQL Server 2005 Express до MS SQL Server 2008 R2 Express SP2 EN.

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

Прежде всего, зачем это нужно

Наша компания занимается разработкой программного обеспечения и в большинстве случаев в качестве СУБД мы используем Microsoft SQL Server. Для определенности будем называть компанию-разработчика «исполнителем », а компанию-клиента – «заказчиком ».

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

Впоследствии возникают такие задачи:

  1. на стороне исполнителя проверить выполнение набора скриптов в тестовой базе данных;
  2. на стороне заказчика выполнить скрипты в рабочей базе данных клиента;
Предположим, что проверить выполнение скриптов в тестовой БД может и программист и тестировщик с помощью Microsoft SQL Server Managerment Studio (SSMS). Но заставлять заказчика проводить эти операции в SSMS невозможно, так как:
  • у него вообще может быть не установлен SSMS;
  • заказчик может не обладать знаниями работы с БД. И не должен по большому счету;
  • в случае возникновения ошибок при выполнении скриптов, заказчику будет затруднительно собрать их для отправки разработчикам;

Как мы решаем указанную задачу

Нами был разработан программный продукт «Менеджер обновления баз данных», который состоит из двух программ:
  • программа для подготовки пакета обновления;
  • программа для выполнения пакета обновления;
Программа для подготовки обновления
Программа используется у исполнителя. Программисты с её помощью формируют набор скриптов в один файл.

Из особенностей этой программы можно отметить два пункта:

  • в формируемый пакет обновления может быть добавлена информация о структуре эталонной базы данных. Если такая информация присутствует в пакете, то заказчик после выполнения обновления может сравнить структуру своей базы с эталонной;
  • для заказчика программа выполнения обновления передается в виде одного EXE файла, внутри которого зашиты скрипты и структура эталонной базы.
Программа для выполнения обновления
Как уже упоминалось, запуск программы осуществляется с помощью одного EXE файла. Пользователю в большинстве случаев достаточно ввести регистрационную информацию (кстати, эти значения можно зашить в пакет обновления) и везде нажать «Далее».

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

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

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

Программный комплекс распространяется по лицензионному соглашению Freeware, скачать инсталлятор можно по ссылке