2011-01-03 13 views
2

おはようございます、私は困った問題に遭遇しました。ドメイン認証からSQL Server認証への移行

私はSQL Server Expressにデータベースをまとめましたが、奇妙な権限の問題があります。 データベースは、ドメインユーザーであるDOMAIN \ albertpの開発マシンにあります。 開発データベースサーバーが「SQL ServerおよびWindows認証」モードに設定されています。 Windows認証を使用してログインすると、問題なくデータベースを編集して照会できます。

ただし、SQL Server認証(saを含む)を使用するユーザーにログインすると、データベースに対してクエリを実行するとこのメッセージが表示されます。

SELECT * FROM [Testing].[dbo].[AuditingReport] 

私が手:

Msg 18456, Level 14, State 1, Line 1 
Login failed for user 'auditor'. 

私は「監査役」としてはSQL Server Management Studioからサーバーにログインしていると私は、ログインの失敗に関するエラーログには何も表示されません。

Use Testing; 
Grant All to auditor; 
Go 

をそして、私はまだ同じエラーを取得:

私はすでに実行してきました。私の個人的なドメインのログイン外の他の人がデータベースを使用できるようにするためには、どのようなアクセス許可を設定する必要がありますか? または間違った問題を見ていますか?

最終的な目標は、共通のログイン(したがって「監査人」)または個々のユーザーのセットに固有のログインを使用して、一連のPHPページからデータベースにアクセスできるようにすることです。

答えて

1

GRANT ALLあなたがそれと思われる行動を行っていません。

ユーザーの権限を管理するためにデータベースロールを使用することを検討することをテスト目的で推奨します。ここで

は、あなたがシステムストアドプロシージャsp_AddRoleMemberを使用してデータベースレベルのロールに既存のユーザーを追加することができます利用可能Database-Level Roles

のリストです。たとえば、次は、特定のデータベース内のすべてのオブジェクトのためにあなたのユーザーにREAD権限を提供します。:

EXEC sp_addrolemember 'db_datareader','auditor' 

が理想的に、あなたはおそらく、あなたのデータベース・ユーザーのための権限を管理するために、独自のデータベースロールを定義することを検討したいと思うでしょう。

+0

ありがとうございます!それは助けた;私は今「監査人」としてテーブルを見ることができます。ビューを許可する別の権限はありますか?私はまだ 'AuditingReport'ビューをプルすることはできません、前と同じように実行しようとすると同じエラーが発生します。 –

+0

GRANT SELECT ON AuditingReportに監査人 –

+0

それは動作しません、私はまだ上記18456エラーが表示されます。 –

関連する問題