開発目的でSQL Server 2008 R2 Expressがインストールされているワークステーションは、ドメインからWindowsワークグループに移動されました。ドメインの一部である間、私はドメイン管理者権限を持つアカウント「MyDomain\MyUserName」を使用しました。次に、ローカル管理者権限を持つ「MyComputerName\MyUserName」として自分のコンピューターにログインします。
SQL Server構成マネージャーで、「SQL Server(Express)」サービスを開始するアカウントを「MyDomain\MyUserName」から「MyComputerName\MyUserName」に変更しました。
SQL Server Management Studioのインスタンスに(Windows認証を使用して)接続でき、左側のオブジェクトエクスプローラーにすべてのデータベースが表示されます。しかし、オブジェクトエクスプローラーでデータベースノードを開こうとすると、データベースにアクセスできないというメッセージが表示されます。 「master」や「tempdb」などのシステムデータベースを除くすべてのデータベースでこのメッセージが表示されます。
いずれかのデータベースでクエリを実行しようとすると、「SQL Serverメッセージ916」が表示されます。
サーバープリンシパル "MyComputerName\MyUserName"は、現在のセキュリティコンテキストではデータベース "MyDatabase"にアクセスできません。
データベースに再度アクセスする方法はありますか?
編集
また、SSMSで手動で新しいデータベースを作成しようとしましたが、次のエラーがスローされます。
CREATE DATABASE権限がデータベース 'master'で拒否されました(Microsoft SQL Server、エラー:262)
編集2
ワークステーションがWindows XP(Service Pack 3)で実行されており、ワークステーションが削除されたドメインが古いWindows NTドメインだった-これを見つけることが重要である場合に備えて)問題の理由。
私は以前このような状況にありました。 saパスワードがなく、sysadminグループのメンバーでもない場合は、SQL Serverをメンテナンスモードで起動するというオプションが1つだけ残っています。これにより、saパスワードをリセットし、sysadminサーバーロールに自分を追加できます。
これは私がこれをしなければならなかったときに便利だと思ったリンクです。これは、setp-by-stepを実行する必要があることを説明しているためです。幸運を!
SQLサーバーの実行に使用するサービスアカウント(構成マネージャーで入力したもの)は、SQLサーバー内のsysadminロールのメンバーでもある必要があります。まだ行っていない場合は、saアカウントを使用してログインし、Windowsサービスアカウントにsysadminサーバーロールを付与します。