Sql-Server

失去 SQL 憑據並且無法通過 SQLCMD 連接到 SQL

  • May 12, 2020

sa我有一台執行 SQL 2014 的機器,但由於以前的支持團隊管理不善,我沒有 Windows 身份驗證或身份驗證詳細資訊。

嘗試使用我的 Microsoft AD 帳戶登錄 SQL Management Studio 後,我收到以下錯誤:

===無法連接到 BACKUP-MGMT-01\CONSULT。=== 與伺服器成功建立連接,但在登錄過程中出現錯誤。(提供者:共享記憶體提供者,錯誤:0 - 管道的另一端沒有程序。)(.Net SqlClient 數據提供者)

我懷疑這是因為我的帳戶沒有權限。

然後我在網上找到了一些步驟,允許您sa通過 SQLCMD 添加新的或經過 Windows 身份驗證的使用者。但是,當我執行SQLCMD -S .\BACKUP-MGMT-01\CONSULTor時,SQLCMD -S .\BACKUP-MGMT-01我只收到以下錯誤:

C:\Users\frank>SQLCMD -S .\BACKUP-MGMT-01\CONSULT Sqlcmd:錯誤:Microsoft ODBC Driver 11 for SQL Server:SQL Server 網路介面:錯誤定位伺服器/指定的實例

$$ xFFFFFFFF $$. . Sqlcmd:錯誤:Microsoft ODBC Driver 11 for SQL Server:登錄超時已過期。Sqlcmd:錯誤:Microsoft ODBC Driver 11 for SQL Server:建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。檢查實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。有關詳細資訊,請參閱 SQL Server 聯機叢書。

有人可以幫忙嗎?

-S提示參數的正確格式SQLCMD是:Server\Instance.

您似乎已經嘗試過localhost\instance\database哪個不起作用。

SQLCMD -S .\BACKUP-MGMT-01\CONSULT 
         ^^        ^     ^   ^
         ||        |     |   +--- Database 
         ||        |     +------- Separator
         ||        +------------- Instance
         |+---------------------- Separator
         +----------------------- Server (. = localhost)

在任何情況下,錯誤消息都表明您在伺服器名稱和/或實例名稱方面存在問題。

如果您的伺服器已命名BACKUP-MGMT-01並且您的實例已命名,CONSULT那麼您可能想嘗試:

SQLCMD -S BACKUP-MGMT-01\CONSULT -E 

如果您的實例確實被命名BACKUP-MGMT-01,那麼您可能想嘗試:

SQLCMD -S .\BACKUP-MGMT-01 -E -d CONSULT

Where-d是數據庫的參數,-E用於受信任的連接。

參考閱讀

sqlcmd 實用程序(Microsoft | 文件 | SQL 文件)

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