我將創建一個腳本來執行大量的SQL文件。我選擇使用SQLCMD而不是ADODB,因爲它可以快速提供日誌信息,而且我們正在執行T-SQL。在將其寫入腳本之前,我正在測試SQLCMD.exe 。如何在Windows身份驗證(-E)中使用SQLCMD,但沒有提升權限
使用SQLCMD.exe連接到數據庫,我使用-E進行Windows身份驗證。這意味着我需要使用我的網絡帳戶,該帳戶在任何給定的計算機上都沒有提升的訪問權限。然而,SQLCMD.exe需要以執行查詢提升權限,否則我收到以下錯誤:
Sqlcmd: Error: Error occurred while opening or operating on file (Reason: Access is denied).
運行以下命令後:
sqlcmd.exe -S <SQLSERVER,PORT> -d <DATABASE> -i scriptfile.sql -o scriptfile.log -E
我怎樣才能利用SQLCMD.exe與提升本地權限(管理員),但使用Windows身份驗證連接到服務器(使用非管理員帳戶)?我不希望更改SQLCMD.exe的任何權限,因爲可能有多個人使用此腳本,我並不熱衷於通知他們這個先前的指令。
你試過的完整命令是什麼? –
我認爲您看到的錯誤與您正在引用的腳本文件或日誌文件有關。不是你是否使用Windows身份驗證。你能發佈完整的命令,讓我們更好地瞭解發生了什麼? – CDC
當然這裏是完整的命令 sqlcmd.exe -S -d -i scriptfile.sql -o scriptfile.log -E –