1. ホーム
  2. データベース
  3. mssql2008

Sql Server 2008データベースで新しい割り当てユーザーを作成する詳細な手順

2022-01-19 15:05:30

はじめに  

プロジェクトが完成すると、データセキュリティの観点から、そのプロジェクトのデータベースには必ずユーザーが割り当てられる、いや、データベースを管理するためのユーザーが必ず作成され、このユーザーはこのデータベースしか管理できない、と言うべきだろう。何度もやっていることですが、毎回設定方法を忘れてしまうので、ブログ記事で記録しておきました。 1. SqlServerに管理者アカウントでログインし、Securityでログイン名を作成する(下図参照)。

2. ログイン名を入力し、パスワードを設定し、デフォルトのデータベースと言語(下図参照)にmasterを選択します。

3. 確認できたら、権限を与えたいデータベースを開き、「セキュリティ」の「ユーザー」ノードを右クリックして、新しいユーザーを作成します(下図参照)。  

ログイン名を入力してください 構造と役割db_ownerを選択し、このデフォルトでは、このユーザーは、接続し、追加、削除、およびチェックする権限を持っています。(以下に示すように) このユーザーには、前のステップで作成した新しいログイン名を割り当てます。(下記参照) 
OK、OK、OK完了!ここで、先ほど作成したログイン、scluguanでShaCDBデータベースにアクセスできるかどうか、テストしてみましょう。

ログインに成功しました

作成時に発生する可能性のある問題点    

エラーメッセージ: "データベース本体はこのデータベースのスキーマを所有しており、削除することはできません。(Microsoft SQL Server, Error: 15138)".  

エラーの理由 データベースをサーバーに展開する際、通常はローカルにバックアップを取り、サーバーにアップロードした後にリストアしますが、リストア後に新しいユーザーを作成すると、その中にすでにユーザーが存在することがわかり(以前にローカルデータベースにユーザーを作成していなければ、この問題は無視できます)、そのユーザーを削除できないことがあるようです。  

解決策: "あなたのデータベース名"を使用して、スキーマ::db_ownerのdboへの権限を変更し、実行してから手動で削除します。