1. ホーム
  2. sql-server

[解決済み] SQL Azure データベースに新しいユーザーを作成するにはどうすればよいですか?

2023-06-20 19:14:09

質問

以下のようなテンプレートを使おうとしています。

-- =================================================
-- Create User as DBO template for SQL Azure Database
-- =================================================
-- For login <login_name, sysname, login_name>, create a user in the database
CREATE USER <user_name, sysname, user_name>
    FOR LOGIN <login_name, sysname, login_name>
    WITH DEFAULT_SCHEMA = <default_schema, sysname, dbo>
GO

-- Add user to the database owner role
EXEC sp_addrolemember N'db_owner', N'<user_name, sysname, user_name>'
GO

user1というユーザーを作成し、パスワードを'user1pass'としたいと思います。デフォルトのデータベース 'authentication' で接続し、クエリーウィンドウを開いています。

しかし、テンプレートは私にとって意味をなしません。たとえば、sysname は何か、パスワードはどこに供給すればよいか、default_schema として何を使用すればよいか、などです。

特定のユーザーは、すべてを行う権限を持つ必要があります。しかし、どのように設定すれば、彼がすべてを行うことができるようになるのでしょうか。そのユーザーをデータベース所有者にすればよいのでしょうか。

今のところ、私は試してみました。

CREATE USER user1, sysname, user1
    FOR LOGIN user1, sysname, user1
    WITH DEFAULT_SCHEMA = dbo, sysname, dbo
GO

与えること。

<ブロッククオート

Msg 102, Level 15, State 1, Line 1 ',' 付近に不正な構文があります。

となっています。

CREATE USER user1
    FOR LOGIN user1
    WITH DEFAULT_SCHEMA = dbo
GO

与えること。

<ブロッククオート

Msg 15007, Level 16, State 1, Line 1 'user1' i

が有効なログインでないか、権限を持っていません。

どのように解決するのですか?

すべての情報は、このリンクをチェックしてください。 https://azure.microsoft.com/en-us/blog/adding-users-to-your-sql-azure-database/

まず、SQL Azureのログインを作成する必要がありますが、その構文は次のとおりです。

CREATE LOGIN username WITH password='password';

このコマンドはmaster dbで実行する必要があります。 その後で初めて、データベースでユーザーを作成するコマンドを実行することができます。 SQL Azure や SQL Server の仕組みは、サーバー レベルで最初に作成されたログインがあり、それがすべてのデータベースのユーザーにマッピングされるというものです。

HTH