V tomto krátkém článku představím možnost, jak lze spustit sql skript mimo SQL management studio nebo jiný SW nástroj. Použijeme utilitu SQL server command line, zkráceně sqlcmd. Tato utilita umožňuje pracovat se SQL serverem prostřednictvím příkazové řádky. Využití je zřejmé a to třeba práce s SQL z různých aplikací. Já si tímto příspěvkem připravuju půdu pro článek, ve kterém bych chtěl ukázat alternativu k SQL Server Agentovi v případě, že máte jen základní SQL Express edici.

Jak spustit SQL příkaz přes sqlcmd?

Níže popíšu postup. Na serveru vytvoříme tabulku “Biportal_sqlcmd” prostřednictvím CREATE skriptu a vložíme do něj hodnotu “Hello world”. Skript:

USE [Temp];
CREATE TABLE Biportal_Test (
[ID] INT IDENTITY(1,1) PRIMARY KEY,
[Text] VARCHAR(255)
);

INSERT INTO Biportal_Test (
[Text]
)
VALUES(‘Hello world’);

Návod na používání sqlcmd:

1) Spustíme příkazovou řádku – Hledat “Cmd” – Command Prompt (příkazový řádek)

Spuštění cmd
1. Spuštění příkazové řádky (cmd)

příkazový řádek - cmd

2) Nejprve si vyzkoušíme spustit utilitu sqlcmd a vypsat si všechny parametry, ze kterých lze vybírat. To uděláme prostřednictvím příkazu sqlcmd -?

Parametry SQLCMD
2. Parametry SQL server command line utility (sqlcmd)

Ve výsledku vidíme, že existuje celá řada parametrů. Mezi ty nejpodstatnější patří:

  • -S název SQL server instance, ke které se chceme připojit
  • -U Uživatelské jméno (není potřeba pokud se připojujeme pod windows auth)
  • -P Heslo (není potřeba pokud se připojujeme pod windows auth)
  • -Q Dotaz – query

3) Přichází čas na to pustit dotaz, využijeme parametry -S a -Q. SQL příkaz bude vypadat nějak takto:

sqlcmd -S SQL-13 -Q “USE [Temp];CREATE TABLE Biportal_Test ([ID] INT IDENTITY(1,1) PRIMARY KEY, [Text] VARCHAR(255));INSERT INTO Biportal_Test ([Text]) VALUES(‘Hello world’);”

Po spuštění vidíme, že příkaz byl proveden:

sqlcmd - spuštění příkazu v cmd
Spuštění příkazu na založení tabulky a vložení 1 záznamu “Hello world”

4) Na závěr ještě otestujeme, že sql skript byl skutečně proveden a necháme si vypsat záznamy z tabulky, kterou jsme vytvořili

sqlcmd - test prikladu      

 

5/5 - (3 votes)

Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako freelancer. Pracoval jsem dříve také jako BI developer, finanční controller a analytik. Vše pro společnosti z oblasti IT, bankovnictví, consultingu a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a občas neúspěšně odpálím pár balónků v golfu 🏌️

Již cca 10 let zapisuji na tento web různé návody určené zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

🔥 Přihlašte se do naší Excel facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »

Leave a Reply

Your email address will not be published. Required fields are marked *