MSSQLSERVER_916
詳細
製品名 |
SQL Server |
製品バージョン |
10.5 |
製品ビルド番号 |
10.50 |
イベント ID |
916 |
イベント ソース |
MSSQLSERVER |
コンポーネント |
SQLEngine |
シンボル名 |
NOTUSER |
メッセージ テキスト |
現在のセキュリティ コンテキストでは、サーバー プリンシパル "%.*ls" はデータベース "%.*ls" にアクセスできません。 |
説明
ログインに、指定されたデータベースに接続するために必要な権限がありません。この SQL Server インスタンスに接続することができ、データベースの特定の権限を持っていないログインには、guest ユーザーの権限が与えられます。これは、あるデータベース内のユーザーがアクセス権限を持たない他のデータベースに接続できないようにするためのセキュリティ対策です。このエラー メッセージは、指定されたデータベースに対する CONNECT 権限を guest ユーザーが持っていないため、信頼可能プロパティが設定されないときに生じる場合があります。このエラー メッセージは、指定されたデータベースに対する CONNECT 権限を guest ユーザーが持っていないときに生じる場合があります。
msdb データベースに対する CONNECT 権限が拒否または取り消された場合、オブジェクト エクスプローラーから各データベースのポリシー ベースの管理の状態を表示しようとすると、SQL Server Management Studio でこのエラーが発生する可能性があります。オブジェクト エクスプローラーでは、現在のログインの権限を使用して、この情報を取得するために msdb データベースに対してクエリを実行します。このとき、エラーが発生します。また、次のエラー メッセージも表示されます。
この要求のデータを取得できませんでした。(Microsoft.SqlServer.Management.Sdk.Sfc)
ユーザーの操作
注意 |
---|
このセキュリティ措置を回避する前に、各種データベースで認証されているユーザーについて明確に把握している必要があります。次の方法により、あるデータベース内の権限を持つユーザーに、悪意あるユーザーにデータが公開される可能性のある他のデータベースへの接続を許可できます。 |
次のいずれかの方法で、データベースに接続できます。
指定されたデータベースにアクセスするための権限を特定のログインに許可します。次の例では、msdb データベースにアクセスするための権限をログイン Adventure-Works\Larry に許可します。
USE msdb ;
GO
GRANT CONNECT TO [Adventure-Works\Larry] ;
エラー メッセージで指定されたデータベースに対する CONNECT 権限を guest ユーザーに許可します。次の例では、msdb データベースに対する CONNECT 権限を、guest ユーザーに許可します。
USE msdb ;
GO
GRANT CONNECT TO guest ;
ユーザーを認証したデータベースの TRUSTWORTHY プロパティを有効にします。
ALTER DATABASE AdventureWorks SET TRUSTWORTHY ON;