Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Plasa de umbrire peste gard de pl...

O smecherie pe care nu o inteleg

Balcon parter fara acte

unde gasesc un speed bag in bucur...
 Programe TV cu altfel de sporturi

Laptop "bun la toate" max...

navigatie noua vw tiguan

ctfmon.exe - System Error (in Saf...
 Ați prins vremurile cand 120 Volț...

Whatsapp nu afișeaza numele ...

Medii admitere Politehnica Bucure...

Se extinde Baza de la Kogalniceanu
 Politist mutilat de caine in curt...

Trotineta- cat rezista?

Windows 11 si inregistrare de pe ...

Cont Facebook spart
 

batch: runas sqlcmd

- - - - -
  • Please log in to reply
1 reply to this topic

#1
shiva

shiva

    Nameless hero. Professional bug slayer mom.

  • Grup: Senior Members
  • Posts: 14,819
  • Înscris: 06.10.2003
Lucrez la un script care sa faca upgrade la DB, folosind sqlcmd. O parte din db-uri sunt accesibile folosind un user de domeniu, altele folosind useri sql.
Flowul cu credentiale sql functioneaza ok, cel cu credentiale de domeniu, nu.

ECHO Asumming sql scripts are located in %~dp0 ...
SET cur_dir=%~dp0
ECHO cur_dir %cur_dir%
IF %trusted%==1 (
ECHO Running sqlcommand with windows credentials
ECHO runas /user:%username% "sqlcmd -S %server% -D %database% -E -i Upgrade.sql -v folder=\"%cur_dir%\" -v database=%database% -v schema=%schema%"
ECHO.
runas /netonly /noprofile /user:%username% "sqlcmd -S %server% -D %database% -E -i Upgrade.sql -v folder=%cur_dir% -v database=%database% -v schema=%schema% -o sqlcmd_output.txt"
) ELSE (
ECHO Running sqlcmd with sql credentials
sqlcmd -S %server% -D %database% -U %username% -P %password% -i Upgrade.sql -v folder="%cur_dir%" -v database=%database% -v schema=%schema%
)


si ce-mi afiseaza scriptul:

Quote

e:\Database>run_upgrade.bat -S SQLSERVER -D MyDatabase -SH dbo -E -U domain\user
Asumming sql scripts are located in e:\Database\domain\ ...
cur_dir e:\Snapon\TechAuthority\Database\domain\
Running sqlcommand with windows credentials
runas /user:domain\user "sqlcmd -S SQLSERVER -D MyDatabase -E -i Upgrade.sql -v folder=\"e:\Database\domain\\" -v database=MyDatabase -v schema=dbo"
Enter the password for domain\user:
Attempting to start sqlcmd -S SQLSERVER -D MyDatabase -E -i Upgrade.sql -v folder=e:\Database\domain\ -v database=MyDatabase -v schema=dbo -o sqlcmd_output.txt as user "domain\user" ...

1. De ce %~dp0, care inseamna directorul curent unde se executa scriptul, primeste numele domeniului in coada, inainte de apelul runas?
2. escaping-ul la ghilimele a parametrului folder din comanda runas ar trebui facut \"E:\ceva_cale\" sau \"E:\ceva_cale"\ ?
3. cum pot vedea output-ul la sqlcmd ca nu scrie nimic in fisierul txt si nici in fereastra de cmd (de fapt se deschide un cmd nou pret de un minut - nu stiu cum sa-l fac sa persiste)

#2
shiva

shiva

    Nameless hero. Professional bug slayer mom.

  • Grup: Senior Members
  • Posts: 14,819
  • Înscris: 06.10.2003
Desi la intrebarea #1 n-am raspuns, am bibilit scriptul sa mearga:
runas /netonly /noprofile /user:%username% "sqlcmd -S %server% -d %database% -i \"%cur_dir%Upgrade.sql\" -v folder=\"%cur_dir%\\" -v database=%database% -v schema=%schema% -o \"%cur_dir%log.txt\""

Cum %cur_dir% se termina in \, a trebuit dublat ca runas sa interpreteze corect escaping-ul la ghilimele.
Parametrul sqlcmd -D l-am inlocuit cu cel corect: -d. -D e obsolete.
Output-ul se scrie in fisierul log.txt. Tot ce mai am acum de facut e sa ma asigur ca fisierul de log e sters inainte sa ruleze sqlcmd si sa-i afisez continutul in consola.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate