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

Създаване на локална база данни на SQL Server


Общ преглед

В това ръководство ще говорим за това как да инсталирате и конфигурирате екземпляр на SQL Server и sqlcmd клиент на командния ред. Ще разгледаме как да инсталирате и настроите тези компоненти на вашия компютър за локален достъп.

Това ръководство ще обхване следните платформи:

  • Настройка на SQL Server на Windows
  • Настройване на SQL Server на macOS (с Docker)
  • Настройване на SQL Server на Linux
    • Ubuntu
    • CentOS и Red Hat
    • С Docker

Придвижете се до секциите, които съответстват на платформите, с които ще работите.



Настройка на SQL Server на Windows

Microsoft предоставя собствени инсталатори на Windows за SQL Server на своя сайт и предлага различни версии на SQL Server, подходящи за различни цели. За целите на това ръководство ще изтеглим и инсталираме безплатното издание за разработчици. Можете лесно да надстроите до платена версия от изданието за разработчици, ако искате да го използвате за производство.

За да започнете, посетете страницата на Microsoft за SQL Server. Намерете раздела, свързан с изданието за разработчици, и кликнете върху Изтегляне сега :

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

В началния екран на инсталатора ще бъдете помолени да изберете какъв тип инсталация искате да извършите:

Изберете Основно за да продължите с конвенционална инсталация, като използвате най-често срещаните опции.

След това ще бъдете помолени да приемете условията за лицензиране на изданието за програмисти:

Когато прочетете лиценза и се съгласите с условията, щракнете върху Приемам за да продължите.

След това потвърдете или променете мястото за инсталиране:

Когато сте готови, кликнете върху Инсталиране за да започнете процеса на инсталиране.

Инсталаторът ще започне да изтегля и инсталира компоненти, за да настрои SQL Server на вашия компютър:

Когато инсталацията приключи, ще се появи екран, отбелязващ текущите свойства на инсталацията:

За да се свържете веднага с новия екземпляр на SQL Server, щракнете върху Свързване сега в долната част.

Нов прозорец ще Cmd ще се появи прозорец и автоматично ще влезете в екземпляра на SQL Server с помощта на sqlcmd клиент:

Както е показано в коментар в горната част на прозореца, можете да се свържете ръчно към SQL Server по всяко време с sqlcmd клиент, като напишете:

sqlcmd -S <yourhostname> -E

За да излезете от текущата SQL сесия, въведете:

EXIT


Настройка на SQL Server на macOS

Въпреки че Microsoft не предоставя собствена инсталационна програма за macOS, те поддържат изпълнение на SQL Server на macOS чрез Docker. Основният Docker контейнер на SQL Server е изграден с помощта на Linux контейнер, което позволява на всеки хост, който може да изпълнява Docker контейнери, да изпълнява сървъра на базата данни.

Ще ви трябват поне 2 GB памет (вероятно поне малко повече), за да стартирате успешно изображението, но самият Docker изисква поне 4 GB памет.

За да започнете, уверете се, че имате Docker във вашата система. Docker Desktop за Mac включва Docker Engine и други свързани приложения. Ако все още нямате инсталиран Docker, следвайте инструкциите, включени в горната връзка.

След като Docker стартира и работи, можете да изтеглите изображението на Docker на SQL Server от регистъра на контейнерите на Microsoft, като напишете:

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

Това ще изтегли всички необходими слоеве на изображения във вашата локална система, което ще позволи по-бързо стартиране.

Когато сте готови да стартирате контейнера, въведете следната команда.

Не забравяйте да замените <password> със стойността на предвидената от вас парола и изберете стойност, която съответства на правилата за пароли на изображението. Към момента на писането на тази политика политиката се дефинира като:„Паролата трябва да е дълга поне 8 знака и да съдържа знаци от три от следните четири набора:главни букви, малки букви, основни 10 цифри и символи.“:

docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest

Контейнерът на SQL Server ще бъде стартиран във фонов режим. Показаният низ от знаци е идентификаторът на новия контейнер.

Можете да проверите дали контейнерът е готов и работи, като напишете:

docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                      PORTS                    NAMESffa9ef357b5c   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   2 minutes ago    Up 2 minutes                0.0.0.0:1433->1433/tcp   mssqlae00765e36fb   hello-world                                  "/hello"                 24 minutes ago   Exited (0) 24 minutes ago                            dreamy_swanson

Трябва да видите mssql контейнер сред списъка. Ако контейнерът не работи или имате проблеми, можете да опитате да прегледате неговите регистрационни файлове, за да видите дали има някакви полезни съобщения:

docker logs mssql

Контейнерът на SQL Server не само има инсталиран сървър на база данни, но също така има някои от общите налични инструменти, включително sqlcmd клиент на командния ред. За да използвате този клиент за свързване с екземпляр на базата данни, можете да използвате docker exec за достъп до командата и удостоверяване в базата данни:

docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Ще бъдете удостоверени в SQL Server вътре в контейнера и ще бъдете пуснати в SQL обвивка. Можете да проверите дали всичко е направено и работи, като напишете:

SELECT @@VERSION;GO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>  (1 rows affected)

За да излезете от SQL сесията и да се върнете към нормалната си обвивка, въведете:

EXIT

За да изключите контейнера на SQL Server, когато сте готови, можете да го спрете, като напишете:

docker stop mssql

За да премахнете екземпляра на контейнера (включително всички данни вътре!), въведете:

docker rm mssql

За да запазите данните във вашия контейнер на SQL Server, можете да използвате една от техниките, описани в документацията на Microsoft, или да разгледате собствената документация на Docker за използване на обеми с данни с контейнери.



Настройка на SQL Server на Linux

Методите за инсталиране се различават в зависимост от дистрибуцията на Linux, която използвате. Следвайте раздела по-долу, който съответства на вашата Linux дистрибуция. Има и инструкции за използване на Docker, ако предпочитате тази конфигурация или искате да използвате дистрибуция, която не е посочена.

  • Ubuntu
  • CentOS и Red Hat
  • С Docker

Ubuntu

Най-лесният начин да инсталирате SQL Server на Ubuntu 20.04 е да инсталирате от специалните хранилища, предоставени от Microsoft. Вашето устройство трябва да има поне 2 GB памет, за да инсталира и стартира успешно необходимия софтуер.

За да започнете, добавете нова дефиниция на хранилището към вашата система, като напишете:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

Трябва също да добавите отделно хранилище, за да получите достъп до sqlcmd двоични и други инструменти:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"

След това добавете ключа за подписване на пакета на Microsoft към apt така че да има доверие на пакетите в новото хранилище:

wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

С настроеното хранилище можете да инсталирате SQL Server и sqlcmd клиент на командния ред, като напишете:

sudo apt install mssql-server mssql-tools unixodbc-dev

След като инсталацията приключи, трябва да конфигурирате новата си инстанция на базата данни. За да направите това, стартирайте включената mssql-conf setup скрипт, за да зададете някои от основните свойства на вашата нова система:

sudo /opt/mssql/bin/mssql-conf setup

Ще ви бъдат зададени поредица от въпроси, за да конфигурирате сървъра на базата данни.

Първо ще ви попита кое издание на SQL сървър искате да използвате:

Choose an edition of SQL Server:  1) Evaluation (free, no production use rights, 180-day limit)  2) Developer (free, no production use rights)  3) Express (free)  4) Web (PAID)  5) Standard (PAID)  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum  8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):

Ако имате платен лиценз, можете да изберете подходящата версия. Ако използвате сървъра в непроизводствена среда, безопасно е да изберете изданието за разработчици.

След това ще трябва отново да приемете лицензионните условия:

The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:

И накрая, ще трябва да зададете и потвърдите парола за акаунта на системния администратор на SQL Server (наречен SA акаунт на много места):

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

За да използвате sqlcmd клиент, за да се свържете с вашия екземпляр на SQL Server, най-лесно е да добавите mssql-tools двоична директория към вашия PATH . За да конфигурирате това, въведете:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

След това изтеглете отново един от двата файла по-горе, за да оцените новия PATH за текущата ви сесия:

source ~/.bashrc

Вече можете да се свържете с вашата база данни, като напишете:

sqlcmd -U SA -S 127.0.0.1

Ще бъдете подканени за паролата, която сте задали по-рано. След успешно удостоверяване ще бъдете пуснати в SQL обвивка. От тук можете да проверите дали всичко работи, като отпечатате версията на сървъра:

SELECT @@VERSIONGO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>  (1 rows affected)

За да излезете от обвивката на SQL и да се върнете към командния ред, можете да въведете:

EXIT


CentOS и Red Hat

Най-лесният начин да инсталирате SQL Server на CentOS или Red Hat е да използвате хранилищата, предоставени от Microsoft. Linux хостовете трябва да имат поне 2 GB памет, за да инсталират и стартират SQL Server.

Преди да инсталирате SQL Server, трябва да инсталирате и конфигурирате неговите зависимости. Нуждаем се от Python 2 и OpenSSL 10, за да продължим:

sudo yum install python2 compat-openssl10

След като Python 2 бъде инсталиран, конфигурирайте системата да я използва като екземпляр на Python по подразбиране:

sudo alternatives --config python

От списъка, който следва, изберете номера, свързан с инсталацията на Python 2. В примера по-долу това ще бъде опция 2:

 There are 2 programs which provide 'python'.    Selection    Command ----------------------------------------------- *+ 1           /usr/libexec/no-python    2           /usr/bin/python2  Enter to keep the current selection[+], or type selection number: 2

С установените зависимости вече можете да конфигурирате хранилището YUM на SQL Server:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo

След това трябва да конфигурирате допълнително хранилище, за да получите достъп до sqlcmd и други инструменти:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo

След като хранилищата са конфигурирани, инсталирайте SQL Server, като напишете:

sudo yum install mssql-server mssql-tools unixODBC-devel

След като инсталацията приключи, трябва да конфигурирате новата си инстанция на базата данни. За да направите това, стартирайте включената mssql-conf setup скрипт, за да зададете някои от основните свойства на вашата нова система:

sudo /opt/mssql/bin/mssql-conf setup

Ще ви бъдат зададени поредица от въпроси, за да конфигурирате сървъра на базата данни.

Първо ще ви попита кое издание на SQL сървър искате да използвате:

Choose an edition of SQL Server:  1) Evaluation (free, no production use rights, 180-day limit)  2) Developer (free, no production use rights)  3) Express (free)  4) Web (PAID)  5) Standard (PAID)  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum  8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):

Ако имате платен лиценз, можете да изберете подходящата версия. Ако използвате сървъра в непроизводствена среда, безопасно е да изберете изданието за разработчици.

След това ще трябва отново да приемете лицензионните условия:

The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:

И накрая, ще трябва да зададете и потвърдите парола за акаунта на системния администратор на SQL Server (наречен SA акаунт на много места):

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

За да използвате sqlcmd клиент, за да се свържете с вашия екземпляр на SQL Server, най-лесно е да добавите mssql-tools двоична директория към вашия PATH . За да конфигурирате това, въведете:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

След това изтеглете отново един от двата файла по-горе, за да оцените новия PATH за текущата ви сесия:

source ~/.bashrc

Вече можете да се свържете с вашата база данни, като напишете:

sqlcmd -U SA -S 127.0.0.1

Ще бъдете подканени за паролата, която сте задали по-рано. След успешно удостоверяване ще бъдете пуснати в SQL обвивка. От тук можете да проверите дали всичко работи, като отпечатате версията на сървъра:

SELECT @@VERSIONGO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64>  (1 rows affected)

За да излезете от обвивката на SQL и да се върнете към командния ред, можете да въведете:

EXIT


С Docker

Ако използвате дистрибуция на Linux, за която Microsoft не предоставя пакети или ако просто предпочитате, друга опция е да стартирате SQL Server с Docker. Ще ви трябват поне 2 GB памет (вероятно поне малко повече), за да стартирате успешно изображението.

За да започнете, уверете се, че имате Docker Engine на вашата система. Можете да намерите подробни инструкции за различни платформи в документацията на Docker Engine.

След като Docker стартира и работи, можете да изтеглите изображението на Docker на SQL Server от регистъра на контейнерите на Microsoft, като напишете:

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

Това ще изтегли всички необходими слоеве на изображения във вашата локална система, което ще позволи по-бързо стартиране.

Когато сте готови да стартирате контейнера, въведете следната команда.

Не забравяйте да замените <password> със стойността на предвидената от вас парола и изберете стойност, която съответства на правилата за пароли на изображението. Към момента на писането на тази политика политиката се дефинира като:„Паролата трябва да е дълга поне 8 знака и да съдържа знаци от три от следните четири набора:главни букви, малки букви, основни 10 цифри и символи.“:

sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest

Контейнерът на SQL Server ще бъде стартиран във фонов режим. Показаният низ от знаци е идентификаторът на новия контейнер.

Можете да проверите дали контейнерът е готов и работи, като напишете:

sudo docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                      PORTS                    NAMESffa9ef357b5c   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   2 minutes ago    Up 2 minutes                0.0.0.0:1433->1433/tcp   mssqlae00765e36fb   hello-world                                  "/hello"                 24 minutes ago   Exited (0) 24 minutes ago                            dreamy_swanson

Трябва да видите mssql контейнер сред списъка. Ако контейнерът не работи или имате проблеми, можете да опитате да прегледате неговите регистрационни файлове, за да видите дали има някакви полезни съобщения:

sudo docker logs mssql

Контейнерът на SQL Server не само има инсталиран сървър на база данни, но също така има някои от общите налични инструменти, включително sqlcmd клиент на командния ред. За да използвате този клиент за свързване с екземпляр на базата данни, можете да използвате docker exec за достъп до командата и удостоверяване в базата данни:

sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Ще бъдете удостоверени в SQL Server вътре в контейнера и ще бъдете пуснати в SQL обвивка. Можете да проверите дали всичко е направено и работи, като напишете:

SELECT @@VERSION;GO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>  (1 rows affected)

За да излезете от SQL сесията и да се върнете към нормалната си обвивка, въведете:

EXIT

За да изключите контейнера на SQL Server, когато сте готови, можете да го спрете, като напишете:

sudo docker stop mssql

За да премахнете екземпляра на контейнера (включително всички данни вътре!), въведете:

sudo docker rm mssql

За да запазите данните във вашия контейнер на SQL Server, можете да използвате една от техниките, описани в документацията на Microsoft, или да разгледате собствената документация на Docker за използване на обеми с данни с контейнери.





  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обединете два дяла в един в SQL Server (T-SQL)

  2. Разделете дял на две в SQL Server (T-SQL)

  3. Проверете състоянието на пощенските опашки на базата данни в SQL Server (T-SQL)

  4. ефективен начин за прилагане на пейджинг

  5. Как да предам стойност на параметър на съхранена процедура в компонент OLE DB Source?