SQL Server 2008 Management Studioを使用しています。現在のログオンアカウントは、マシンのローカル管理者グループに属しています。 SQL Server 2008でWindows統合セキュリティモードを使用しています。
私の問題は、SQL Server Management Studioにログインした後、[セキュリティ/ログイン]でログイン名を選択し、[サーバーロール]タブを選択して、最後の項目を選択します-sysadminを使用して自分をこのグループ/ロールに所属させますが、十分な権限がありません。何か間違っているアイデアはありますか?ローカル管理者は何でもできるはずだと思います。 :-)
権限を設定しようとするセッションのログインには、権限が必要です。
では、使用しているログインはローカル管理者ですか?つまり、ローカル管理者グループには十分な権限がありません。
GUIもこれを実行します sp_addsrvrolemember 。これは言うが
新しいメンバーが追加されるロールのメンバーシップが必要です。
したがって、ローカル管理者グループはsysadminのメンバーではありません。
編集:
解決するには:権限を持つログインを使用します。 sp_helpsrvrolemember を使用して検索できます
それ以外の点では優れた記事 トラブルシューティング:システム管理者がロックアウトされている場合のSQL Serverへの接続 、著者は、SQL Serverの制御を回復するために必要なのは
"-mまたは-fオプションのいずれかを使用して、SQL Serverのインスタンスをシングルユーザーモードで起動します。コンピューターのローカルAdministratorsグループのメンバーは、sysadmin固定サーバーロールのメンバーとしてSQL Serverのインスタンスに接続できます。 」
残念ながら、シングルユーザーモードで起動することの意味は直感的な問題ではありません。また、少なくとも私の経験では、私のコンピューターのローカル管理者グループのメンバーシップでは、「ユーザー」アカウントにsysadminステータスが付与されませんでした。
この話は、DC以外のサーバーによるドメインのメンバーシップの問題(ISPの変更の結果)に対処するときに始まり、2008年からDCをWindows Server 2008 R2に再構築しました。これはいくつかのマイナーな問題を解決しましたが、エラーのあるサーバーによるメンバーシップの問題に対処していませんでした。
SQL Server 2008は、2番目のサーバー(ドメインのメンバー)に存在します。ここに問題があります。 ServerFaultについて誰かが指摘しているように、Server 2008をインストールするときは、「現在のユーザーをsysadminにする」をプッシュするのが一般的です。他の人を考慮しないことも一般的です。その単一ユーザーIDは存在しなくなったドメインのドメインメンバーであったため、SQL Serverを管理する権限がありませんでした。
SQL Serverのインストール時にいたローカルサーバー管理者としてログオンしましたが、これによりManagement Studioにアクセスできましたが、BUILTIN\Administratorsには "パブリック"サーバーロールしか割り当てられていないことがすぐにわかりました。
多くの研究と実験の後、シングルユーザーログオンの詳細を提供する記事 http://technet.Microsoft.com/en-us/library/ms180965.aspx :
C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn
C:\...>sqlservr.exe -m
このステップを実行する準備をするには、SQL Serverをシャットダウンする必要があります(ほとんどの場合、デフォルトで実行されます)。 SQL構成マネージャーを使用して「SQL Server」を停止します。
次に、コマンドプロンプトで、そのプログラムファイルの場所(またはコンピューター上の同等の場所)に移動し、 "sqlservr.exe -m"コマンドを発行します。コマンドプロンプトにアクティビティのストリームが記録されている場合は、成功しています。起動に失敗した場合は、おそらくSQL Serverが既に実行されています。シャットダウンして。
シングルユーザーインスタンスがデータベースに接続できるようにします。ログアクティビティが停止したら、Management Studioを開きます。自動的にシングルユーザーモードになるため、ユーザーが表すアカウントはすべてsysadminになります。その権限を使用して、セキュリティログインとサーバーの役割を調整します。
私の場合、新しいドメインでドメインアカウントを再作成し、SQL Serverでそれらの名前を削除し、それらを再構築して(SID/GUIDの状況により)、必要に応じて特定のデータベースへのアクセス許可を再割り当てする必要がありました。
SQL Server 2008は、sysadmin固定サーバーロールのメンバーとしてBUILTIN\Administratorsを追加しなくなりました
そのとおりですが、その場合は、SQL Serverサービスをシングルユーザーモード(緊急モード)で開始する状況から回復でき、ローカル管理者はログオンできます。
[〜#〜] msdn [〜#〜] を参照してください。
デフォルトでは、SQLはグループBUILTIN\Administratorsをsysadminロールに追加します。つまり、すべてのローカルNT管理者は自動的にSQL sysadminになります。 Vistaでは、UACのため、この特権を利用するには「管理者として」モードで実行する必要があります。
既定では、SQL Server 2008はBUILTIN\Administratorsをsysadmin固定サーバーロールのメンバーとして追加しなくなりました。インストーラーを実行すると、どのアカウントにsysadmin権限が必要かが尋ねられます。基本的に「make me a sysadmin」と書かれたボタンがあり、インストールを行っているユーザーのアカウントをsysadminとして追加します。
他のユーザーをsysadminsとして追加しなかった場合、そのユーザーのみが現在sysamdinです。そのユーザーにSQL Serverにログインしてもらい、DBAにsysadmin権限を付与する必要があります。
新規インストール後、SQL Server 2008でサーバーを登録するまで同じ問題を検討しました。