SQL Azure 데이터베이스에서 새 사용자를 만들려면 어떻게하나요?
다음 템플릿을 사용하려고합니다.
-- =================================================
-- 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
비밀번호가 'user1pass'인 user1이라는 사용자를 만들고 싶습니다. 기본 데이터베이스 '인증'에 연결했고 쿼리 창이 열려 있습니다.
그러나 템플릿은 저에게 의미가 없습니다. 예를 들어 sysname은 무엇이며 암호는 어디에 제공해야하며 default_schema로 무엇을 사용해야합니까?
특정 사용자는 모든 것을 할 수있는 권한이 필요합니다. 하지만 그가 모든 것을 할 수 있도록 어떻게 설정해야하나요? 사용자를 데이터베이스 소유자로 만들면 어떻게 되나요?
지금까지 시도했습니다.
CREATE USER user1, sysname, user1
FOR LOGIN user1, sysname, user1
WITH DEFAULT_SCHEMA = dbo, sysname, dbo
GO
기부:
메시지 102, 수준 15, 상태 1, 줄 1 ','근처에 잘못된 구문이 있습니다.
과:
CREATE USER user1
FOR LOGIN user1
WITH DEFAULT_SCHEMA = dbo
GO
기부:
메시지 15007, 수준 16, 상태 1, 줄 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
편집-포함 된 사용자 (v12 이상)
는 SQL 애저 (12)로, 데이터베이스는 다음과 같이 생성됩니다 포함 된 데이터베이스 마스터를 통해 서버에 로그인 할 필요없이, 사용자가 데이터베이스에 직접 생성 할 수 있습니다.
CREATE USER [MyUser] WITH PASSWORD = 'Secret';
ALTER ROLE [db_datareader] ADD MEMBER [MyUser];
포함 된 사용자를 사용할 때 데이터베이스에 연결할 때 항상 연결 문자열에 데이터베이스를 지정해야합니다.
기존 서버 로그인-데이터베이스 사용자 (12 이전 버전)
@Igorek의 답변에 추가하기 위해 Sql Server Management Studio에서 다음을 수행 할 수 있습니다.
서버에 새 로그인 만들기
에서를 master
합니다 (통해 Available databases
SSMS에 드롭 다운 - 때문이다 USE master
푸른에 일을하지 않습니다)
로그인 생성 :
CREATE LOGIN username WITH password='password';
데이터베이스에 새 사용자 만들기
실제 데이터베이스로 전환 (다시 사용 가능한 데이터베이스 드롭 다운 또는 새 연결을 통해)
CREATE USER username FROM LOGIN username;
(사용자와 로그인이으로 연결되기를 원한다고 가정 username
했지만 그렇지 않은 경우 변경하십시오.)
이제 관련 보안 역할에 사용자를 추가하십시오.
EXEC sp_addrolemember N'db_owner', N'username'
GO
(Obviously an app user should have less privileges than dbo
.)
I followed the answers here but when I tried to connect with my new user, I got an error message stating "The server principal 'newuser' is not able to access the database 'master' under the current security context"
.
I had to also create a new user in the master table to successfully log in with SSMS.
USE [master]
GO
CREATE LOGIN [newuser] WITH PASSWORD=N'blahpw'
GO
CREATE USER [newuser] FOR LOGIN [newuser] WITH DEFAULT_SCHEMA=[dbo]
GO
USE [MyDatabase]
CREATE USER newuser FOR LOGIN newuser WITH DEFAULT_SCHEMA = dbo
GO
EXEC sp_addrolemember N'db_owner', N'newuser'
GO
I use the Azure Management console tool of CodePlex, with a very useful GUI, try it. You can save type some code.
You can simply create a contained user in SQL DB V12.
Create user containeduser with password = 'Password'
Contained user login is more efficient than login to the database using the login created by master. You can find more details @ http://www.sqlindepth.com/contained-users-in-sql-azure-db-v12/
create a user and then add user to a specific role:
CREATE USER [test] WITH PASSWORD=N'<strong password>'
go
ALTER ROLE [db_datareader] ADD MEMBER [test]
go
I think the templates use the following notation: variable name, variable type, default value.
Sysname is a built-in data type which can hold the names of system objects.
It is limited to 128 Unicode character.
-- same as sysname type
declare @my_sysname nvarchar(128);
I found this link very helpful:
https://azure.microsoft.com/en-gb/documentation/articles/sql-database-manage-logins/
It details things like:
- Azure SQL Database subscriber account
- Using Azure Active Directory users to access the database
- Server-level principal accounts (unrestricted access)
- Adding users to the dbmanager
database role
I used this and Stuart's answer to do the following:
On the master
database (see link as to who has permissions on this):
CREATE LOGIN [MyAdmin] with password='ReallySecurePassword'
And then on the database in question:
CREATE USER [MyAdmin] FROM LOGIN [MyAdmin]
ALTER ROLE db_owner ADD MEMBER [MyAdmin]
You can also create users like this, according to the link:
CREATE USER [mike@contoso.com] FROM EXTERNAL PROVIDER;
참고 URL : https://stackoverflow.com/questions/19094970/how-do-i-create-a-new-user-in-a-sql-azure-database
'programing' 카테고리의 다른 글
터치 이벤트 지원에만 jQuery Mobile을 사용하는 방법 (UI 향상 없음)? (0) | 2020.12.10 |
---|---|
JavaFX 2.1 TableView 새로 고침 항목 (0) | 2020.12.10 |
Mac OSX에서 $ GOPATH를 설정할 수 없습니다. (0) | 2020.12.10 |
인스턴스 메서드 내에서 형식 메서드 호출 (0) | 2020.12.10 |
Intellij JAVA_HOME 변수 (0) | 2020.12.10 |