Практика обновления версий PostgreSQL. Андрей Сальников
Предлагаю ознакомиться с расшифровкой доклада 2018 года Андрея Сальникова «Практика обновления версий PostgreSQL»
В большинстве своем, системные администраторы и ДБА бояться как огня делать мажорные обновления версий баз данных (RDBMS), особенно если эта база данных в эксплуатации и имеет достаточно высокую нагрузку. Главной причиной тому некоторый даунтайм базы данных, который всегда подразумевается при планировании таких работ.
На практике, такого рода upgrade занимает довольно длительное время и зачастую администраторам с малым опытом подобных операций приходится откатываться на старую версию баз данных из-за достаточно банальных ошибок, которые можно было бы избежать еще на этапе подготовки.
В Data Egret мы накопили огромный опыт проведения мажорных апгрейдов PostgreSQL в проектах, где нет права на ошибку. Я поделюсь своим опытом и расскажу о следующих шагах процесса: как правильно подготовиться к upgrade-у PostgreSQL? что необходимо сделать на этапе подготовки? как запланировать последовательность действий на сам upgrade? как провести процедуру upgrade-а успешно, без возврата на предыдущую версию бд? как минимизировать или вообще избежать простоя всей системы во время upgrade-а? какие действия необходимо выполнить после успешного upgrade-а PostgreSQL? Я также расскажу про две наиболее популярные процедуры апгрейда PostgreSQL — pg_upgrade и pg_dump/pg_restore, плюсы и минусы каждого из методов и расскажу про все типичные проблемы на всех этапах этой процедуры, и как их избежать.
Доклад будет интересен как новичкам так и тем ДБА которые уже давно работают с PostgreSQL, но хотят побольше узнать о том как правильно планировать и проводить upgrade максимально безболезненно.
Kilor 31 марта 2020 в 09:45
Настройка MSSQL Server Express для доступа из локальной сети.
Столкнулся с проблемой доступа из локальной сети к развернутому экземпляру MSSQL Server Express. Рассмотрим как настроить доступ к экземпляру SQL.
Запускаем SQL Server Configuration Manager. Переходим в Сетевая конфигурация SQL Server — Протоколы для SQLEXPRESS (где SQLEXPRESS — имя экземпляра SQL Server).
Включаем протокол TCP/IP и переходим в его свойства, во вкладку IP-адреса. Опускаемся к пункту IPAll. Удаляем значение в поле TCP Dynamic Ports, оставляем поле пустым, а в TCP Port пишем 1433:
Переходим в Сетевая конфигурация SQL Server — Службы SQL Server.
Вызываем свойства службы Браузер SQL Server, переходим во вкладку Служба. В пункте Режим запуска, выставляем параметр Авто, нажимаем ОК:
Сочетания клавиш в конструкторе запросов
Действие | SQL Server 2017 | SQL Server 2008 R2 |
---|---|---|
Отмена или остановка выполняемого в данный момент запроса | CTRL + T | CTRL + T |
Отображение панели диаграммы в конструкторе запросов | CTRL + 1 | CTRL + 1 |
Отображение панели критериев в конструкторе запросов | CTRL + 2 | CTRL + 2 |
Отображение SQL-панели в конструкторе запросов | CTRL + 3 | CTRL + 3 |
Отображение панели результатов в конструкторе запросов | CTRL + 4 | CTRL + 4 |
Выполнение запроса, заданного в конструкторе запросов | CTRL + R | CTRL + R |
Переход из панели результатов к панели инструментов, закрепленной в конструкторе запросов снизу | CTRL + G | CTRL + G |
Включение режима JOIN в конструкторе запросов | CTRL + SHIFT + J | CTRL + SHIFT + J |
Color coding of connections
SQL Server Management Studio has the capability of coloring the bar at the bottom of each query window, with the color dependent on which server is connected. This can be useful in order to provide a visual check of the server that a query is to be run against, for instance to color code production instances as red, development as green and amber as test. This can also be used in conjunction with Registered Servers and CMS (Central Management Server). To add a color bar when connecting to the server, click on the Options button in the Connect to Database Engine window and then select the Connection Properties window. Select the check box towards the bottom of the window and use the ‘Select…’ button to choose a color.
SQL Server Management Studio System Requirements
Before you begin installing SSMS on your device, you’ll need to meet these minimum hardware requirements:
- Processor: 1.8 GHz or faster x86 (Intel, AMD) processor
- RAM: 2GB (2.5GB if running on a virtual machine)
- Storage: Minimum of 2 GB (Can go up to 10 GB depending upon installed features)
Apart from the hardware requirements, you also need to ensure that you have the right operating system. The following operating systems are currently supported:
- Windows Server 2022 (64-bit)
- Windows 11 (64-bit)
- Windows 10 (64-bit) version 1607 (10.0.14393) or later
- Windows 8.1 (64-bit)
- Windows Server 2019 (64-bit)
- Windows Server 2016 (64-bit)
- Windows Server 2012 R2 (64-bit)
- Windows Server 2012 (64-bit)
- Windows Server 2008 R2 (64-bit)
Workaround #3
Well it turns out that we can make SSMS itself set this value for us. Just to recap… if your extension doesn’t pass the SSMS validation, then it won’t be loaded when SSMS starts. But, for SSMS to know if your extension is white listed or not, it at least has to read the .pkgdef file (which contains the package GUID along with other configuration information) that is generated when you build your extension. In it, we can place an instruction for SSMS to auto load the extension when it starts up. With this instruction in place, SSMS won’t just silently fail when loading up your extension but instead it will throw an error which we can use to set the value. In the error message, SSMS will complain that something is wrong with the extension and ask you if it should continue to display the error. If you select No, then SSMS will add the value itself but unfortunately won’t load the extension when it starts up. But, the next time you do start SSMS, the value will be there and from then on, the extension itself will take care of its presence in the registry. So in other words, you just need to restart SSMS after selecting No and all will be well from then on.
To add the instruction to the .pkgdef file, all you need to do is add the attribute with the context GUID to your class.
The final code should look like this:
This will force SSMS to load your extension on startup, it will fail and it will ask if it should continue to show the error. You select No, restart SSMS and you should see your extension loaded and working fine. It’s only this first startup of SSMS that is problematic. But hey, it’s the best thing we got for now. So when you send your extension to a friend, just tell them to select No and restart SSMS the first time and everything will be OK from then on.
Решение
Чтобы устранить проблему доступа, рекомендуется запустить экземпляр SQL Server в однопользовательском режиме. Этот режим не позволит устанавливать другие подключений при попытке восстановить доступ. Вы можете подключиться к экземпляру SQL Server и добавить имя входа в роль сервера sysadmin. Подробные инструкции по решению этой проблемы приведены в .
Можно запустить экземпляр SQL Server в однопользовательском режиме с параметрами или из командной строки. Затем любой член локальной группы администраторов на компьютере может подключиться к экземпляру SQL Server в качестве члена предопределенной роли сервера sysadmin.
При запуске экземпляра в однопользовательском режиме сначала нужно остановить службу «Агент SQL Server». В противном случае агент SQL Server может установить соединение первым, заняв единственное доступное подключение к серверу и заблокировав возможность входа.
Кроме того, неизвестное клиентское приложение может воспользоваться единственным доступным подключением, прежде чем вы сможете выполнить вход. Чтобы исключить возникновение этой ситуации, используйте параметр , за которым следует имя приложения, что позволит ограничить подключения одним подключением из определенного приложения. Например, запуск SQL Server с помощью разрешает только одно соединение, которое должно идентифицироваться как клиентская программа sqlcmd. Для подключения через редактор запросов в Среда Management Studio используйте .
Важно!
Не используйте с именем приложения в качестве средства безопасности. Клиентские приложения предоставляют имя приложения в параметрах строки подключения и могут легко указать ложное имя.
В следующей таблице приведены различные способы запуска экземпляра в однопользовательском режиме в командной строке.
Параметр | Описание | Назначение |
---|---|---|
Ограничение подключений одним подключением | Если другие пользователи не пытаются подключиться к экземпляру или вы не знаете имя приложения, которое используется для подключения к экземпляру. | |
Разрешает только одно соединение, которое должно идентифицироваться как клиентская программа sqlcmd. | Если вы планируете подключиться к экземпляру с помощью sqlcmd и хотите запретить другим приложениям использовать единственное доступное подключение. | |
Разрешает только одно соединение, которое должно идентифицироваться как приложение Microsoft SQL Server приложении Management Studio — Query. | Если вы планируете подключиться к экземпляру с помощью редактора запросов в Среда Management Studio и хотите запретить другим приложениям использовать единственное доступное подключение. | |
Разрешает только одно соединение и запускает экземпляр в минимальной конфигурации. | Когда запуску препятствует какая-либо другая конфигурация. | |
Установка Microsoft SQL Server Management Studio 18
После того как Вы установили Microsoft SQL Server 2019, нужно установить инструмент, с помощью которого можно будет подключиться к серверу баз данных. Для этого у Microsoft есть среда SQL Server Management Studio (SSMS).
Шаг 1 – Скачивание SSMS
Чтобы скачать актуальную версию SSMS (она также бесплатная), нужно перейти на страницу загрузки официального сайта.
Для этого нажмите на пункт «Установка средства управления SQLServer в программе «Центр установки SQLServer
В результате в браузере откроется необходимая страница.
Вот прямая ссылка – https://docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms
На странице Вам необходимо нажать на ссылку «Скачивание SSMS», в итоге у Вас должен загрузиться установочный файл SSMS—Setup—RUS.exe размером около 600 мегабайт.
Шаг 2 – Запуск установки SSMS
После того как дистрибутив загрузится, запускаем его. Далее, для того чтобы запустить процесс установки, нажимаем «Установить».
Процесс сразу же начнётся.
Шаг 3 – Завершение установки SSMS
Процесс установки среды SQL Server Management Studio будет завершен, когда программа выдаст соответствующее сообщение.
Нажимаем «Закрыть».
Организация панелей среды SQL Server Management Studio и перемещение по ним
Все панели среды SQL Server Management Studio можно закреплять в главном окне или скрывать из вида. Щелчок правой кнопкой мыши по строке заголовка панели предоставляет выбор из следующих вариантов отображения данной панели:
-
Floating (Плавающая область) — панель становится свободно перемещающейся поверх остальных панелей среды SQL Server Management Studio, и ее можно поместить в любом месте на экране;
-
Dockable (Закрепить) — панель можно переместить и закрепить в требуемом месте. Чтобы переместить панель в нужное место, щелкните ее строку заголовка и, не отпуская кнопки мыши, перетащите панель, куда следует;
-
Tabbed Document (Закрепить как вкладки) — панели можно организовать в виде вкладок документа, когда состояние панели изменяется из закрепляемой на документ с вкладкой;
-
Hide (Скрыть) — панель можно скрыть. Альтернативно панель можно скрыть, щелкнув крестик в ее правом верхнем углу. Чтобы снова отобразить закрытую панель, выберите ее имя в меню View (Вид);
-
Auto Hide (Автоматически скрывать) — панель сворачивается и прикрепляется в виде вкладки на левой стороне экрана. Чтобы открыть (развернуть) такую панель, наведите указатель мыши на вкладки на левой стороне экрана, а чтобы удерживать панель открытой, нажмите значок канцелярской кнопки в правом верхнем углу панели.
Различие между режимами Hide и Auto Hide состоит в том, что в первом случае панель полностью убирается из представления в среде SQL Server Management Studio, а во втором она сворачивается во вкладку.
Для того чтобы восстановить конфигурацию по умолчанию, выполните команду Window —> Reset Window Layout (Окно —> Сброс макета окон). После сброса настроек с левой стороны среды SQL Server Management Studio располагается панель обозревателя объектов, а с правой — вкладка Object Explorer Details (Подробности обозревателя объектов). На вкладке Object Explorer Details отображается информация о текущем узле, выбранном в обозревателя объектов.
Среда SQL Server Management Studio позволяет выполнять одну и ту же задачу несколькими способами. Разные люди отдают предпочтение различным методам — некоторым более по душе двойной щелчок, другие щелкают значки «+» и «-«, третьи пользуются правой кнопкой, четвертые обращаются к раскрывающимся меню, пятым нравятся ярлыки и т. п. Чтобы определить наиболее удобный для вас способ перемещения по среде, экспериментируйте с разными способами, пока не выберите самый подходящий.
Карьера в SQL
В организациях, ориентированных на данные, существует множество профессий и профессий, требующих использования SQL как навыка. Эти организации ищут специалистов по SQL, которые могут применить свое аналитическое мышление с помощью SQL, чтобы лучше понять огромные блоки данных, которые у них есть. Если вы кандидат, который умеет работать с данными и манипулировать ими, вам определенно следует искать карьеру в программировании SQL. Рынок вакансий, связанных с SQL, можно найти как в облачных организациях, так и в тех, кто использует базы данных локально.
Требуется образование
- Квалификация, которую рекрутеры ищут у специалиста по SQL, может варьироваться от компании к компании. Это во многом зависит от рентабельности инвестиций, требований клиентов, типа работы и т. Д.
- Базовая образовательная квалификация включает степень бакалавра или магистра в области компьютерных наук, информационных технологий или даже курсы специализации в области информационных технологий.
- Дополнительные сертификаты, такие как разработчик баз данных, администратор, дизайнер, архитектор и т. Д., Добавят цвета вашему портфолио и предоставят вам преимущество над тысячами других кандидатов.
- Было бы полезно иметь опыт работы с PL / SQL, ETL и т. Д.
Должности
- SQL Server является третьим по популярности сервером баз данных, и миллионы профессионалов в настоящее время работают над различными ролями, которые прямо или косвенно требуют SQL как навыка.
- Основные направления карьеры в SQL: администратор баз данных, специалисты по бизнес-аналитике, специалисты по данным, разработчики баз данных, тестировщики баз данных, разработчики ETL, разработчики приложений бизнес-аналитики, эксперты по большим данным, инженеры облачных баз данных, инженеры по миграции баз данных и т. д.
Оплата труда
- Средняя зарплата специалиста по SQL во многом зависит от выбранной им карьеры. Обычно профессионалы с опытом работы с SQL более 5 лет имеют более высокую среднюю зарплату по сравнению с новичками.
- Согласно отчету payscale за 2018 год, средняя заработная плата разработчиков SQL в США составляет около 65 тыс. Долларов США, для старших разработчиков SQL — 85 тыс. Долларов США, для старших администраторов баз данных — около 100 тыс. Долларов, для производственных администраторов баз данных средняя зарплата может достигать 130 тысяч долларов.
Минимальные SQL Server версии для Windows 10 и Windows Server 2016
В этом разделе описываются минимальные требования к версии для установки SQL Server на компьютере, на Windows 10 или Windows Server 2016.
Перед установкой SQL Server на компьютере, на Windows 10 или Windows Server 2016, необходимо выполнить следующие минимальные требования, соответствующие вашей ситуации.
-
В SQL Server 2019 г. в Windows
Выпуск поддерживается на SQL Server 2019 Windows версии RTM.
-
В SQL Server 2017 г. в Windows
Выпуск поддерживается на SQL Server 2017 в Windows версии RTM.
-
За SQL Server 2016 г.
Необходимо применить SQL Server 2016 Пакет обновления 2 или более позднее обновление. Дополнительные сведения см. в выпуске How to get the latest service pack for SQL Server 2016.
-
За SQL Server 2014 г.
Необходимо применить SQL Server 2014 Пакет обновления 1 или более позднее обновление. Дополнительные сведения см. в выпуске How to get the latest service pack for SQL Server 2014.
-
Для SQL Server 2012 г.
Необходимо применить SQL Server 2012 Пакет обновления 2 или более позднее обновление. Дополнительные сведения см. в выпуске How to get the latest service pack for SQL Server 2012.
Примечание
-
Убедитесь, что при установке SQL Server 2012 Windows 10 или Windows Server 2016.
-
Требования к оборудованию и программному обеспечению для SQL Server 2012 г. еще не обновлены, чтобы отразить поддержку Windows Server 2016.
-
-
Для SQL Server 2008 R2
SQL Server 2008 R2 не поддерживается Windows 10 или Windows Server 2016.
-
For SQL Server 2008
SQL Server 2008 не поддерживается Windows 10 или Windows Server 2016.
Как пользоваться Linux в WSL
Чтобы открыть установленную вами среду Linux, просто откройте меню «Пуск» и найдите установленный вами дистрибутив. Например, если вы установили Kali Linux, запустите ярлык Kali Linux.
Вы можете закрепить этот ярлык приложения в меню «Пуск», на панели задач или на рабочем столе для облегчения доступа.
При первом запуске среды Linux вам будет предложено ввести имя пользователя и пароль UNIX. Они необязательно должны совпадать с вашим именем пользователя и паролем Windows, но будут использоваться в среде Linux.
Например, если вы введёте «alex» и «hackware» в качестве учётных данных, ваше имя пользователя в среде Linux будет «alex», а пароль, который вы используете в среде Linux, будет «hackware» — независимо от вашего имени пользователя Windows и его пароля.
Вы можете запустить установленную среду Linux, выполнив команду wsl. Если у вас установлено несколько дистрибутивов Linux, вы можете выбрать среду Linux по умолчанию, запускаемую этой командой.
Если у вас установлена Kali Linux, вы также можете запустить команду kali, чтобы установить её. Для openSUSE Leap 15 SP1 используйте opensuse-15-sp1. Для SUSE Linux Enterprise Server 15 SP1 используйте SLES-15-SP1. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Windows.
Вы по-прежнему можете запустить среду Linux по умолчанию, выполнив команду bash, но Microsoft утверждает, что это устарело. Это означает, что команда bash может перестать работать в будущем.
Если у вас есть опыт использования оболочки Bash в Linux, Mac OS X или других платформах, вы будете как дома.
В Kali Linux и Ubuntu вам нужно добавить к команде префикс sudo, чтобы запустить её с правами root. Пользователь «root» на платформах UNIX имеет полный доступ к системе, как пользователь «Администратор» в Windows. Ваша файловая система Windows в среде оболочки Bash находится в /mnt/c.
Ещё одна важная особенность дистрибутивов Linux, запущенных этим образом, в том, что прямо в консоли Linux вы можете выполнять команды Windows.
Связанная статья: Что такое sudo
Используйте те же команды терминала Linux, которые вы используете в этой операционной системе. Если вы привыкли к стандартной командной строке Windows с её командами DOS, вот несколько основных команд, общих для Bash и Windows:
- Изменить каталог: cd в Bash, cd или chdir в DOS
- Список содержимого каталога: ls в Bash, dir в DOS
- Перемещение или переименование файла: mv в Bash, move и rename в DOS
- Скопировать файл: cp в Bash, copy в DOS
- Удалить файл: rm в Bash, del или erase в DOS
- Создайте каталог: mkdir в Bash, mkdir в DOS
- Используйте текстовый редактор: vi или nano в Bash, edit в DOS
Связанная статья: Азы работы в командной строке Linux (часть 1), а также последующе части
Важно помнить, что, в отличие от Windows, оболочка Bash и её среда, имитирующая Linux, чувствительны к регистру. Другими словами, «File.txt» с большой буквы отличается от «file.txt» без заглавной буквы.
Дополнительные инструкции смотрите в серии наших руководств Азы работы в командной строке Linux для начинающих.
Дополнительные инструкции смотрите в серии наших руководств Азы работы в командной строке Linux для начинающих.
Вам нужно будет использовать команду apt для установки и обновления программного обеспечения среды Debian, Kali Linux, Ubuntu. Не забудьте указать перед этими командами префикс sudo, чтобы они запускались от имени пользователя root — Linux-эквивалента Администратора. Вот команды apt, которые вам нужно знать:
Загрузить обновлённую информацию о доступных пакетах:
sudo apt update
Установить пакет приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
sudo apt install ИМЯ-ПАКЕТА
Удаление пакета приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
sudo apt remove ИМЯ-ПАКЕТА
Поиск доступных пакетов (замените СЛОВО словом, по которому нужно искать пакеты в именах и описаниях):
sudo apt search СЛОВО
Загрузите и установите последние версии установленных пакетов:
sudo apt full-upgrade
Если вы установили дистрибутив SUSE Linux, вместо этого вы можете использовать команду zypper для установки программного обеспечения.
После того, как вы загрузили и установили приложение, вы можете ввести его имя в запросе, а затем нажать Enter, чтобы запустить его. Дополнительную информацию смотрите в документации к конкретному приложению.
Программное обеспечение, устанавливаемое в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или где-либо ещё в Windows, но только если вы запустите команду вида
bash -c КОМАНДА
Поддерживаемые операционные системы
При использовании последнего пакета обновления этот выпуск SSMS поддерживает следующие платформы: Windows 10, Windows 8, Windows 8.1, Windows 7 (SP1), Windows Server 2021, Windows Server 2012 (64-bit), Windows Server 2012 R2 (64-bit), Windows Server 2008 R2 (64-bit)
Примечание
SSMS 17.X основана на изолированной оболочке Visual Studio 2015, которая была выпущена до Windows Server 2021
Корпорация Майкрософт уделяет большое внимание совместимости приложений и гарантирует, что уже выпущенные приложения продолжат работать в последних выпусках Windows. Чтобы минимизировать проблемы с запуском SSMS в Windows Server 2021, убедитесь, что для SSMS установлены все последние обновления
При возникновении каких-либо проблем с SSMS в Windows Server 2021, обратитесь в службу поддержки. Служба поддержки определит, связана ли проблема с SSMS, с Visual Studio или с совместимостью SSMS и Windows. Затем ваш запрос будет перенаправлен соответствующей группе для дальнейшего изучения.