Sql-Server

使用 SSMS 執行程式碼的 DAC 連接

  • January 8, 2018

任何人都可以在下面幫助我。我正在嘗試使用 DAC(-A 開關)執行 SQLCMD,但無法這樣做。

我怎樣才能做到以下兩種方式:

  1. 在 SSMS 查詢窗格中執行
  2. 使用 PowerShell 執行

以下是我沒有運氣的嘗試。

EXEC master.dbo.xp_cmdshell "SQLCMD -S SQLServer -d Db1 -A
go
select count(*) AS FileCount from TableName
go"

輸出

‘select’ 不是內部或外部命令、可執行程序或批處理文件。空值

資訊

Msg 103, Level 15, State 4, Line 1 以’開頭的標識符

SQLCMD -S SQLServer -d Db1 -A
go
select count(*) AS FileCount' is too long. Maximum length is 128. 

您應該根據sqlcmd語法指定-Q(或-q腳本-i文件)傳入查詢,如下所示:

EXEC master.dbo.xp_cmdshell 'SQLCMD -S SQLServer -A -d Db1 -Q"select count(*) AS FileCount from TableName" '

引用自:https://dba.stackexchange.com/questions/194862