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’);
1) Spustíme příkazovou řádku – Hledat “Cmd” – Command Prompt (příkazový řádek)
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 -?
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:
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