この時点で接続できる管理者は1人だけです(MS SQL Serverエラー18461)


14

SQL Serverに少量のメモリを与えた場合の効果を実験していましたが、回復すると思っていました。

SQL Serverを起動して200 MBのメモリを使用するように構成しました。インターネットでいくつか検索を行い、SQL Serverをシングルユーザーモードで起動するように勧められました。ただし、エラーが発生します

ユーザーAのログインに失敗しました。理由:サーバーはシングルユーザーモードです。この時点で接続できる管理者は1人だけです(Microsoft SQL Server、エラー:18461)

ここに画像の説明を入力してください

SQL Serverエージェントを停止しました。


2
なぜメモリが200MBだけなのか、Express Editionでは少なくとも512MBが必要です。msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx#pmosr
McNets

このリンクを確認してください:dba.stackexchange.com/questions/50797/cannot-use-sqlcmd
CR241

回答:


23

SQL Serverをシングルユーザーモードで起動した場合、同時に接続できる管理者は1人だけです。

おそらくここで起こっているのは、一部のサービスがsysadminログインを使用して、ReportingサービスやSQL Serverエージェントなどに接続していることです。

SQL Serverをシングルユーザーモードで起動する場合、クライアントアプリケーションを指定して、そのアプリケーションのみが接続できるようにするオプションがあります。

リストされているコマンドラインオプションを見てください:

-m「クライアントアプリケーション名」

SQLCMDまたはSQL Server Management Studioで-mオプションを使用すると、指定したクライアントアプリケーションへの接続を制限できます。たとえば、-m "SQLCMD"は接続を1つの接続に制限し、その接続はそれ自体をSQLCMDクライアントプログラムとして識別する必要があります。このオプションは、SQL Serverをシングルユーザーモードで起動していて、不明なクライアントアプリケーションが使用可能な接続のみを使用している場合に使用します。Management Studioのクエリエディターを使用して接続するには、-m "Microsoft SQL Server Management Studio-Query"を使用します。

クライアントアプリケーション名では大文字と小文字が区別されます。

この方法で接続できる場合は、最大サーバーメモリを適切な値に変更します。さもなければ「パイプのもう一方の端にプロセスがない」として何かを受け取るため、サーバーが実行されていると仮定するため、接続できると思います。

ただし、メモリ構成で許可されていないためにSQL Serverにログインできない場合は、-fオプションを使用して最小限の構成でSQL Serverを起動できます。

-f

最小限の構成でSQL Serverのインスタンスを開始します。これは、構成値の設定(メモリのオーバーコミットなど)によりサーバーの起動が妨げられた場合に便利です。SQL Serverを最小構成モードで起動すると、SQL Serverはシングルユーザーモードになります。詳細については、次の-mの説明を参照してください。

参考:誤って「最大サーバーメモリ」を0に設定した後、SQL Serverを起動できない


7
  • 最小構成モードでSQLインスタンスを起動します

    NET START MSSQLSERVER /f
  • 同じcmdウィンドウからインスタンスに接続し、最大メモリ設定を変更します。

    SQLCMD -S Server/Instance -E

    次のようなプロンプトが表示されます。

    1> 

デフォルトでは、最大メモリ設定は表示および変更に使用できない場合があります。この動作を変更するには、以下のクエリを使用します。

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 4096;  
GO  
RECONFIGURE;  
GO  

Configuration Managerからインスタンスを再起動します。


<SQL Serverの最適なソリューションは、誤って「最大サーバーメモリ」を0に設定し、「パイプのもう一方の端にプロセスがありません」エラー
-faza

-1

同様の問題に直面しました。「SQL Server(MSSQLSERVER)」を停止してから再起動することで解決できました。プロセスを再起動した後、問題なく接続できました。


-1

SQL Serverをシングルユーザーモードで起動した後、SSMSでクエリエディターウィンドウを開くことができました。参照:https : //www.sqlservercentral.com/forums/topic/unable-to-open-ssms-in-single-user-mode


ソースにリンクするのは良いことですが、少なくとも提案されたソリューションの概要を回答に追加することを検討してください。そうすることで、リンクが機能しなくなった場合でも、回答は有効のままになります。
アンドリーM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.