web-dev-qa-db-ja.com

SQL資格情報を失い、SQLCMD経由でSQLに接続できません

SQL 2014を実行しているマシンを持っていますが、以前のサポートチームの管理ミスにより、Windows認証またはsa認証の詳細がありません。

Microsoft ADアカウントを使用してSQL Management Studioにログインしようとすると、次のエラーが表示されました。

=== BACKUP-MGMT-01\CONSULTに接続できません。===サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。 (プロバイダー:共有メモリプロバイダー、エラー:0-パイプの反対側にプロセスはありません。)(.Net SqlClientデータプロバイダー)

これは私のアカウントに特権がないためだと思います。

次に、SQLCMDを介して新しいsaまたはWindows認証ユーザーを追加できるようにするためのいくつかの手順をオンラインで見つけました。ただし、SQLCMD -S .\BACKUP-MGMT-01\CONSULTまたはSQLCMD -S .\BACKUP-MGMT-01次のエラーが表示されるだけです。

C:\ Users\frank> SQLCMD -S。\ BACKUP-MGMT-01\CONSULT Sqlcmd:Error:Microsoft ODBC Driver 11 for SQL Server:SQL Server Network Interfaces:Error Locating Server /インスタンスが指定されました[xFFFFFFFF]。Sqlcmd:エラー:Microsoft ODBC Driver 11 for SQL Server:ログインタイムアウトの期限が切れました。Sqlcmd:エラー:Microsoft ODBC Driver 11 for SQL Server:SQL Serverへの接続を確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいかどうか、およびSQL Serverがリモート接続を許可するように構成されているかどうかを確認してください。詳細詳細については、SQL Server Books Onlineを参照してください。

誰かがお手伝いできますか?

1
Fraz Mahmud

SQLCMDプロンプトのパラメーター-Sの正しい形式は、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

ここで、-dはデータベースのパラメーターであり、-Eは信頼できる接続用です。

参考文献

sqlcmd Utility (Microsoft | Docs | SQL Docs)

1