[解決済み] sp_addrolememberとalter user with default schemaの違いは何ですか...?
質問
あるデータベースに開発者用のフルアクセスを追加したいと考えていました。 開発者がデータベースを完全にコントロールできるようにしたいのです。 どういうわけか、2つの方法を偶然見つけました。 これらは正しい方法なのでしょうか?
- 両コマンドのアクセス権/パーミッションの違いは何ですか?
- 私が欲しいものを達成するための正しいコマンドは何ですか? ありがとうございます。
コマンド1
USE [testdb1]
GO
ALTER USER [john] WITH DEFAULT_SCHEMA=[dbo]
GO
コマンド2
USE [testdb1]
GO
EXEC sp_addrolemember N'db_owner', N'john'
GO
解決方法は?
MSDN の素晴らしいソースです。 アンサー ということです。
sp_addrolemember
データベースユーザー、データベースロール、Windowsログイン、またはWindowsグループを追加します。 を現在のデータベース内のデータベースロールに追加します。
ALTER USER
データベースユーザーの名前を変更したり、そのデフォルトスキーマを変更したりします。
構文にも注意してください。
sp_addrolemember [ @rolename = ] 'role',
[ @membername = ] 'security_account'
-- SQL Server Syntax
ALTER USER userName
WITH <set_item> [ ,...n ]
[;]
<set_item> ::=
NAME = newUserName
| DEFAULT_SCHEMA = { schemaName | NULL }
| LOGIN = loginName
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
つまり
sp_addrolemember
を使用することができます。
加える
database user, database role, Windows login, or Windows group
の中に
現在のデータベース
.
しかし
ALTER USER
を使用すると、名前、デフォルトスキーマ、ログイン名、パスワードなどを変更することができます。
sp_addrolemember
.
2つのMSDNリンクをチェックしてください。これらは
SQL Server
あなたの場合は、おそらく
sp_addrolemember
ただし、ユーザーに必要なアクセス権を与えることができるロールがすでに存在する場合 (おそらく
db_owner
).
USE [testdb1]
GO
EXEC sp_addrolemember N'db_owner', N'john'
GO
ユーザーのデフォルトスキーマを変更するとき、それは彼らが新しいロールを得ることを意味しません - しかし彼らは新しいデフォルトスキーマを得、アクセス可能性は既存のユーザーロールのための新しいスキーマのセキュリティルールに依存します。それは 可能性 そのデフォルトスキーマのユーザーに対するセキュリティルールに依存して、あなたが望むものを提供します。
関連
-
[解決済み] データベースとスキーマの違い
-
[解決済み] varcharとnvarcharの違いは何ですか?
-
[解決済み] JOINとINNER JOINの違いについて
-
[解決済み] SQL Serverにおけるchar、nchar、varchar、nvarcharの違いは何ですか?
-
[解決済み] SQL Server PARTITION BYとGROUP BYの違いについて
-
[解決済み] SQL Serverにおけるnumeric、float、decimalの違いについて
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み】Integrated Security = True と Integrated Security = SSPI の違いは何ですか?
-
[解決済み】"read commited" と "repeatable read" の違いについて
-
[解決済み】SQL Serverでtempテーブルとテーブル変数の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー "INSERT EXEC文はネストできません。" "INSERT-EXEC文の中でROLLBACK文は使用できません。" これを解決するにはどうすればよいですか?
-
[解決済み] SQL Server Error "String Data, Right Truncation "の意味と修正方法について教えてください。
-
[解決済み] データベース 'tempdb' で CREATE TABLE 権限が拒否されました。
-
[解決済み] TABLOCKとTABLOCKXの比較
-
[解決済み] SQL Server: sys.master_files vs. sys.database_files
-
[解決済み] MS SQL Server 2005で行のSNoを自動的に設定する方法は?
-
[解決済み] テーブルが存在しない場合、"Table 'dbo.Foo' already exists." というエラーはどのように解決すればよいですか?
-
[解決済み] SQLでNaN値をNULLに、またはNaNを0に変換する
-
[解決済み] SQL ServerでCreateステートメントを使用してtempテーブルを作成する方法は?
-
[解決済み] SQL Serverでforeachを記述する方法とは?