MS SQL Server. Pagpapanatili ng mga database ng system. Mga Alerto sa pamamagitan ng Email. Ang tamang pagkakasunod-sunod ng mga aksyon ay ganito

Sa ibaba ay sasabihin namin sa iyo kung paano gumawa ng plano sa pagpapanatili gamit ang SQL Sever Environment program. Studio ng Pamamahala" Sa artikulong ito, susubukan ko lang na malinaw na ilarawan ang algorithm para sa paglikha ng plano sa pagpapanatili gamit ang Maintenance Plan Wizard, nang hindi napupunta sa teoretikal na bahagi ng isyu. Kunin karagdagang impormasyon Para sa higit pang impormasyon sa paksang ito, pakisuri ang SQL Server Books Online sa MSDN.

Ang planong inilarawan sa ibaba ay magsasama lamang ng 2 gawain.

  • Pag-backup ng database.
  • Sinusuri ang integridad ng database.

Umaasa ako na pagkatapos basahin ang mga tagubiling ito, sa hinaharap ang lahat ay makakagawa nang nakapag-iisa ng anumang kinakailangang plano sa pagpapanatili ng SQL server.

1. Paunang datos

  1. operating system Pamilya sa Windows(sa aking halimbawa ito ay ginagamit)
  2. Naka-install Microsoft SQL Server 2008 R2 (tungkol sa pag-install SQL Server mababasa)
  3. Isang umiiral na database sa SQL Server (basahin ang tungkol sa paglikha ng mga database sa SQL Server)
  4. Naka-configure na bahagi ng Database Mail, kung kailangan mong ipaalam sa pamamagitan ng email mga operator tungkol sa mga resulta ng pagpapatupad ng plano sa pagpapanatili (isinulat ko ang tungkol sa kung paano i-configure ang bahagi ng Database Mail at lumikha ng isang operator ng system).

2. Sinusuri ang pagpapatakbo ng SQL Server Agent

Ang unang bagay na kailangan nating gawin ay tiyakin na ang SQL Server Agent ay naka-install at tumatakbo. Upang gawin ito, ilunsad ang kagamitan " Mga serbisyo» (« Magsimula» ( Magsimula) — « Pangangasiwa» ( Administrative Tools) — « Mga serbisyo» ( Mga serbisyo)) at sa listahan ng mga serbisyo ay makikita namin ang serbisyo " Ahente ng SQL Server» ( Ahente ng SQL Server).

Buksan natin ang mga katangian ng serbisyong ito (sa pamamagitan ng pag-click dito ng 2 beses) at siguraduhing:

  • Ang uri ng startup ay " Awtomatikong"(Uri ng pagsisimula: Awtomatiko);
  • estado" Gumagana"(Katayuan ng serbisyo: Nagsimula);

Kung hindi, kailangan mong baguhin ang mga parameter tulad ng sa screenshot sa itaas at i-save ang mga setting sa pamamagitan ng pag-click sa " Mag-apply" (Mag-apply) .

Ngayon, ilunsad natin ang programang “SQL Sever Management Studio” (“ Magsimula» ( Magsimula) — « Lahat ng mga programa"(Lahat ng mga programa) -" Microsoft SQL Server 2008 R2» — « Mga Tool ng SQL Server 2008 R2") at ilagay ang iyong impormasyon sa pag-login.

Pagkatapos nito, siguraduhing muli na tumatakbo ang SQL Server Agent (dapat mayroong tab sa Object Browser Ahente ng SQL Server» (SQL Server Agent) na may berdeng icon sa kaliwa.

3. Gumawa ng plano sa pagpapanatili

Ngayon ay magpatuloy tayo sa paggawa ng plano sa pagpapanatili. Sa Object Explorer ( Object Explorer) buksan ang tab " Kontrol» (Pamamahala), i-click i-right click mouse sa tab" Mga Plano sa Serbisyo» (Mga Plano sa Pagpapanatili) at sa menu ng konteksto piliin ang " Maintenance Plan Wizard» (Maintenance Plan Wizard ) .

Sa service plan wizard na ilulunsad, sa welcome page, i-click ang “ Susunod"(Susunod) at sa susunod na window ipasok ang pangalan at paglalarawan ng bagong plano.

Pagkatapos ay kailangan mong magpasya sa iskedyul ayon sa kung saan ang ang planong ito serbisyo. Upang gawin ito, itakda ang switch sa " Isang iskedyul para sa buong plano o walang iskedyul» ( Isang iskedyul para sa buong plano o walang iskedyul) at i-click ang " Baguhin…» (Baguhin...) para magtalaga ng iskedyul.

Ang bintana" Mga Katangian ng Iskedyul ng Trabaho". Dito namin itatakda ang mga parameter ayon sa kung saan dapat isagawa ang plano sa pagpapanatili at i-click ang " OK". Sa aking halimbawa ito ay:

  • Napatay-" Linggu-linggo"(Nangyayari - Lingguhan);
  • Umuulit tuwing-" 1 linggo"V" Linggo» (Umuulit tuwing: 1 linggo (mga) sa Linggo);
  • Ipatupad isang beses sa isang araw sa: — “2:00:00” (Nangyayari nang isang beses sa: “2:00:00”);

Siguraduhin nating muli na ang iskedyul ay naitakda nang tama at i-click ang " Susunod"(Susunod).

Dito namin pipiliin ang mga gawain na gagawin ng aming plano sa pagpapanatili. Sa aking halimbawa ito ay:

  1. Suriin ang Integridad ng Database;
  2. Ang Back Up Database (Buong)

Mangyaring tandaan na para sa bawat gawain nito maikling paglalarawan sa kahon sa ibaba. Kapag napili ang mga kinakailangang gawain, i-click ang " Susunod"(Susunod).

Ngayon ay kailangan mong itakda ang pagkakasunud-sunod ng mga gawain gamit ang mga pindutan " pataas…"(Move Up) at " Pababa…"(Ilipat pababa). Kapag naitatag ang order, i-click ang " Susunod"(Susunod).

Dito kailangan mong magtakda ng mga parameter para sa bawat gawain sa plano. Ang unang gawain sa aming listahan ay “ Pagkopya ng database (buo)» (Back Up Database (Buong)).

Una sa lahat, kailangan mong piliin ang mga database para sa backup sa pamamagitan ng pag-click sa pindutan ng pagpili ng listahan " Mga Partikular na Database"(Pumili ng isa o higit pa). Ang pagkakaroon ng napiling mga database na kinakailangan para sa backup, i-click ang " OK» .

Sa ibaba ay itatakda namin ang lokasyon at panahon ng imbakan para sa mga backup na kopya, at itatakda din karagdagang mga pagpipilian:

  1. Kung itatakda mo ang switch " Lumikha ng file backup na kopya para sa bawat database» (Gumawa ng backup file para sa bawat database), pagkatapos kapag ang gawain ay naisakatuparan, maraming mga backup na file na may mga pangalan na naaayon sa mga pangalan ng mga database ay malilikha sa napiling direktoryo. Well, ang pagtatakda ng bandila " Gumawa ng subdirectory para sa bawat database» (Gumawa ng sub-directory para sa bawat isa database) ay ayusin ang mga file sa magkahiwalay na mga folder. Pakitandaan na dapat mong iwanang nakalagay ang backup na extension ng file.
  2. Pagtatakda ng bandila " Malapit nang mag-expire ang backup set" (Mag-e-expire ang backup set) sa SQL server kung kailan maaaring ma-overwrit ang set na ito nang hindi tahasang nilalaktawan ang expiration check.
  3. Para sa maximum na pagiging maaasahan, maaari mong itakda ang bandila " Suriin ang integridad ng backup na kopya"(I-verify ang integridad ng backup).
  4. Inirerekomenda ko rin ang pagpili ng " I-compress ang mga backup"(I-compress ang backup) upang makatipid ng espasyo sa disk kung sinusuportahan ng bersyon ng SQL Server na iyong ginagamit ang function na ito.

Kung espasyo sa disk limitado, maaari ka ring pumili ng isang file upang iimbak ang backup, na ma-overwrite pagkatapos ng bawat pagpapatupad ng plano sa pagpapanatili. Upang gawin ito, itakda ang kaukulang switch sa " Gumawa ng backup na kopya ng mga database sa isa o higit pang mga file" (I-back up ang mga database sa isang ore pang mga file) at tukuyin ang naaangkop na pangalan ng file (mag-ingat, ang backup na file ay dapat na tinukoy na may extension na .bak), at piliin din ang " I-overwrite"kung may mga backup na file: I-overwrite".

Ngayon ay oras na ng gawain" Sinusuri ang Integridad ng Database» (Database Check Integrity). Ang kailangan mo lang gawin ay pumili ng isang database. Sa aking halimbawa, ito pa rin ang parehong database tulad ng sa nakaraang hakbang. Ang pagkakaroon ng pagpapasya sa mga database, i-click ang " Susunod"(Susunod).

Naka-on susunod na pahina Posibleng piliin ang direktoryo kung saan ise-save ang log ng pagpapatupad ng trabaho, at tukuyin din ang SQL Server upang ipadala ang ulat sa pamamagitan ng email. Pagkatapos itakda ang mga parameter, i-click ang " Susunod"(Susunod).

Suriin nating muli ang lahat ng mga setting ng plano ng serbisyo, at kung tama ang lahat, i-click ang " handa na"(Tapos na).

Magsisimula ang wizard na bumuo ng plano sa pagpapanatili. Kung ang wizard ay hindi nakakita ng anumang mga error, makakakita kami ng mensahe tungkol sa matagumpay na pagtatayo ng plano. Kung hindi, kailangan mong alisin ang mga error at ulitin muli ang pamamaraan. Isara ang window sa pamamagitan ng pag-click sa " Isara"(Close).

4. Simulan ang plano sa pagpapanatili

Upang simulan ang plano sa pagpapanatili, pumunta sa programa " kapaligiran ng Microsoft SQL Pamamahala ng Server Studio". Dito, sa pamamagitan ng pagbubukas ng tab " Mga Plano sa Serbisyo» (Maintenance Plans) makikita natin ang ating bagong likhang plano. Upang suriin ang operasyon nito, i-right-click ito at piliin ang " Ipatupad"(Ipatupad) .

Pagkatapos nito, magbubukas ang window ng pagpapatupad ng plano sa pagpapanatili, kung saan, pagkatapos ng kinakailangang tagal ng oras, dapat lumitaw ang isang mensahe tungkol sa matagumpay na pagpapatupad.

At dapat lumitaw ang isang backup na file sa naaangkop na mga direktoryo

at isang log file ng pagpapatupad ng plano.

Kapag binuksan mo ang file na ito, dapat kang makakita ng ganito:

Kung gayon, binabati kita! Ang plano sa pagpapanatili ng SQL Server ay nilikha at tumatakbo.

Nakatulong ba sa iyo ang artikulong ito?

Inihambing namin ang mga presyo kapag gumagamit ng mga serbisyo sa pag-uulat, na available bilang isang serbisyo sa Microsoft Azure(SQL Reporting), na may opsyong mag-deploy ng regular na virtual machine na may SQL Server (SSRS).
Muli, hindi ko ipinapalagay na sabihin na ang isang serbisyo ay mas mabuti o mas masahol pa. Sa karamihan ng mga kaso, ang desisyon tungkol sa kung aling serbisyo ang gagamitin sa isang aplikasyon ay dapat gawin ayon sa mga gawaing kinakaharap ng aplikasyon, at mga pangangailangan sa pananalapi customer. Gusto ko lang ipakita na may dalawang paraan para bumuo ng solusyon gamit ang mga serbisyo sa pag-uulat.

Use Cases

Ipagpalagay natin na ang aming application ay tumatakbo sa Microsoft Azure at ipinatupad bilang isang Cloud Service (PaaS). Gumagamit ito ng database bilang pinagmumulan ng data data ng SQL Azure. Dapat na i-configure ang mga serbisyo sa pag-uulat para magamit sa application. Gaya ng napag-usapan kanina, mga serbisyo sa pag-uulat para sa Mga aplikasyon ng Microsoft Maaaring itayo ang Azure sa dalawang paraan:

  1. PaaS: SQL Azure + SQL Reporting;

    Gagamitin ang SQL Reporting bilang isang serbisyo.
  2. Hybrid na solusyon: SQL Azure + SQL Server Reporting Services;
    Gagamitin ang SQL Azure bilang isang serbisyo;
    Dapat na i-configure ang SQL Reporting Services sa isang hiwalay virtual machine SQL Server (IaaS).

Tingnan natin ngayon ang detalyadong proseso ng pag-set up ng parehong mga serbisyo. Gayunpaman, bago tayo magsimula, ipagpalagay ko na ang Azure SQL Database ay na-configure at naka-host na sa Microsoft Azure.

Pagpipilian sa PaaS: SQL Azure + SQL Reporting

Pagse-set up ng serbisyo sa Pag-uulat ng SQL

Iulat ang mga setting ng proyekto


Hybrid na solusyon: SQL Azure + SQL Server Reporting Services

Paglikha ng isang virtual machine


Pagse-set up ng SQL Server


Netsh advfirewall firewall magdagdag ng pangalan ng panuntunan = "SQL Server 1433" dir=in action=allow protocol=TCP localport=1433 netsh advfirewall firewall magdagdag ng rule name="HTTP 80" dir=in action=allow protocol=TCP localport=80

Pagse-set up ng Mga Serbisyo sa Pag-uulat


Pagse-set up ng Microsoft Azure Firewall



Konklusyon

Pagkatapos makumpleto ang lahat ng mga hakbang, ang SQL Server Reporting Services ay magiging available sa URL na tinukoy kapag lumilikha ng virtual machine:
http://.cloudapp.net/ReportServer

Gamitin ang URL na ito bilang halaga ng property na “TargetServerURL” kapag nagpa-publish ng proyekto ng ulat sa pamamagitan ng SQL Negosyo ng Server Intelligent Development Studio.

Ang materyal na ito ay isinulat ng isang miyembro ng komunidad. Kinakatawan ng artikulong ito ang opinyon ng may-akda, na maaaring hindi sumasalamin sa opinyon ng Microsoft Corporation. Walang pananagutan ang Microsoft para sa mga problema sa hardware o software mga problemang maaaring lumitaw pagkatapos gamitin ang mga materyales sa artikulong ito.

Hindi pa ako nakarinig ng sinumang lumaki na nangarap na maging isang database administrator kapag sila ay lumaki. Ang buhay ay humahantong lamang sa amin sa propesyon na ito, bagaman maraming mga tao ang talagang gusto ito. Sumisid sa Pangangasiwa ng SQL Ang server ay bihirang mangyari sa isang manwal ng produkto kaysa sa hindi kailangan nating matutunan ang mga lihim ng craft sa ating sarili. Ganito talaga ako nagsimula, at marami akong pagkakamali sa aking pag-aaral. Samakatuwid, naghanda ako ng isang serye ng mga artikulo na sumasaklaw na sa mga paksa ng backup at pagbawi. Ngayon ay oras na upang pag-usapan ang pangunahing tool para sa pag-configure ng mga setting ng SQL Server - ang tagapamahala Mga setting ng SQL server.

Tagapamahala ng Mga Setting ng SQL Server - interactive na aplikasyon upang pamahalaan ang lahat ng mga serbisyo sa Nakabatay sa SQL Server, network protocol, listening port at paggawa ng mga server alias. Ang SQL Server Configuration Manager (SSCM) ay available sa hierarchy ng mga item sa menu Start\Microsoft SQL Server 20xx\Configuration Tools\SQL Server Configuration Manager sa mga bersyon Microsoft Windows, nakaraan Paglabas ng Windows 8 at Windows Server 2012. Sa pinakahuling mga tinukoy na bersyon operating system search mo na lang sa mga salitang SQL Server at piliin ang SQL Server Settings Manager mula sa listahan ng mga application. Sa unang pagkakataong ma-access mo ang SSCM, ang program ay parang ipinapakita ng Figure 1 (ginagamit ng artikulong ito ang SQL Server 2014 bilang isang halimbawa).

Screen 1: SQL Server Settings Manager

Mga setting

Tingnan natin nang maigi mga posibleng aksyon, pinapayagan sa SSCM. Ang bawat item sa kaliwang pane ay kumakatawan sa isa o higit pang mga gawain na maaari mong gawin sa SSCM. Sa ilang mga kaso, mayroong parehong 64-bit at 32-bit na opsyon. Sa artikulong ito kami ay tumutuon sa 32-bit na bersyon. Ngayon, ang Microsoft SQL Server ay naka-host sa 32-bit na mga server lamang kung:

a) ikaw ang may-ari lumang bersyon SQL Server;

b) Malamang na inaagawan mo ang iyong SQL Server instance ng mahahalagang mapagkukunan ng memorya.

Ilista natin ang mga aksyon na available sa SSCM manager (tingnan ang Figure 2).


Screen 2: Magagamit ang Mga Pagkilos sa SSCM
  • Mga Serbisyo ng SQL Server. Ang pagkilos na ito Binibigyang-daan kang simulan, ihinto, at i-restart ang lahat ng serbisyong nauugnay sa Microsoft SQL Server. Bilang karagdagan, maaari kang magbago mga account mga serbisyo, pag-uugali sa pagsisimula at karagdagang mga tampok at mga pagpipilian sa pagsisimula depende sa serbisyo.
  • Mga setting ng network ng SQL Server. Binibigyang-daan ka ng pagkilos na ito na paganahin o huwag paganahin ang mga partikular na protocol ng network: Shared Memory, Named Pipes, at TCP/IP, pati na rin ang pag-configure ng mga karagdagang setting para sa bawat isa sa kanila.
  • Mga custom na setting SQL client Server (kasalukuyang bersyon 11.0). Binibigyang-daan ka ng pagkilos na ito na itakda ang pagkakasunud-sunod kung saan gagamit ang mga kliyente ng mga espesyal na pinaganang protocol para kumonekta sa isang custom na instance ng SQL Server. Maaari mo itong gamitin upang lumikha ng mga alias para sa iyong SQL Server instance iba't ibang mga aplikasyon mga end user maaaring kumonekta sa mga server na may mga pangalan na iba sa aktwal na pangalan ng server. Ginagawa ito kung sakaling hindi mo mababago ang mga string ng koneksyon kapag naglilipat ng mga database ng application, ngunit nais pa ring tiyakin ang pagpapatuloy o itago ang tunay na pangalan ng server mula sa mga end user. Tingnan natin ang bawat isa sa mga pagkilos na ito nang mas detalyado.

Mga Serbisyo ng SQL Server

Ang mga naka-bundle na serbisyo ng SQL Server ay maaaring (at dapat) pamahalaan at i-configure mula sa SSCM kaysa sa services.msc API. Gaya ng nabanggit sa itaas, makokontrol namin hindi lamang ang pag-uugali ng startup at account ng serbisyo, kundi pati na rin ang mga karagdagang setting para sa bawat serbisyo (tingnan ang Larawan 3).

  • Mga Serbisyo sa Pagsasama ng SQL Server. Walang karagdagang mga opsyon na maaaring i-configure.
  • Mga Serbisyo sa Pagsusuri ng SQL Server. Walang karagdagang mga opsyon na maaaring i-configure.
  • Serbisyo ng SQL Server:

1. FILESTREAM. Ang setting na ito ay nagpapahintulot sa iyo na paganahin o huwag paganahin ang T-SQL access, access file I/O, i-access ang remote na kliyente at itakda ang pangalan nakabahaging mapagkukunan FILESTREAM.

2. Mataas na antas Laging nasa availability. Ang setting na ito ay nagbibigay sa iyo ng kakayahang paganahin o huwag paganahin ang AlwaysOn Availability Groups, pati na rin ang pag-configure failover cluster Windows (WFCS) kung saan binuo ang availability group.

3. Mga opsyon sa paglunsad. Binibigyang-daan ka ng SSCM na magtalaga ng mga espesyal na opsyon sa pagsisimula na magkakabisa para sa isang halimbawa. Palagi kang magkakaroon sa iyong pagtatapon kahit man lang tatlong mga pagpipilian sa pagsisimula para sa anumang halimbawa ng SQL Server upang matiyak na tama paglulunsad ng Microsoft SQL Server:

  • -d. Tinutukoy ang lokasyon ng master database data file (.mdf).
  • -l. Tinutukoy ang lokasyon ng file ng log ng transaksyon (.ldf) para sa master database.
  • -e. Tinutukoy ang lokasyon ng instance error log file.

Bakit ang tatlong parameter na ito? Dahil gumagana ang master bilang "utak" na nakaharap sa labas ng SQL instance, nagtatrabaho kasabay ng nakatagong Resource database, na nagbibigay ng lahat ng kinakailangang metadata na kailangan upang patakbuhin ang SQL Server instance. Kailangan mong gumamit ng log ng error upang itala ang bawat hakbang ng proseso ng pagsisimula.

Maaaring i-configure ang mga karagdagang opsyon, lalo na upang patakbuhin ang server sa single-user mode para sa mga layunin ng pag-troubleshoot (-m); maglunsad ng isang instance na may kaunting set ng mga setting (-f) sa mga kaso kung saan kinakailangan na i-bypass ang isang hindi matagumpay na parameter na maaaring humantong sa pagkasira sa tugon ng instance; pagtatakda ng mga bakas na flag na nagbabago sa pangunahing gawi ng Microsoft SQL Server (-T). Kinailangan kong gumamit ng -f upang ayusin ang mga nabigong setting noong sinusubukan kong ipakita ang mga isyu at setting ng limitasyon sa memorya pinakamataas na halaga Napakaliit ng memorya ng server na hindi nito kayang patakbuhin ang SQL Server. Siyempre, karamihan sa mga DBA ay nagtakda ng ilang mga bakas na flag sa panahon ng kanilang propesyonal na aktibidad sa bawat isa Mga SQL server Server sa pamamagitan ng -T parameter, ngunit higit pa akong magsasalita tungkol dito sa isa pang artikulo.

Ang isang kumpletong listahan ng mga pagpipilian sa pagsisimula ay matatagpuan sa opisyal na dokumentasyon Microsoft (https://msdn.

microsoft.com/en-us/library/ms190

4. Advanced (“Advanced”). Ang Advanced na tab para sa serbisyo ng SQL Server (Figure 4) ay nagbibigay ng kakayahang baguhin ang dump directory para sa halimbawa, pati na rin i-configure ang mekanismo para sa pagpasa ng feedback sa kumpanya ng Microsoft Para sa karagdagang trabaho sa ibabaw ng produkto. Bilang karagdagan, makakakuha ka ng kakayahang basahin (ngunit hindi baguhin) ang mga karagdagang parameter na nakalista sa ibaba.

  • Mga Serbisyo sa Pag-uulat ng SQL Server. Maaari naming kontrolin ang ilan pangunahing mga parameter mga serbisyo para sa SQL Server Reporting Services (SSRS), ngunit mayroong isang hiwalay na interface para sa serbisyong ito. Hindi ko inirerekomenda ang paggamit ng SSCM para sa lahat ng aspeto ng pagsasaayos ng SSRS, bagama't ang ilan ay magagamit.
  • SQL Server Browser. Bukod sa pag-uugali sa pagsisimula at account ng serbisyo, may ilan karagdagang mga setting ng serbisyong ito na maaaring pamahalaan maliban sa dump directory at error log. Inirerekomenda na huwag paganahin ang serbisyong ito maliban kung marami kang pagkakataon ng SQL Server sa parehong node.
  • Serbisyo ng Ahente ng SQL Server ahente ng SQL Server"). Katulad ng maraming iba pang mga serbisyo, maaari mo lamang i-configure ang dump directory, error logging, at pag-uulat ng feedback, kasama ang startup behavior at service account.

Mga Setting ng Network ng SQL Server

Mga aksyon sa setup ng network Pinapayagan ka ng SQL Server na paganahin ang alinman o lahat ng tatlo protocol ng network, available sa Microsoft SQL Server: Shared Memory, Named Pipes at TCP/IP.

Nagbibigay ng access ang Shared Memory at Named Pipes network computer sa SQL Server, at tinutukoy ng TCP/IP ang mga paraan ng komunikasyon mga aparato sa network na may isang halimbawa ng SQL Server. Oo, ang Named Pipes ay maaaring gamitin sa kapaligiran ng Windows, ngunit nawala mo ang lahat ng benepisyo ng pag-bypass salansan ng network kapag gumagamit ng Named Pipes between mga malalayong server. Ang mga setting ng Shared Memory ay nagsisimula at nagtatapos sa status na paganahin. Ang pinangalanang Pipes, bilang karagdagan sa status na pinagana/na-disable, ay nagbibigay-daan sa iyong tumukoy ng pangalan ng pipe para sa SQL Server. Sa wakas, pinapayagan ka ng TCP/IP na paganahin o huwag paganahin ang protocol na ito, kasama ang pagbabago ng port kung saan nakikinig ang SQL Server para sa mga kahilingan.

Pagse-set up ng SQL Server Native Client

Binibigyang-daan ka ng hanay ng mga pagkilos na ito na itakda ang pagkakasunud-sunod kung saan pinoproseso ang mga query sa SQL Server. Bilang karagdagan, magagawa mong hindi paganahin ang pinangalanang mga protocol para sa kliyente, pati na rin magtalaga ng pangalan ng channel at numero ng port.

Interface ng Manager ng Mga Setting ng SQL Server - mahalagang sangkap i-configure kung paano gumagana ang mga instance at kung paano nakikipag-ugnayan ang SQL Server sa mga computer at kliyente na nagpapadala ng mga query sa mga database na naka-host sa instance. Tinutukoy nito kung paano inilunsad ang instance at ang seguridad ng mismong instance. pangunahing antas sa pamamagitan ng pamamahala sa mga account ng serbisyo na nagmamay-ari iba't ibang sangkap Microsoft SQL Server. Ito ang unang linya ng depensa ng SQL Server, at ang mga bago at may karanasang DBA ay kailangang gumamit ng SSCM nang tama at magkaroon ng kamalayan sa mga opsyon sa pagpapasadya na ibinibigay nito.

Sa SQL Server 2016 at mas bago mga susunod na bersyon Maaari mong i-install ang lahat ng R Services (in-database) na mga kaugnay na bahagi sa pamamagitan ng paggamit ng SQL Server Installation Wizard.

Pagkatapos makumpleto ang pag-install, maaaring kailanganin mo karagdagang mga aksyon upang paganahin ang mga serbisyo ng R, i-configure ang mga account, at bigyan ang mga user ng mga pahintulot na ma-access ang mga partikular na database.

Kung mayroon kang mga problema sa pag-access sa mga database pagkatapos makumpleto ang pag-install, o kung kailangan mong alisin mga nakaraang bersyon, tingnan ang seksyon.

    Buksan ang SQL Server Management Studio. Kung hindi pa ito naka-install, maaari mong patakbuhin muli ang SQL Server Setup Wizard upang i-download ito mula sa link at i-install ito.

    Kumonekta sa instance kung saan naka-install ang R Services (sa database) at patakbuhin ang sumusunod na command para tahasang paganahin ang R Services component Kung hindi, hindi mo matatawagan ang mga R script, kahit na ang component ay na-install ng installer.

    Exec sp_configure "pinagana ang mga panlabas na script" , 1 I-reconfigure nang may override

    I-restart ang serbisyo ng SQL Server para sa halimbawa ng SQL Server. Kaugnay na Serbisyo Pinagkakatiwalaang panel ilunsad ang SQL Awtomatikong magre-reboot din ang Server. Maaari mong i-restart ang serbisyo gamit ang Services panel sa Control Panel o gamit ang Manager Mga pagsasaayos ng SQL server.

    Kapag available na ang serbisyo ng SQL Server, tingnan kung pinagana ang R sa pamamagitan ng pagpapatakbo ng sumusunod na command at pagsuri kung ang property ay run_value halaga 1:

    Exec sp_configure "pinagana ang mga panlabas na script"

    Maaari mo ring buksan ang panel Mga serbisyo at tingnan kung tumatakbo ang serbisyo ng launchpad para sa iyong halimbawa. Ang bawat pagkakataon ay may sariling serbisyo ng launchpad.

    Dapat ay magagawa mo na ngayong tumakbo sa SQL Server Management Studio mga simpleng script R, tulad ng sumusunod:

    Exec sp_execute_external_script @language =N"R", @script=N"OutputDataSet<-InputDataSet ", @input_data_1 =N"select 1 as hello" with result sets (( int not null)); go

    Mga resulta

    hello
    1

Ang proseso ng pag-install ay lumilikha ng 20 Windows user account para magsagawa ng mga gawain gamit ang SQL Server Trusted Launchpad service security token. Kapag nagsumite ang isang user ng R script mula sa isang external na client, ang SQL Server ay nag-a-activate ng available na account sa trabaho, itinutugma ito sa pagkakakilanlan ng tumatawag na user, at ipapatupad ang R script sa ngalan ng user. Ito ay isang bagong serbisyo ng Database Engine na nagbibigay ng ligtas na pagpapatupad ng mga panlabas na script gamit ang tinatawag na mekanismo implicit na pagpapatunay.

Maaaring tingnan ang mga account sa grupo ng Mga User ng Windows SQLRUserGroup. Kung kailangan mong magpatakbo ng mga R script mula sa isang malayuang data science client at gumagamit ka ng Windows authentication, ang mga work account na ito ay dapat bigyan ng pahintulot na mag-log in sa SQL Server instance sa ngalan mo.

  1. Sa SQL Server Management Studio, sa Object Explorer, palawakin Kaligtasan, i-right click Mga login at piliin Lumikha ng Login.
  2. Sa dialog box Paglikha ng isang Login i-click ang pindutan Maghanap.
  3. I-click Mga Uri ng Bagay at piliin Mga grupo. Alisin sa pagkakapili ang lahat ng iba pang opsyon.
  4. Sa field na "Ipasok ang pangalan ng bagay," ilagay SQLRUserGroup at i-click Suriin ang mga pangalan.
  5. Ang pangalan ng lokal na pangkat na nauugnay sa serbisyo ng launchpad ng halimbawa ay dapat malutas sa instance_name\SQLRUserGroup. I-click ang button OK.
  6. Bilang default, ang pangalan sa pag-login ay itinalaga magagamit sa publiko mga tungkulin at may pahintulot na kumonekta sa kernel ng DBMS.
  7. I-click ang button OK.

Kung ikaw mismo ang nag-install ng SQL Server at nagpatakbo ng mga R script sa sarili mong pagkakataon, karaniwan mong ginagawa ito nang may mga karapatang pang-administratibo at samakatuwid ay may tahasang pahintulot na magsagawa ng iba't ibang mga operasyon at ma-access ang lahat ng data sa database, pati na rin ang kakayahang mag-install ng mga bagong R package sa pamamagitan ng kung kinakailangan.

Ngunit sa isang senaryo ng enterprise, karamihan sa mga user, kabilang ang mga nag-a-access sa database gamit ang SQL logins, ay walang ganoong mataas na karapatan. Samakatuwid, ang bawat user na magsasagawa ng mga panlabas na script ay dapat bigyan ng pahintulot na magsagawa ng mga R script sa bawat database kung saan gagamitin ang R.

GAMITIN GO GRANT I-EXECUTE ANG ANUMANG EXTERNAL SCRIPT TO

Inilalarawan ng seksyong ito ang mga karagdagang pagbabago na maaari mong gawin sa configuration ng instance, o, kung gumagamit ka ng data science client, mga pagbabago upang paganahin ang mga R script na tumakbo.

Baguhin ang bilang ng mga account sa trabaho na ginagamit ng SQL Server Trusted Launchpad

Kung inaasahan mong gagamitin nang husto ang R environment o maraming user ang nagpapatakbo ng mga script nang sabay-sabay, maaari mong dagdagan ang bilang ng mga account sa trabaho na nakatalaga sa serbisyo ng Launchpad. Para sa karagdagang impormasyon, tingnan ang .

Bigyan ng R user o login ang kinakailangang read, write, o DDL na pahintulot sa mga karagdagang database

Kapag nagpapatakbo ng mga R script, maaaring kailanganin ng isang user account na magbasa ng data mula sa iba pang mga database, lumikha ng mga talahanayan upang iimbak ang mga resulta, at magsulat ng data sa mga talahanayan.

Ang bawat user account na nagpapatakbo ng mga R script ay dapat may mga pahintulot db_datareader, db_datawriter o db_ddladmin para sa isang tiyak na database.

Halimbawa, ang sumusunod na Transact-SQL statement ay nagbibigay ng SQL login MySQLLogin karapatang magsagawa ng mga query sa T-SQL sa database RSamples. Upang makumpleto ang pahayag na ito, dapat na umiiral na ang SQL login sa konteksto ng seguridad ng server.

GAMITIN ang RSamples GO EXEC sp_addolemember "db_datareader" , "MySQLLogin"

Para sa higit pang impormasyon tungkol sa mga pahintulot na kasama sa bawat tungkulin, tingnan ang .

Gumawa ng ODBC data source para sa isang instance sa data science client

Kung gumagawa ka ng R solution sa isang data science client machine at kailangan mong kumonekta sa SQL Server machine na nagsisilbing compute context, maaari mong gamitin ang SQL login o Integrated Windows authentication.

Kapag gumagamit ng SQL login, dapat itong magkaroon ng naaangkop na mga pahintulot sa database kung saan babasahin ang data. Upang gawin ito, maaari kang magdagdag ng mga pahintulot Kumonekta sa At PUMILI o magdagdag ng pag-login sa tungkulin db_datareader. Kung kailangan mong lumikha ng mga bagay kakailanganin mo ng mga pahintulot DDL_admin. Upang mag-imbak ng data sa mga talahanayan, magdagdag ng login sa tungkulin db_datawriter.

Kung gumagamit ka ng Windows authentication, dapat mong i-configure ang ODBC data source sa data science client na may pangalan ng instance at iba pang impormasyon ng koneksyon.

Para sa karagdagang impormasyon, tingnan ang .

Pag-optimize ng server para sa R

Ang mga default na setting para sa SQL Server Setup ay idinisenyo upang i-optimize ang pagpapatupad ng iba't ibang serbisyo na sinusuportahan ng database engine sa server, kabilang ang mga proseso ng pagkuha, pagbabago, at paglo-load, pag-uulat, pag-audit, at mga application na gumagamit ng data ng SQL Server. Samakatuwid, kapag gumagamit ng mga default na setting, ang mga mapagkukunan para sa mga pagpapatakbo ng R ay maaaring limitado o ma-throttle, lalo na para sa mga pagpapatakbong masinsinang memorya.

Upang matiyak na ang mga gawain sa R ​​ay itinalaga ang mga naaangkop na priyoridad at inilalaan ang mga kinakailangang mapagkukunan, inirerekomenda namin ang paggamit ng tool na Resource Governor upang i-configure ang isang panlabas na mapagkukunan ng pool para sa mga pagpapatakbo ng R Maaari mo ring baguhin ang dami ng memory na inilaan sa SQL Server Database Engine o dagdagan ang bilang ng mga account sa Trusted Launchpad service na SQL Server.

    Tugma sa bersyon RC2: i-download ang archive rre-gpl-src.8.0.2.tar.gz

    Tugma sa bersyon ng RC3: i-download ang archive rre-gpl-src.8.0.3.tar.gz

    Tugma sa bersyon ng RTM: i-download ang archive rre-gpl-src.8.0.3.tar.gz

Nagkakaroon ng mga problema? Tingnan ang listahan ng mga karaniwang problema kapag nag-i-install ng mga preview na bersyon ng R Services (sa database).

23/09/2015

Mga karaniwang error sa pagse-set up ng mga plano sa pagpapanatili para sa MS SQL Server DBMS para sa 1C

Magandang hapon, mga kasamahan.

Sa artikulo ngayon, nais naming isaalang-alang ang isang medyo sikat at sikat na paksa, tulad ng pag-set up ng mga plano sa pagpapanatili para sa MS SQL Server. Sa p bilang resulta ng aming mga pag-audit, kaminatitirang karaniwan (higit sa 60% ng mga kaso)Natuklasan namin ang mga kamalian sa pagsasaayos ng MS SQL Server DBMS na ginamit upang gumana sa mga produkto ng 1C. Ipinapakita ng pagsasanay na ang DBMS na ito ang pinakakaraniwan, kaya sa artikulong ito ay isasaalang-alang natin ang mga pangunahing nuances ng pagtatrabaho dito.

Kaya saan ka magsisimulang mag-set up ng plano sa pagpapanatili? Mula sa isang backup, siyempre! Ang unang panuntunan ng DBA ay: "Huwag magsimulang gumawa ng anuman nang walang backup." Well, hindi rin kami. Tingnan natin ang dalawang pangunahing opsyon para sa paggawa ng mga backup, o sa halip, dalawang backup na modelo, o mga modelo sa pagbawi ( https://msdn.microsoft.com/ru-ru/library/ms189275(v=sql.120).aspx )

Pagbawi gamit ang simpleng modelo

Ang iyong database ay nasa SIMPLE recovery mode. Ano ang ibig sabihin nito? Nangangahulugan ito na mayroon lamang mga buong backup, hindi na kailangang i-back up ang mga log ng transaksyon, ang pagganap sa kahulugan na ito ay maximum, ngunit maaari mo lamang ibalik sa backup point. Ang pagpapanumbalik ng database "sa isang tinukoy na punto sa oras" ay imposible.
Samakatuwid, tuwing gabi (o mas madalas, depende sa pangangailangan) kailangan naming kumuha ng bagong kopya ng aming database at ilagay ito sa isang ligtas na lugar, at tiyak na hindi sa parehong lugar ng aming pangunahing database
Sa pangkalahatan, ang paggamit ng SIMPLE na modelo para sa mga tunay na database ng produksyon ay nabibigyang katwiran lamang sa mga kaso ng napakataas na pag-load at hindi gaanong mga kaganapan sa pagkawala ng data mula noong huling backup.

Bilang karagdagan, agad kong hawakan ang isyu ng pagtatrabaho sa log ng transaksyon. Dahil ang log ng transaksyon ay hindi masyadong nakakatulong sa amin sa recovery mode na ito, hindi na kailangang i-back up ito - lahat ng impormasyon mula sa log ay nailipat na sa backup. Karaniwan, ang mga log sa modelo ng pagbawi na ito ay hindi lalago nang malaki, ngunit kung minsan ay kapaki-pakinabang na putulin ito. Halimbawa, pagkatapos ng napakalaking pagbabago ng data, ang operasyong ito ay maaaring maging lubhang kapaki-pakinabang sa mga tuntunin ng espasyo ng log ng transaksyon. Kung ang disk na may log ay puno na, ikaw ay garantisadong magkakaroon ng mga problema sa paggana ng database.

Maaaring isagawa ang pagputol ng data gamit ang karaniwang service plan setup wizard o gamit ang isang simpleng T-SQL script:

DBCC SHRINKFILE(DatabaseName, 1);
GO


Babawasan ng script na ito ang laki ng database log file sa paunang laki (bilang default, kadalasan ito ay magiging 1 MB). Gayunpaman, hindi mo dapat gawin ang operasyong ito palagi. Sa isip, ang iyong mga file ay hindi dapat magbago sa laki sa panahon ng sistematikong trabaho, ngunit pag-uusapan natin ito sa ibang pagkakataon.

Pagbawi gamit ang buong modelo

Tingnan natin ang mga pangunahing prinsipyo ng pag-set up ng backup at pamamahala sa laki ng log ng transaksyon mula sa punto ng view ng pinakalaganap na opsyon - ang buong modelo ng pagbawi ng database.


Ang buong modelo ng pagbawi ay naiiba sa simple dahil sa buong operasyon ng database ay maaari tayong (o, mas tiyak, DAPAT!) gumawa ng mga backup ng log ng transaksyon, sa gayon ay nagbibigay ng kakayahang ibalik ang database sa pagitan ng mga punto ng pangunahing pag-backup o pag-rollback para sa mga partikular na yugto ng oras ng pagpapatakbo ng database, at pati na rin ang pagtiyak na ang espasyo ay libre sa log file (truncation). Kung hindi ito nagawa, patuloy itong lalago hanggang sa isang araw ay mapuno nito ang lahat ng espasyong magagamit nito (sa disk man o hanggang sa limitasyong itinakda sa DBMS). Ang mga kahihinatnan ay tila halata, at hindi ang pinaka-kaaya-aya.

Mula sa punto ng view ng pagkakaroon ng buong backup, siyempre, ang minimum na limitasyon ay karaniwang pareho sa isang araw. Ang pagkakaiba-iba ng mga backup ng database ay ang kakayahang mag-save lamang ng mga pagbabago na naganap mula noong huling backup. Ito ay nagpapahintulot sa iyo na mabilis at mahusay na i-back up ang database, habang gumagamit ng medyo mabilis na pagbawi ng database sa nais na estado.
Maaaring isagawa ang mga backup ng log ng transaksyon sa dalas na kailangan mo sa buong araw, mas partikular kaysa sa mga backup ng differential database. Karaniwan naming inirerekumenda ang pagpili ng antas ng detalye ng kopya na humigit-kumulang ¼ ng oras na kinakailangan upang lumikha ng mga kopya ng differential database.

Gaya ng nabanggit sa itaas, kapag nagsagawa ka ng database transaction log backup sa isang buong modelo, awtomatiko itong puputulin (huwag lang malito ang pagputol sa compression!).

Muling pagkalkula ng mga istatistika at gumana sa mga index

Ang kasalukuyang kasanayan sa pagtatrabaho sa mga index at istatistika sa aming mga kliyente ay medyo mali. Kadalasan ay nahaharap tayo sa kumpletong kawalan ng mga pamamaraang ito sa mga plano sa pagpapanatili ng database. Madalas silang ginagawa sa maling pagkakasunud-sunod. Kadalasan ito ay hindi pinakamainam (halimbawa, sa parehong oras!).

Ang tamang pagkakasunod-sunod ng mga aksyon ay ganito:

    Pagtukoy sa antas ng fragmentation ng index

      Kung ang index ay maliit o bahagyang pira-piraso, ilulunsad namin ang pamamaraan para sa muling pagsasaayos ng index at muling pagkalkula ng mga istatistika.

      Kung hindi, sisimulan namin ang pamamaraan ng muling pagbuo ng index. Ang pamamaraan ng muling pagbuo ng index ay talagang mag-a-update ng mga istatistika, kaya hindi na kailangang muling kalkulahin ang mga istatistika pagkatapos ng kumpletong muling pagbuo ng index.

  1. Muli naming kinakalkula ang lahat ng iba pang istatistika kung kinakailangan.

Kung isasaalang-alang namin ang isang mini-script para sa muling pagkalkula ng mga istatistika at muling pagtatayo ng mga index (hindi kami nagpapanggap na sobrang kumpleto at unibersal), magiging ganito ang hitsura nito (na may mga index na pinagsunod-sunod sa isang cursor):

IDEKLARA ang @SQL NVARCHAR(MAX)

IDEKLARA ang @MIN_IND_SIZE integer = 128

IDEKLARA ang @MIN_FRAGMENTATION_LEVEL integer = 10

IDEKLARA ang @CRITICAL_FRAGMENTATION_LEVEL integer = 30


IDEKLARA ang kasalukuyangIndex CURSOR LOCAL READ_ONLY FORWARD_ONLY FOR

PILIIN ang "ALTER INDEX [" + ind.name + N"] SA [" +

SCHEMA_NAME(obj.) + "].[" + obj.name + "] " +

KASO WHEN stat.avg_fragmentation_in_percent > @CRITICAL_FRAGMENTATION_LEVEL

PAGKATAPOS "REBUILD WITH (SORT_IN_TEMPDB = ON, ONLINE = ON)"

IBANG "REORGANIZE"

END + ";"

MULA sa (

PUMILI ng stat., stat.index_id,

avg_fragmentation_in_percent = MAX(stat.avg_fragmentation_in_percent)

MULA sa sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, "DETAILED") stat

WHERE stat.page_count > @MIN_IND_SIZE AT stat.index_id > 0

AT stat.avg_fragmentation_in_percent > @MIN_FRAGMENTATION_LEVEL

GROUP BY stat., stat.index_id

) stat

SUMALI sa sys.indexes ind WITH(NOLOCK) SA stat. = ind.

AT stat.index_id = ind.index_id

SUMALI sa sys.objects obj WITH(NOLOCK) ON obj. =stat.

OPEN kasalukuyangIndex

SUSUNOD MULA SA currentIndex SA @SQL

HABANG @@FETCH_STATUS = 0 MAGSIMULA

i-print ang @sql

EXEC sys.sp_executesql @SQL

FETCH NEXT FROM cur INTO @SQL

Isara ang kasalukuyangIndex

I-DEALLOCATE ang kasalukuyangIndex


Pakitandaan ang paggamit ng tempdb, pati na rin ang pagpapanatiling available ang index sa panahon ng muling pagtatayo - depende sa edisyon ng iyong DBMS, maaaring hindi available ang huling function.

Mga abiso

Bilang karagdagan sa lahat ng mga teknikal na aspeto, napaka tama na mag-set up ng mga plano sa pagpapanatili na, kung naisakatuparan nang hindi tama, aabisuhan ka pa rin ng isang problema na naganap. At ito ang magiging pinakamaikling talata sa aking artikulo. :)

Kung ang lahat ay tila masyadong kumplikado sa iyo, o hindi ka sigurado na maaari mong gawin ang gayong mga setting sa iyong sarili, huwag mag-atubiling makipag-ugnay sa amin - tutulungan kami!