5

データベース「サンプル」があります。また、Active Directory (AD) には「CORPHQ\King」というユーザーがいます。次の手順に従いました。

1) Go to SQL Server Management Studio (2005) and "Security -> Logins".
2) Right Click -> New Login
3) Login Name : CORPHQ\King
4) Selected "Windows Authentication"
5) Default database - "Sample".
6) Under "User Mapping" section, Selected the "Sample" database, User as "CORPHQ\King" and selected "dbo" as default schema.
7) Selected "db_owner" as "Database role membership for - Sample".

ASP.NETアプリケーションのWEB.CONFIGには、次のものがあります。

<connectionStrings>
    <add name="DB" connectionString="Data Source=128.127.126.25; database=Sample; user=corphq\King; password=XXXXXXXXXXX; Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>

ASP.NET アプリケーションを実行すると、次のエラーが表示されます。

Error:

The SELECT permission was denied on the object 'tbl_Student', database 'Sample', schema 'dbo'

ユーザー「CORPHQ\King」には、「サンプル」データベースへの「db_owner」アクセス権があると思います。私は正しいですか?どこに行方不明ですか?

ありがとう

4

3 に答える 3

4

接続文字列で指定Integrated Securityしているため、Windows 認証を使用する場合はユーザー名とパスワードを指定しないでください。

代わりに、ASP.NET が実行されているドメイン アカウント (おそらくネットワーク サービス アカウント) として認証されます。

あなたのアプリケーションは とはまったく異なるユーザーとして接続している可能性がありCORPHQ\King、この別のログインにはこの操作の権限がありません。

詳細については、「方法: ASP.NET 2.0 で Windows 認証を使用して SQL Server に接続する」を参照してください。

于 2012-12-11T22:48:44.820 に答える
2

データベースに接続するためのアクセス権を付与している可能性がありますが、そのデータベース内のテーブルに対する SELECT、INSERT、UPDATE、DELETE などのユーザー固有の権限を付与するための追加の手順が必要です。

于 2012-12-11T22:46:32.597 に答える
1

この問題の解決策は、dbo スキーマを開いてプロパティに移動し、[データベース権限の表示] リンクをクリックすることです。データベースに、DOMAIN\MACHINENAME$ に対する select 、delete edit 権限を付与します。ユーザー。

于 2014-05-12T05:25:43.720 に答える