[ kebba @ 05.02.2014. 18:35 ] @
Ćao svima na forumu!

Dešava mi se jedna veoma čudna stvar: prilikom izvršavanja dela procedure koji treba da prekopira fajl iz jednog lokalnog foldera u drugi, SQL Management Studio mi izbacuju grešku "Access denied" (kao da ne može da pristupi folderu). Procedura se izvršava na SQL serveru 2012.

Temu sam postavio baš ovde, a ne u deo za Windows administraciju, jer ne verujem da je problem Windows Security: kad pokrenem istu xp_cmdshell skriptu u command promptu, kopiranje se završi bez problema.
Takođe, kada pokrenem SP na SQL serveru 2008 R2 (koji se nalazi na istom Windows Server 2008 R2 Enterprise), izvrši se bez greške i prekopira fajl iz jednog u drugi folder na lokalnom računaru.
Da stvar bude još čudnija, do pre nekoliko dana se i na tom SQL serveru 2012 ista skripta izvršavala bez problema.

U međuvremenu sam podešavao sharing i security tog foldera, pa možda ovde leži odgovor, ali mi nikako nema logike da na jednom SQL serveru i u CMD promptu radi a na drugom serveru ne (SQL serveri su na istoj mašini).

Da li neko ima ideju u čemu je problem?

[ kebba @ 06.02.2014. 10:06 ] @
Problem rešen!

Windows proces pokrenut preko xp_cmdshell ima ista prava pristupa kao i SQL Server service nalog. Prilikom instalacije SQL 2012 servera podešen je bio neki levi nalog koji nije imao prava pristupa folderu u kom se nalazi fajl, pa samim tim i xp_cmdshell nije mogao da radi. Na SQL 2008 R2 serveru za SQL Server service nalog podešen je bio local system, i na njemu je sve radilo jer je taj nalog imao prava pristupa.

Promenio sam default SQL Server service nalog na 2012 serveru (stavio local system) i sad sve radi.