2016-12-29 3 views
-3

WindowsログインでAsp.Netアプリケーションを作成しました。今度は、SQL Serverのすべての2000 ADユーザーアカウントのログインを作成したいと思います。SQL ServerへのログインとしてADアカウント全体を追加するには?

誰もが一度にすべてのADアカウントを作成するアイデアはありますか?これが必要なのはなぜ

:事前に

http://www.sqlservercentral.com/articles/Stairway+Series/128866/

感謝を:我々は、リンクの下で述べたように、行レベルのセキュリティを提供する必要があります。

+9

2000人のユーザーを管理するのではなく、ADセキュリティグループを作成するのはなぜですか? – jradich1234

+0

個々のユーザーアカウントではなく、役割とグループを使用するのが標準的な方法です。さらに、なぜあなたは行レベルのセキュリティが必要だと思いますか?ビューを使用して、テーブルの代わりに*それらに*パーミッションを割り当てることで*できないものは何ですか?おそらくワークフロー機能の代理として行セキュリティを使用しようとしていますか? –

+0

はい。私は誰も他の行を確認することはできません。アプリケーション内の関連データのみをチェックすることができます。たとえば、ASPネットデベロッパーがアプリケーションの開発またはデプロイメント中に自分のデータのみをチェックする場合。彼/彼女はまだデバッガを置く他のデータを確認することができません – nirav

答えて

0

jradich1234と言えば、実際の回答ではADセキュリティグループを使用してユーザーをバッチ処理し、それらのSQLログインを作成する可能性があります。これはユーザーの総数よりはるかに少なくなります行う)。

しかし、大量のADユーザーのSQLログインを一括作成する場合は、これらのユーザーの詳細を.csvファイルなどにエクスポートし、Excelを使用して必要なステートメントを作成することをお勧めします。例えば

、私はSQLログインを作成したい(代わりにあなたの2000年の)私は5人のユーザーを持っていたと言う:私はExcelにこれらの値またはテキストエディタを取得し、必要に応じて追加のSQLを追加します

DOMAIN\APerson 
DOMAIN\AnotherPerson 
DOMAIN\SomeoneElse 
DOMAIN\Me 
ANOTHERDOMAIN\Someone 

CERATE LOGIN文を作成する文:

CREATE LOGIN [DOMAIN\APerson]  FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [DOMAIN\AnotherPerson] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [DOMAIN\SomeoneElse] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [DOMAIN\Me]    FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 
CREATE LOGIN [ANOTHERDOMAIN\Someone] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english] GO 

これがダウンして、すべての静的テキストをコピーし、周囲のテキストのための隣接する列を使用して、その後、1列にユーザ名を入れることによって、Excelで、たとえば、様々な方法で行うことができます細胞手動入力ではなく秒単位で実行できます)。代わりに、Notepad ++のようなテキストエディタを使用し、改行で検索/置換を実行して、同じ結果を得るために各行の先頭と末尾にテキストを追加することもできます。 「あなた、あなたはデータベースユーザを作成する場合は、同様に

ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\APerson] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\AnotherPerson] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\SomeoneElse] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\Me] GO 
ALTER SERVER ROLE [sysadmin] ADD MEMBER [ANOTHERDOMAIN\Someone] GO 

:あなたはまた、1つまたは複数の役割を指定したい場合は

、あなたはユーザ名のリストを複製し、同じプロセスを実行する必要があります。同じように形成された別の一連のステートメントが必要です。

セキュリティグループを設定するだけで、今すぐ実装するほうがはるかに簡単になりますを維持してください!

+0

はい。私は誰も他の行を確認することはできません。アプリケーション内の関連データのみをチェックすることができます。たとえば、ASPネットデベロッパーがアプリケーションの開発またはデプロイメント中に自分のデータのみをチェックする場合。彼はまだデバッガを置く他のデータをチェックすることができません – nirav

+0

信頼できないので開発者がデータベース全体を見るのをやめさせようとしているなら、行レベルのセキュリティはあなたの本当の問題だとは思いませんここに。 – 3N1GM4

+0

を加え、溶液を得る。 – nirav

関連する問題