ドメインアカウントのSQL Serverログインを作成する方法は?


14

すべて、

私は、SQL Server 2008をドメイン(ADと言う)のサーバー(Server1と言う)にインストールしています。AD \ Sql1というドメインアカウントも持っています。これはドメイン(AD)の管理者アカウントではありませんが、Server1の管理者になりたいです。次に、ローカルアカウントではなく、そのドメインアカウントのSql Serverにログインを作成します。

それ、どうやったら出来るの?

質問:

  1. ユーザーAD \ Sql1、私は彼をServer1の管理者にしたい。そのために、同じユーザー名(たとえばServer1 \ Sql1)でローカルアカウントを作成し、ローカルアカウントをマシンの管理者にするだけです。そのローカルアカウントは、同じ名前のドメインアカウントに自動的にマッピングされますか?CREATE LOGIN [AD\Sql1] FROM WINDOWS私にとってはうまくいかなかったここに追加する必要があります。私はuser does not exist in Windows(そのような何か) と言ってエラーを得ました
  2. さて、上記の手法が機能する場合。AD \ Sql1がSever1の管理者になると仮定しましょう。だから、理論的には、SQL ServerでそのWindowsドメインアカウントのSQLログインを作成する必要はありませんよね?BUILTIT \ Adminsの一部であるすべてのローカル管理者は、自動的にSQL Serverへのsysadminアクセス権を持っていますか?

どこで私は間違えましたか?この概念をよりよく説明できるURLを共有してください。

編集:質問1と質問2は独立して重要であることも追加する必要があります。ドメイン/ Windowsアカウントをとして追加する方法を知っていますsysadmin。しかし、ドメインアカウントとローカルアカウント間のマッピングの仕組みに興味があります。ここでの私の目標は、ローカルアカウントをsysadminとして追加する方法ではなく、かなり迅速に行うことができることです。私の意図は失礼ではなく、可能な限り明確にすることです。それでも質問が明確でない場合は、詳細をお知らせください。

ありがとう、
_UB

編集:文法

回答:


13

ドメインアカウントと同じ名前のローカルアカウントを作成しないでください。sql adminsとしてドメインログインを追加する場合は、次のようにします。

  • ドメインアカウントのログインを作成します。 create login [AD\Sql1] from windows;
  • ログインをsysadminグループに追加します。 exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

できた (CMDシェルから)AD\Sqlローカル管理者にアカウントを追加するだけで同じ結果net localgroup Administrators /add AD\Sql1が得られAD\Sql1ますが、SQL管理者に付与するだけでなく、すべてのNT管理者権限を付与するため、これは正しいソリューションではありません。したがって、要件として記載されているのは不必要な昇格です。ところで、ローカルAdministratorsグループのメンバーがSQL管理者であるというルールは暗黙的ではなく、SQLセットアップ中にデフォルトで付与される明示的な特権であり、取り消すことができるため、確認する必要があります。


ありがとう、このコメントには私が使える情報があります。しかし、フォローアップの質問があります。を使用してSqlログインを追加しようとしたときにCREATE LOGIN [AD\Sql1] FROM WINDOWS、ユーザーがWindowsに存在しないというエラーが表示されました。そのため、私は彼をローカルマシンに使用するように追加する必要がありました(それから動作します)。
UB01

「..ローカル管理者がsysasminsマシン上にデフォルトで存在する」についてあなたが言及したポイントを調べます。ありがとう、私はそれについて読み上げます。しかし、マッピングはどのように機能しますか?ドメインアカウントと同じ名前のローカルアカウント間。
-UB01

SQL Serverのインスタンスがインストールされているマシンがドメインの一部である場合、問題なくドメインアカウントを追加できます。
ジャックロック

さて、それは私が考えていたものですが、私はこのエラーを繰り返していました:...user could not be found in windows。何か他のことが起こっているかもしれません。もう一度確認します。
UB01

1
ユーザーがWindowsに存在しないというエラーが表示されました。つまり、SQLホストマシンはADドメインのメンバーでも、信頼するドメインのメンバーでもありませんAD。マシンをADドメインに追加する必要があります。現在、いわゆる「NTミラーリングされたアカウント」アプローチ(おそらく、あなたがそうしていることを知らない...)を追求していますが、これは間違ったアプローチです。SQLホスティングマシンをADドメインに追加します。
レムスルサヌ

2

SSMSでインスタンスに接続します。セキュリティ/ログインを展開します。Rt-クリックして新しいログインを追加し、情報を入力します。サーバーの役割で、SQLインスタンスを完全に制御する場合はsysadminを付与します。できた このアカウントは、SQL Serverでsysadminになるために、Windowsマシンのローカル管理者である必要はありません。


クイックコメントありがとうございます。あなたの応答であなたが伝えた概念を理解しています。私の質問(あまり明確ではないかもしれません)は、ドメインアカウントとローカルアカウント間の関係(またはマッピング)がどのように機能するかを理解することです。そして、それがSQL Serverにどのように影響するか。
-UB01

SIDは、アカウント、ドメイン、またはSQL Serverのみのアカウントのマスターデータベースに作成されます。
エリックヒギンズ

SID created for each account..私が理解している概念です。例を挙げましょう:アカウントはサーバーAD\Sql1と同じですか?Server1\Sql1それぞれがOSがそれらが同一であることを認識できるようにマップされた個別のセキュリティIDを持っていますか?これは起こりますか?(私は推測している、私は知らない)
UB01

そうですか。あなたは私が思うWindowsの信条をもっと理解しようとしています。ADとローカルのWindowsアカウントは同じではありません(名前が同じであっても)。ドメインSID、アクセストークンの仕組みに関する情報を次に示します。これが役立つことを願っています:technet.microsoft.com/en-us/library/cc785913(v
エリックヒギンズ

ありがとう、私はその記事を読んで、それが私が概念をよりよく理解するのを助けるかどうか見るでしょう。
-UB01
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.