2つのアプリケーションを新しいサーバーに移行しました。それらの1つは問題なく動作しますが、もう1つは次のようなバックエンドSQL権限の問題に遭遇しました
オブジェクト 'aspnet_CheckSchemaVersion'に対するEXECUTE権限が拒否されました
あるアプリケーションが機能し、他のアプリケーションが機能しない理由を見つけることができました。どちらも同じアプリケーションプールで実行されますが、使用するデータベースは異なります。 1つは機能するために何もする必要はありませんでした。もう1つは、アプリケーションがアクセスするテーブル、ストアドプロシージャごとに[Network Service]ユーザーにアクセス許可を付与する必要がありました。
さて、2つのデータベースをNetwork Serviceのセキュリティ保護可能なものにすることで、問題を解決しました。他のアプリケーションでは必要ないのに、なぜ1つのアプリケーションでこれを行わなければならなかったのか、私にはわかりません。私の質問は
SQL Server Management Studioでセキュリティ保護可能なSQL Serverとは何ですか?基本的に、ユーザー->プロパティをクリックして左側の2番目のページに移動すると、SQL Serverにアクセスできます。
使用目的適切な用途は何ですか?
から Microsoft
安全な
Lists the securables on which specific permissions have been granted or denied to this principal.
セキュリティ保護可能とは、SQL Serverでアクセス許可を付与、拒否、または取り消すことができるものです。基本的には「確保できるもの」です。
このように考えてください。あなたの車は安全です。車にアクセスするには、キー(permissions)が与えられている必要があります(seurable)。
セキュリティ保護可能なものとは、アクセス可能またはアクセス不能なものを指します。
これを見てみましょう セキュリティ保護可能なものに関するBOLリファレンス 。セキュリティ保護可能なファイル(サーバー、データベース、スキーマ)の3つのスコープの下に、含まれているものの一覧を表示できます。以下は、セキュリティ保護可能なもののリストです(BOLから直接取得されますが、参照用です)。
サーバースコープのセキュリティ保護可能なファイル
- 終点
- ログインする
- データベース
データベーススコープのセキュリティ保護可能なファイル
- ユーザー
- 役割
- アプリケーションの役割
- アセンブリ
- メッセージタイプ
- ルート
- サービス
- リモートサービスバインド
- フルテキストカタログ
- 証書
- 非対称キー
- 対称キー
- 契約する
- スキーマ
スキーマスコープのセキュリティ保護可能なオブジェクト
- タイプ
- XMLスキーマコレクション
- オブジェクト
- 集計
- 関数
- 手順
- キュー
- シノニム
- テーブル
- 見る