Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Инсталирайте SQL Server 2019 на Mac

По-рано обясних как да инсталирате SQL Server на Mac чрез Docker контейнер. Когато написах това, SQL Server 2017 беше най-новата версия на SQL Server и току-що беше предоставена за Linux и Docker (което означава, че можете да го инсталирате и на системи MacOS).

В края на 2018 г. Microsoft обяви SQL Server 2019 Preview и впоследствие обяви общо издание в края на 2019 г. Инсталационният процес за SQL Server 2019 е абсолютно същият като за SQL Server 2017. Единствената разлика е, че трябва да използвате изображението на контейнера за SQL Server 2019 вместо изображението от 2017 г. Тук ви показвам как да направите това.

Освен това, ако вече имате инсталиран SQL Server 2017 и искате да инсталирате SQL Server 2019, без да премахвате версията 2017, ще трябва да зададете различен номер на порт на вашия хост. Показвам ви и как да направите това.

Но първо... ако използвате Mac с чип M1, вижте Как да инсталирате SQL Server на M1 Mac (ARM64).

Docker

Първата стъпка е да инсталирате Docker. Ако вече имате инсталиран Docker, можете да пропуснете тази стъпка (и да преминете направо към SQL Server).

Docker е платформа, която позволява на софтуера да работи в собствена изолирана среда. Следователно SQL Server 2019 може да се изпълнява на Docker в собствен изолиран контейнер.

  1. Инсталирайте Docker

    За да изтеглите, посетете страницата за изтегляне на Docker CE за Mac и щракнете върху Вземете Docker .

    За да инсталирате, щракнете двукратно върху .dmg файл и след това плъзнете Docker.app икона към вашето Приложение папка.

  2. Стартирайте Docker

    Стартирайте Docker по същия начин, по който бихте стартирали всяко друго приложение (напр. чрез папката Applications, Launchpad и т.н.).

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

  3. Увеличете паметта (по избор)

    По подразбиране Docker ще има 2GB памет, разпределена за него. Предлагам да го увеличите до 4 GB, ако можете.

    За да направите това, изберете Предпочитания от малката икона на Docker в горното меню:

    След това в Ресурси> Разширени екран, плъзнете плъзгача на паметта до поне 4 GB:

    След това завършете, като щракнете върху Прилагане и рестартиране

SQL сървър

След като Docker е инсталиран и конфигуриран, можем да изтеглим и инсталираме SQL Server 2019.

  1. Изтеглете SQL Server 2019

    Отворете прозорец на терминала и изпълнете следната команда.

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    

    Това изтегля най-новото изображение на SQL Server за Linux Docker на вашия компютър.

    Можете също да проверите за различните опции за изображение на контейнера на уебсайта на Docker, ако желаете.

  2. Стартирайте изображението на Docker

    Изпълнете следната команда, за да стартирате копие на изображението на Docker, което току-що изтеглите:

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1433:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
    

    Просто променете Bart на име по ваш избор и reallyStrongPwd#123 към избрана от вас парола.

    Ако получите грешка „порт вече е разпределен“, вижте по-долу.

    Ето обяснение на параметрите:

    -e 'ACCEPT_EULA=Y'
    Y показва, че сте съгласни с EULA (Лицензионно споразумение с краен потребител). Това е задължително.
    -e 'SA_PASSWORD=reallyStrongPwd#123'
    Задължителен параметър, който задава sa парола за база данни.
    -p 1433:1433
    Това преобразува локалния порт 1433 към порт 1433 на контейнера. Първата стойност е TCP портът на хост средата. Втората стойност е TCP портът в контейнера.
    --name Bart
    Друг незадължителен параметър. Този параметър ви позволява да наименувате контейнера. Това може да бъде удобно, когато спирате и стартирате контейнера си от терминала. Може да предпочетете да му дадете по-описателно име като sql_server_2019 или подобен.
    -d
    Този незадължителен параметър стартира Docker контейнера в режим на демон. Това означава, че работи във фонов режим и не се нуждае от отворен собствен прозорец на терминала. Можете да пропуснете този параметър, за да може контейнерът да работи в собствен прозорец на терминала.
    mcr.microsoft.com/mssql/server:2019-latest
    Това казва на Docker кое изображение да използва.

    Сига на паролата

    Трябва да използвате силна парола. Microsoft казва това за паролата:

    Паролата трябва да следва правилата за пароли по подразбиране на SQL Server, в противен случай контейнерът не може да настрои SQL сървър и ще спре да работи. По подразбиране паролата трябва да бъде поне 8 знака и да съдържа знаци от три от следните четири набора:главни букви, малки букви, основни 10 цифри и символи.

    Грешка – „Порт вече е разпределен“?

    Ако получите грешка, която казва нещо за „портът вече е разпределен“, тогава може би вече имате инсталиран SQL Server на друг контейнер, който използва този порт. В този случай ще трябва да картографирате към друг порт на хоста.

    Следователно, можете да промените горната команда на нещо подобно:

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1400:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
    

    В този случай просто промених -p 1433:1433 до -p 1400:1433 . Всичко останало остава същото.

    Сега може да получите грешка, която казва, че първо трябва да премахнете съществуващия контейнер. За да направите това, изпълнете следното (но разменете Bart с името на вашия собствен контейнер):

    sudo docker rm Bart
    

    След като го премахнете, можете да опитате да изпълните предишната команда отново.

    Имайте предвид, че ако промените порта, както направих тук, вероятно ще трябва да включите номера на порта, когато се свързвате със SQL Server от всякакви инструменти за база данни от вашия работен плот. Например, когато се свързвате чрез Azure Data Studio (споменато по-долу), можете да се свържете с помощта на Localhost,1400 вместо само Localhost . Същото е и с mssql-cli, който е SQL инструмент на командния ред.

Проверете всичко

След като го направихме, трябва да сме готови. Нека преминем и направим няколко проверки.

  1. Проверете контейнера на Docker (по избор)

    Можете да въведете следната команда, за да проверите дали Docker контейнерът работи.

    sudo docker ps -a
    

    В моя случай получавам това:

    CONTAINER ID        IMAGE                                               COMMAND                  CREATED              STATUS              PORTS                    NAMES
    c1b060f68fcb        mcr.microsoft.com/mssql/server:2019-latest          "/opt/mssql/bin/sqls…"   About a minute ago   Up About a minute   0.0.0.0:1400->1433/tcp   Bart
    fdec67e6a28d        microsoft/mssql-server-linux                        "/opt/mssql/bin/sqls…"   4 months ago         Up 8 days           0.0.0.0:1433->1433/tcp   Homer
    

    Това ми казва, че имам два докер контейнера, работещи:единият се нарича Bart а другият се нарича Homer .

  2. Свържете се със SQL Server

    Тук използваме инструмента на командния ред на SQL Server, наречен „sqlcmd“ вътре в контейнера, за да се свържем със SQL Server.

    sudo docker exec -it Bart "bash"
    

    Въведете паролата си, ако бъдете подканени.

    Сега, когато сте вътре в контейнера, свържете се локално с sqlcmd:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
    

    Това трябва да ви отведе до подканата sqlcmd 1> .

  3. Изпълнете бърз тест

    Изпълнете бърз тест, за да проверите дали SQL Server работи и работи. Например, проверете версията на SQL Server, като въведете това:

    SELECT @@version
    

    Това ще ви отведе до командния ред 2> на следващия ред. За да изпълните заявката, въведете:

    GO
    

    Резултат:

    +--------------------+
    | (No column name)   |
    |--------------------|
    | Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) 
            Mar  4 2020 00:59:26 
            Copyright (C) 2019 Microsoft Corporation
            Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS)                     |
    +--------------------+
    (1 row affected)  
    

    Ако видите съобщение като това, поздравления — SQL Server вече е готов и работи на вашия Mac!

    Ако предпочитате да използвате GUI за управление на SQL Server, прочетете нататък.

Azure Data Studio

Azure Data Studio е безплатен инструмент за управление на GUI, който можете да използвате за управление на SQL Server на вашия Mac. Можете да го използвате за създаване и управление на бази данни, писане на заявки, архивиране и възстановяване на бази данни и други.

Azure Data Studio се предлага за Windows, Mac и Linux.

Ето някои статии/уроци, които съм написал за Azure Data Studio:

  • Какво е Azure Data Studio
  • Как да инсталирате Azure Data Studio на вашия Mac
  • Как да създадете база данни с Azure Data Studio
  • Как да възстановим база данни с Azure Data Studio на Mac

Друг безплатен GUI на SQL сървър – DBeaver

Друг GUI инструмент на SQL Server, който можете да използвате на вашия Mac (и Windows/Linux/Solaris), е DBeaver.

DBeaver е безплатен инструмент за управление на база данни с отворен код, който може да се използва в повечето системи за управление на бази данни (като MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby и др. ).

Написах малко въведение в DBeaver или можете да отидете направо на страницата за изтегляне на DBeaver и да го изпробвате с новата си инсталация на SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавяне на намек за заявка при извикване на функция с таблична стойност

  2. Клауза WHERE IS NULL, IS NOT NULL или NO WHERE в зависимост от стойността на параметъра на SQL Server

  3. Как да създадете ограничение за проверка на една колона в SQL Server - SQL Server / TSQL урок, част 83

  4. Как да комбинирате резултатите от две заявки в един набор от данни

  5. SQL, Помощна таблица с числа