CREATE LOGIN (Transact-SQL)

Membuat login untuk database SQL Server, SQL Database, Azure Synapse Analytics, atau Analytics Platform System. Klik salah satu tab berikut untuk sintaks, argumen, keterangan, izin, dan contoh untuk versi tertentu.

CREATE LOGIN berpartisipasi dalam transaksi. Jika CREATE LOGIN dijalankan dalam transaksi dan transaksi digulung balik, pembuatan login akan digulung balik. Jika dijalankan dalam transaksi, login yang dibuat tidak dapat digunakan sampai transaksi dilakukan.

Untuk informasi selengkapnya tentang konvensi sintaks, lihat Konvensi Sintaks T-SQL.

Pilih produk

Di baris berikut, pilih nama produk yang Anda minati, dan hanya informasi produk tersebut yang ditampilkan.

* SQL Server *  

 

SQL Server

Sintaks

-- Syntax for SQL Server
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<option_list1> ::=
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=
    SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name

<sources> ::=
    WINDOWS [ WITH <windows_options>[ ,... ] ]
    | CERTIFICATE certname
    | ASYMMETRIC KEY asym_key_name

<windows_options> ::=
    DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Argumen

login_name

Menentukan nama login yang dibuat. Ada empat jenis login: SQL Server login, login Windows, login yang dipetakan sertifikat, dan login yang dipetakan kunci asimetris. Saat Anda membuat login yang dipetakan dari akun domain Windows, Anda harus menggunakan nama masuk pengguna pra-Windows 2000 dalam format [<domainName>\<login_name>]. Anda tidak dapat menggunakan UPN dalam format login_name@DomainName. Misalnya, lihat contoh D nanti di artikel ini. Login autentikasi adalah jenis sysname dan harus sesuai dengan aturan untuk Pengidentifikasi dan tidak boleh berisi '\'. Log masuk Windows bisa berisi '\'. Login berdasarkan pengguna Direktori Aktif, terbatas pada nama kurang dari 21 karakter.

KATA SANDI ='kata sandi'

Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang dibuat. Gunakan kata sandi yang kuat. Untuk informasi selengkapnya, lihat Kata Sandi Kuat dan Kebijakan Kata Sandi. Dimulai dengan SQL Server 2012 (11.x), informasi kata sandi yang disimpan dihitung menggunakan SHA-512 dari kata sandi asin.

Kata sandi peka huruf besar/kecil. Panjang kata sandi harus selalu minimal delapan karakter, dan tidak boleh melebihi 128 karakter. Kata sandi dapat mencakup karakter a-z, A-Z, 0-9, dan sebagian besar karakter non-alfanumerik. Kata sandi tidak boleh berisi tanda kutip tunggal, atau login_name.

hashed_password KATA SANDI =

Hanya berlaku untuk kata kunci HASHED. Menentukan nilai hash kata sandi untuk login yang sedang dibuat.

DI-HASH

Hanya berlaku untuk login SQL Server. Menentukan bahwa kata sandi yang dimasukkan setelah argumen PASSWORD sudah di-hash. Jika opsi ini tidak dipilih, string yang dimasukkan sebagai kata sandi di-hash sebelum disimpan dalam database. Opsi ini hanya boleh digunakan untuk memigrasikan database dari satu server ke server lainnya. Jangan gunakan opsi HASHED untuk membuat login baru. Opsi HASHED tidak dapat digunakan dengan hash yang dibuat oleh SQL 7 atau yang lebih lama.

MUST_CHANGE

Hanya berlaku untuk login SQL Server. Jika opsi ini disertakan, SQL Server meminta kata sandi baru kepada pengguna saat pertama kali masuk baru digunakan.

credential_name KREDENSIAL =

Nama kredensial yang akan dipetakan ke login SQL Server baru. Kredensial harus sudah ada di server. Saat ini opsi ini hanya menautkan kredensial ke login. Kredensial tidak dapat dipetakan ke login Administrator Sistem (sa).

SID = sid

Digunakan untuk membuat ulang login. Berlaku untuk SQL Server login autentikasi saja, bukan login autentikasi Windows. Menentukan SID login autentikasi SQL Server baru. Jika opsi ini tidak digunakan, SQL Server secara otomatis menetapkan SID. Struktur SID tergantung pada versi SQL Server. SQL Server SID login: nilai harfiah 16 byte (biner(16)) berdasarkan GUID. Contohnya:SID = 0x14585E90117152449347750164BA00A7

= DEFAULT_DATABASE database

Menentukan database default yang akan ditetapkan ke login. Jika opsi ini tidak disertakan, database default diatur ke master.

= bahasa DEFAULT_LANGUAGE

Menentukan bahasa default yang akan ditetapkan ke login. Jika opsi ini tidak disertakan, bahasa default diatur ke bahasa default server saat ini. Jika bahasa default server kemudian diubah, bahasa default login tetap tidak berubah.

= CHECK_EXPIRATION { ON | OFF }

Hanya berlaku untuk login SQL Server. Menentukan apakah kebijakan kedaluwarsa kata sandi harus diberlakukan pada login ini. Nilai defaultnya adalah NONAKTIF.

= CHECK_POLICY { ON | OFF }

Hanya berlaku untuk login SQL Server. Menentukan bahwa kebijakan kata sandi Windows komputer tempat SQL Server dijalankan harus diberlakukan pada login ini. Nilai defaultnya adalah AKTIF.

Jika kebijakan Windows memerlukan kata sandi yang kuat, kata sandi harus berisi setidaknya tiga dari empat karakteristik berikut:

  • Karakter huruf besar (A-Z).
  • Karakter huruf kecil (a-z).
  • Digit (0-9).
  • Salah satu karakter non-alfanumerik, seperti spasi, _, @, *, ^, %, !, $, #, atau &.

WINDOWS

Menentukan bahwa login dipetakan ke login Windows.

SERTIFIKAT certname

Menentukan nama sertifikat yang akan dikaitkan dengan login ini. Sertifikat ini harus sudah terjadi di database master.

asym_key_name KUNCI ASIMETRIS

Menentukan nama kunci asimetris yang akan dikaitkan dengan login ini. Kunci ini harus sudah terjadi di database master.

Keterangan

  • Kata sandi peka huruf besar/kecil.
  • Prehashing kata sandi hanya didukung saat Anda membuat SQL Server login.
  • Jika MUST_CHANGE ditentukan, CHECK_EXPIRATION dan CHECK_POLICY harus diatur ke AKTIF. Jika tidak, pernyataan akan gagal.
  • Kombinasi CHECK_POLICY = OFF dan CHECK_EXPIRATION = ON tidak didukung.
  • Saat CHECK_POLICY diatur ke NONAKTIF, lockout_time diatur ulang dan CHECK_EXPIRATION diatur ke NONAKTIF.

Penting

CHECK_EXPIRATION dan CHECK_POLICY hanya diberlakukan pada Windows Server 2003 dan yang lebih baru. Untuk informasi selengkapnya, lihat Kebijakan Kata Sandi.

Izin

  • Hanya pengguna dengan izin UBAH LOGIN APA PUN di server atau keanggotaan dalam peran server tetap securityadmin yang dapat membuat login. Untuk informasi selengkapnya, lihat Peran Tingkat Server dan MENGUBAH PERAN SERVER.
  • Jika opsi KREDENSIAL digunakan, juga memerlukan izin UBAH INFO MASUK APA PUN di server.

Setelah membuat login

Setelah membuat login, login dapat terhubung ke SQL Server, tetapi hanya memiliki izin yang diberikan ke peran publik. Pertimbangkan untuk melakukan beberapa aktivitas berikut.

  • Untuk menyambungkan ke database, buat pengguna database untuk masuk. Untuk informasi selengkapnya, lihat MEMBUAT PENGGUNA.
  • Buat peran server yang ditentukan pengguna dengan menggunakan CREATE SERVER ROLE. Gunakan ALTER SERVER ROLE ... TAMBAHKAN ANGGOTA untuk menambahkan login baru ke peran server yang ditentukan pengguna. Untuk informasi selengkapnya, lihat MEMBUAT PERAN SERVER dan MENGUBAH PERAN SERVER.
  • Gunakan sp_addsrvrolemember untuk menambahkan login ke peran server tetap. Untuk informasi selengkapnya, lihat Peran dan sp_addsrvrolemember Tingkat Server.
  • Gunakan pernyataan GRANT , untuk memberikan izin tingkat server ke login baru atau ke peran yang berisi login. Untuk informasi selengkapnya, lihat GRANT.

Contoh

A. Membuat login dengan kata sandi

Contoh berikut membuat login untuk pengguna tertentu dan menetapkan kata sandi.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Membuat login dengan kata sandi yang harus diubah

Contoh berikut membuat login untuk pengguna tertentu dan menetapkan kata sandi. Opsi ini MUST_CHANGE mengharuskan pengguna untuk mengubah kata sandi ini saat pertama kali mereka tersambung ke server.

Berlaku untuk: SQL Server 2008 dan yang lebih baru.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>'
    MUST_CHANGE, CHECK_EXPIRATION = ON;
GO

Catatan

Opsi MUST_CHANGE tidak dapat digunakan saat CHECK_EXPIRATION NONAKTIF.

C. Membuat login yang dipetakan ke kredensial

Contoh berikut membuat login untuk pengguna tertentu, menggunakan pengguna. Login ini dipetakan ke kredensial.

Berlaku untuk: SQL Server 2008 dan yang lebih baru.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>',
    CREDENTIAL = <credentialName>;
GO

D. Membuat login dari sertifikat

Contoh berikut membuat login untuk pengguna tertentu dari sertifikat di master.

Berlaku untuk: SQL Server 2008 dan yang lebih baru.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO

E. Membuat login dari akun domain Windows

Contoh berikut membuat login dari akun domain Windows.

Berlaku untuk: SQL Server 2008 dan yang lebih baru.

CREATE LOGIN [<domainName>\<login_name>] FROM WINDOWS;
GO

F. Membuat login dari SID

Contoh berikut pertama-tama membuat login autentikasi SQL Server dan menentukan SID login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';
SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Kueri saya mengembalikan 0x241C11948AEEB749B0D22646DB1A19F2 sebagai SID. Kueri Anda akan mengembalikan nilai yang berbeda. Pernyataan berikut menghapus login, lalu membuat ulang login. Gunakan SID dari kueri Anda sebelumnya.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

G. Membuat login dengan beberapa argumen

Contoh berikut menunjukkan cara meringkas beberapa argumen bersama-sama menggunakan koma di antara setiap argumen.

CREATE LOGIN [MyUser]
WITH PASSWORD = 'MyPassword',
DEFAULT_DATABASE = MyDatabase,
CHECK_POLICY = OFF,
CHECK_EXPIRATION = OFF ;

H. Membuat login SQL dengan kata sandi yang di-hash

Contoh berikut menunjukkan cara membuat Login SQL dengan kata sandi yang sama dengan Login yang ada seperti yang dilakukan dalam skenario migrasi. Langkah pertama adalah mengambil hash kata sandi dari Login yang ada di server database sumber. Kemudian hash yang sama akan digunakan untuk membuat Login di server database baru. Dengan melakukan ini, Login baru akan memiliki kata sandi yang sama seperti di server lama.

-- run this to retrieve the password hash for an individual Login:
SELECT LOGINPROPERTY('Andreas','PASSWORDHASH') AS password_hash;
-- as an alternative, the catalog view sys.sql_logins can be used to retrieve the password hashes for multiple accounts at once. (This could be used to create a dynamic sql statemnt from the result set)
SELECT name, password_hash
FROM sys.sql_logins
  WHERE
    principal_id > 1    -- excluding sa
    AND
    name NOT LIKE '##MS_%##' -- excluding special MS system accounts
-- create the new SQL Login on the new database server using the hash of the source server
CREATE LOGIN Andreas
  WITH PASSWORD = 0x02000A1A89CD6C6E4C8B30A282354C8EA0860719D5D3AD05E0CAE1952A1C6107A4ED26BEBA2A13B12FAB5093B3CC2A1055910CC0F4B9686A358604E99BB9933C75B4EA48FDEA HASHED;

Lihat juga

* Azure SQL Database *

 

SQL Database

Sintaks

-- Syntax for Azure SQL Database
CREATE LOGIN login_name
  { 
    FROM EXTERNAL PROVIDER
    | WITH <option_list> [,..] 
  }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

Argumen

login_name

Catatan

Prinsipal server (login) Azure Active Directory (Azure AD) saat ini berada dalam pratinjau publik untuk Azure SQL Database.

Saat digunakan dengan klausa FROM EXTERNAL PROVIDER, login menentukan prinsipal Azure Active Directory (AD), yang merupakan pengguna, grup, atau aplikasi Azure AD. Jika tidak, login mewakili nama login SQL yang dibuat.

Pengguna dan perwakilan layanan Azure Active Directory (aplikasi Azure Active Directory) yang merupakan anggota dari 2048 lebih grup keamanan Azure Active Directory tidak didukung untuk masuk ke database dalam SQL Database, Managed Instance, atau Azure Synapse.

DARI PENYEDIA EKSTERNAL

Menentukan bahwa login adalah untuk Autentikasi Azure AD.

PASSWORD *='password'

Menentukan kata sandi untuk login SQL yang sedang dibuat. Gunakan kata sandi yang kuat. Untuk informasi selengkapnya, lihat Kata Sandi Kuat dan Kebijakan Kata Sandi. Dimulai dengan SQL Server 2012 (11.x), informasi kata sandi yang disimpan dihitung menggunakan SHA-512 dari kata sandi asin.

Kata sandi peka huruf besar/kecil. Panjang kata sandi harus selalu minimal delapan karakter, dan tidak boleh melebihi 128 karakter. Kata sandi dapat mencakup karakter a-z, A-Z, 0-9, dan sebagian besar karakter non-alfanumerik. Kata sandi tidak boleh berisi tanda kutip tunggal, atau login_name.

SID = sid

Digunakan untuk membuat ulang login. Berlaku untuk SQL Server login autentikasi saja, bukan login autentikasi Windows. Menentukan SID login autentikasi SQL Server baru. Jika opsi ini tidak digunakan, SQL Server secara otomatis menetapkan SID. Struktur SID tergantung pada versi SQL Server. Untuk SQL Database, ini adalah literal 32 byte (biner(32)) yang terdiri dari 0x01060000000000640000000000000000 plus 16 byte yang mewakili GUID. Contohnya:SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7

Keterangan

  • Kata sandi peka huruf besar/kecil.
  • Membuat login secara otomatis memungkinkan login baru dan memberikan izin SAMBUNGKAN SQL tingkat server.

Penting

Lihat Mengelola Login di database Azure SQL untuk informasi tentang bekerja dengan login dan pengguna di Azure SQL Database.

Masuk

SQL Database Masuk

Pernyataan CREATE LOGIN harus menjadi satu-satunya pernyataan dalam batch.

Dalam beberapa metode untuk menyambungkan ke SQL Database, seperti sqlcmd, Anda harus menambahkan nama server SQL Database ke nama login dalam string koneksi dengan menggunakannotasi server> login<@><. Misalnya, jika login Anda adalah login1 dan nama server SQL Database yang sepenuhnya memenuhi syarat adalah servername.database.windows.net, parameter nama pengguna dari string koneksi harus login1@servername. Karena panjang total parameter nama pengguna adalah 128 karakter, login_name dibatasi hingga 127 karakter dikurangi panjang nama server. Dalam contoh, login_name panjangnya hanya 117 karakter karena servername 10 karakter.

Di SQL Database, Anda harus tersambung ke database master dengan izin yang sesuai untuk membuat login. Untuk informasi selengkapnya, lihat Membuat login tambahan dan pengguna yang memiliki izin administratif.

SQL Server memungkinkan Anda membuat login autentikasi SQL Server dalam format <loginname>@<servername>. Jika server SQL Database Anda adalah myazureserver dan login Anda adalah myemail@live.com, maka Anda harus menyediakan login Anda sebagai myemail@live.com@myazureserver.

Dalam SQL Database, data login yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.

Izin

Hanya info masuk utama tingkat server (dibuat oleh proses penyediaan) atau anggota peran basis data loginmanager dalam basis data master yang dapat membuat info masuk baru. Untuk informasi selengkapnya, lihat Membuat login tambahan dan pengguna yang memiliki izin administratif.

Contoh

A. Membuat login dengan kata sandi

Contoh berikut membuat login untuk pengguna tertentu dan menetapkan kata sandi.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Membuat login dari SID

Contoh berikut pertama-tama membuat login autentikasi SQL Server dan menentukan SID login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Kueri saya mengembalikan 0x241C11948AEEB749B0D22646DB1A19F2 sebagai SID. Kueri Anda akan mengembalikan nilai yang berbeda. Pernyataan berikut menghapus login, lalu membuat ulang login. Gunakan SID dari kueri Anda sebelumnya.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C. Membuat login menggunakan akun Azure AD

Contoh berikut membuat login di server logis SQL Database,bob@contoso.com yang ada di domain Azure AD yang disebut contoso.

Use master
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

Lihat juga

* Azure SQL
Instans Terkelola *

 

Instans Terkelola Azure SQL

Sintaks

-- Syntax for Azure SQL Managed Instance
CREATE LOGIN login_name [FROM EXTERNAL PROVIDER] { WITH <option_list> [,..]}

<option_list> ::=
    PASSWORD = {'password'}
    | SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Argumen

login_name

Saat digunakan dengan klausa FROM EXTERNAL PROVIDER, login menentukan prinsipal Azure Active Directory (AD), yang merupakan pengguna, grup, atau aplikasi Azure AD. Jika tidak, login mewakili nama login SQL yang dibuat.

Pengguna dan perwakilan layanan Azure Active Directory (aplikasi Azure Active Directory) yang merupakan anggota dari 2048 lebih grup keamanan Azure Active Directory tidak didukung untuk masuk ke database dalam SQL Database, Managed Instance, atau Azure Synapse.

DARI PENYEDIA EKSTERNAL

Menentukan bahwa login adalah untuk Autentikasi Azure AD.

KATA SANDI = 'kata sandi'

Menentukan kata sandi untuk login SQL yang sedang dibuat. Gunakan kata sandi yang kuat. Untuk informasi selengkapnya, lihat Kata Sandi Kuat dan Kebijakan Kata Sandi. Dimulai dengan SQL Server 2012 (11.x), informasi kata sandi yang disimpan dihitung menggunakan SHA-512 dari kata sandi asin.

Kata sandi peka huruf besar/kecil. Panjang kata sandi harus selalu minimal sepuluh karakter, dan tidak boleh melebihi 128 karakter. Kata sandi dapat mencakup karakter a-z, A-Z, 0-9, dan sebagian besar karakter non-alfanumerik. Kata sandi tidak boleh berisi tanda kutip tunggal, atau login_name.

SID =sid

Digunakan untuk membuat ulang login. Berlaku hanya untuk login autentikasi SQL Server. Menentukan SID login autentikasi SQL Server baru. Jika opsi ini tidak digunakan, SQL Server secara otomatis menetapkan SID. Struktur SID tergantung pada versi SQL Server. Untuk SQL Database, ini adalah literal 32 byte (biner(32)) yang terdiri dari 0x01060000000000640000000000000000 plus 16 byte yang mewakili GUID. Contohnya:SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7

Keterangan

  • Kata sandi peka huruf besar/kecil.

  • Sintaks baru diperkenalkan untuk pembuatan prinsipal tingkat server yang dipetakan ke akun Azure AD (FROM EXTERNAL PROVIDER)

  • Ketika FROM EXTERNAL PROVIDER ditentukan:

    • login_name harus mewakili akun Azure AD yang ada (pengguna, grup, atau aplikasi) yang dapat diakses di Azure AD oleh Azure SQL Managed Instance saat ini. Untuk prinsipal Azure AD, sintaksIS CREATE LOGIN memerlukan:
      • UserPrincipalName dari objek Azure AD untuk Pengguna Azure AD.
      • DisplayName objek Azure AD untuk Grup Azure AD dan Aplikasi Azure AD.
    • Opsi PASSWORD tidak dapat digunakan.
  • Secara default, ketika klausa FROM EXTERNAL PROVIDER dihilangkan, login SQL reguler dibuat.

  • Azure AD login terlihat di sys.server_principals, dengan nilai kolom jenis diatur ke E dan type_desc diatur ke EXTERNAL_LOGIN untuk login yang dipetakan ke pengguna Azure AD, atau ketik nilai kolom yang diatur ke X dan nilai type_desc diatur ke EXTERNAL_GROUP untuk login yang dipetakan ke grup Azure AD.

  • Untuk skrip untuk mentransfer login, lihat Cara mentransfer login dan kata sandi antara instans SQL Server 2005 dan SQL Server 2008.

  • Membuat login secara otomatis memungkinkan login baru dan memberikan izin SAMBUNGKAN SQL tingkat server.

Penting

Lihat Mengelola Login di database Azure SQL untuk informasi tentang bekerja dengan login dan pengguna di Azure SQL Database.

Masuk dan Izin

Hanya login utama tingkat server (dibuat oleh proses provisi) atau anggota securityadmin peran database atau sysadmin dalam database master yang dapat membuat login baru. Untuk informasi selengkapnya, lihat Peran Tingkat Server dan MENGUBAH PERAN SERVER.

Secara default, izin standar yang diberikan kepada Azure AD masuk yang baru dibuat di master adalah: SAMBUNGKAN SQL dan LIHAT DATABASE APA PUN.

SQL Managed Instance Masuk

  • Harus memiliki izin UBAH LOGIN APA PUN di server atau keanggotaan di salah satu peran securityadmin server tetap atau sysadmin. Hanya akun Azure Active Directory (Azure AD) dengan izin UBAH LOGIN APA PUN di server atau keanggotaan dalam salah satu peran tersebut yang dapat menjalankan perintah buat.
  • Jika login adalah Prinsipal SQL, hanya login yang merupakan bagian sysadmin dari peran yang dapat menggunakan perintah buat untuk membuat login untuk akun Azure AD.
  • Harus menjadi anggota Azure AD dalam direktori yang sama dengan yang digunakan untuk Azure SQL Managed Instance.

Setelah membuat login

Catatan

Admin Azure AD untuk fungsionalitas Azure SQL Managed Instance setelah pembuatan berubah. Untuk informasi selengkapnya, lihat Fungsionalitas admin Azure AD baru untuk MI.

Setelah membuat login, login dapat terhubung ke instans terkelola, tetapi hanya memiliki izin yang diberikan ke peran publik . Pertimbangkan untuk melakukan beberapa aktivitas berikut.

  • Untuk membuat pengguna Azure AD dari login Azure AD, lihat MEMBUAT PENGGUNA.
  • Untuk memberikan izin kepada pengguna dalam database, gunakan ALTER SERVER ROLE ... Pernyataan TAMBAHKAN ANGGOTA untuk menambahkan pengguna ke salah satu peran database bawaan atau peran kustom, atau memberikan izin kepada pengguna secara langsung menggunakan pernyataan GRANT . Untuk informasi selengkapnya, lihat Peran Non-administrator, Peran administratif tingkat server tambahan, ALTER SERVER ROLE, dan pernyataan GRANT .
  • Untuk memberikan izin di seluruh server, buat pengguna database di database master dan gunakan ALTER SERVER ROLE ... Tambahkan pernyataan MEMBER untuk menambahkan pengguna ke salah satu peran server administratif. Untuk informasi selengkapnya, lihat Peran Tingkat Server dan MENGUBAH PERAN SERVER, dan Peran server.
    • Gunakan perintah berikut untuk menambahkan peran ke sysadmin login Azure AD:ALTER SERVER ROLE sysadmin ADD MEMBER [AzureAD_Login_name]
  • Gunakan pernyataan GRANT , untuk memberikan izin tingkat server ke login baru atau ke peran yang berisi login. Untuk informasi selengkapnya, lihat GRANT.

Batasan

  • Mengatur login Azure AD dipetakan ke grup Azure AD karena pemilik database tidak didukung.
  • Peniruan Azure AD prinsipal tingkat server menggunakan prinsipal Azure AD lainnya didukung, seperti klausul EXECUTE AS.
  • Hanya prinsipal tingkat server SQL (login) yang merupakan bagian sysadmin dari peran yang dapat menjalankan operasi berikut yang menargetkan Azure AD prinsipal:
    • EXECUTE AS USER
    • EXECUTE AS LOGIN
  • Pengguna eksternal (tamu) yang diimpor dari direktori Azure AD lain tidak dapat langsung dikonfigurasi sebagai admin Azure AD untuk SQL Managed Instance menggunakan portal Azure. Sebagai gantinya, gabungkan pengguna eksternal ke grup yang mendukung keamanan Azure AD dan konfigurasikan grup sebagai administrator instans. Anda dapat menggunakan PowerShell atau Azure CLI untuk mengatur pengguna tamu individual sebagai administrator instans.
  • Login tidak direplikasi ke instans sekunder dalam grup failover. Login disimpan dalam database master, yang merupakan database sistem, dan dengan demikian, tidak direplikasi secara geografis. Untuk mengatasinya, pengguna harus membuat login dengan SID yang sama pada instans sekunder.
-- Code to create login on the secondary instance
CREATE LOGIN foo WITH PASSWORD = '<enterStrongPasswordHere>', SID = <login_sid>;

Contoh

A. Membuat login dengan kata sandi

Contoh berikut membuat login untuk pengguna tertentu dan menetapkan kata sandi.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Membuat login dari SID

Contoh berikut pertama-tama membuat login autentikasi SQL Server dan menentukan SID login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Kueri saya mengembalikan 0x241C11948AEEB749B0D22646DB1A19F2 sebagai SID. Kueri Anda akan mengembalikan nilai yang berbeda. Pernyataan berikut menghapus login, lalu membuat ulang login. Gunakan SID dari kueri Anda sebelumnya.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C. Membuat login untuk akun Azure AD lokal

Contoh berikut membuat login untuk akun joe@myaad.onmicrosoft.com Azure AD yang ada di Azure AD myaad.

CREATE LOGIN [joe@myaad.onmicrosoft.com] FROM EXTERNAL PROVIDER
GO

D. Membuat login untuk akun Azure AD federasi

Contoh berikut membuat login untuk akun bob@contoso.com Azure AD federasi yang ada di Azure AD yang disebut contoso. Bob pengguna juga dapat menjadi pengguna tamu.

CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

E. Membuat login untuk grup Azure AD

Contoh berikut membuat login untuk grup Azure AD mygroup yang ada di Azure AD myaad

CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER
GO

F. Membuat login untuk aplikasi Azure AD

Contoh berikut membuat login untuk aplikasi Azure AD myapp yang ada di Azure AD myaad

CREATE LOGIN [myapp] FROM EXTERNAL PROVIDER

G. Periksa login yang baru ditambahkan

Untuk memeriksa login yang baru ditambahkan, jalankan perintah T-SQL berikut:

SELECT *
FROM sys.server_principals;
GO

Lihat juga

* Azure Synapse
Analitik *

 

Azure Synapse Analytics

Sintaks

-- Syntax for Azure Synapse Analytics
CREATE LOGIN login_name
 { WITH <option_list> }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

Argumen

login_name

Menentukan nama login yang dibuat. Analitik SQL di Azure Synapse hanya mendukung login SQL. Untuk membuat akun untuk pengguna Azure Active Directory, gunakan pernyataan CREATE USER .

PASSWORD *='password'

Menentukan kata sandi untuk login SQL yang sedang dibuat. Gunakan kata sandi yang kuat. Untuk informasi selengkapnya, lihat Kata Sandi Kuat dan Kebijakan Kata Sandi. Dimulai dengan SQL Server 2012 (11.x), informasi kata sandi yang disimpan dihitung menggunakan SHA-512 dari kata sandi asin.

Kata sandi peka huruf besar/kecil. Panjang kata sandi harus selalu minimal delapan karakter, dan tidak boleh melebihi 128 karakter. Kata sandi dapat mencakup karakter a-z, A-Z, 0-9, dan sebagian besar karakter non-alfanumerik. Kata sandi tidak boleh berisi tanda kutip tunggal, atau login_name.

SID = sid

Digunakan untuk membuat ulang login. Berlaku untuk SQL Server login autentikasi saja, bukan login autentikasi Windows. Menentukan SID login autentikasi SQL Server baru. Jika opsi ini tidak digunakan, SQL Server secara otomatis menetapkan SID. Struktur SID tergantung pada versi SQL Server. Untuk SQL Analytics, ini adalah literal 32 byte (biner(32)) yang terdiri dari 0x01060000000000640000000000000000 plus 16 byte yang mewakili GUID. Contohnya:SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7

Keterangan

Masuk

Pernyataan CREATE LOGIN harus menjadi satu-satunya pernyataan dalam batch.

Saat menyambungkan ke Azure Synapse menggunakan alat seperti sqlcmd, Anda harus menambahkan nama server SQL Analytics ke nama login dalam string koneksi dengan menggunakannotasi server> masuk<@><. Misalnya, jika login Anda adalah login1 dan nama server SQL Analytics yang sepenuhnya memenuhi syarat adalah servername.database.windows.net, parameter nama pengguna dari string koneksi harus login1@servername. Karena panjang total parameter nama pengguna adalah 128 karakter, login_name dibatasi hingga 127 karakter dikurangi panjang nama server. Dalam contoh, login_name panjangnya hanya 117 karakter karena servername 10 karakter.

Untuk membuat login, Anda harus tersambung ke database master.

SQL Server memungkinkan Anda membuat login autentikasi SQL Server dalam format <loginname>@<servername>. Jika server SQL Database Anda adalah myazureserver dan login Anda adalah myemail@live.com, maka Anda harus menyediakan login Anda sebagai myemail@live.com@myazureserver.

Data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE.

Untuk informasi selengkapnya tentang login, lihat Mengelola Database dan Login.

Izin

Hanya info masuk utama tingkat server (dibuat oleh proses penyediaan) atau anggota peran basis data loginmanager dalam basis data master yang dapat membuat info masuk baru. Untuk informasi selengkapnya, lihat Peran Tingkat Server dan MENGUBAH PERAN SERVER.

Setelah membuat login

Setelah membuat login, login dapat terhubung ke Azure Synapse tetapi hanya memiliki izin yang diberikan ke peran publik. Pertimbangkan untuk melakukan beberapa aktivitas berikut.

  • Untuk menyambungkan ke database, buat pengguna database untuk masuk. Untuk informasi selengkapnya, lihat MEMBUAT PENGGUNA.

  • Untuk memberikan izin kepada pengguna dalam database, gunakan ALTER SERVER ROLE ... Pernyataan TAMBAHKAN ANGGOTA untuk menambahkan pengguna ke salah satu peran database bawaan atau peran kustom, atau memberikan izin kepada pengguna secara langsung menggunakan pernyataan GRANT . Untuk informasi selengkapnya, lihat Peran Non-administrator, Peran administratif tingkat server tambahan, ALTER SERVER ROLE, dan pernyataan GRANT .

  • Untuk memberikan izin di seluruh server, buat pengguna database di database master dan gunakan ALTER SERVER ROLE ... Tambahkan pernyataan MEMBER untuk menambahkan pengguna ke salah satu peran server administratif. Untuk informasi selengkapnya, lihat Peran Tingkat Server dan MENGUBAH PERAN SERVER, dan Peran server.

  • Gunakan pernyataan GRANT , untuk memberikan izin tingkat server ke login baru atau ke peran yang berisi login. Untuk informasi selengkapnya, lihat GRANT.

Contoh

A. Membuat login dengan kata sandi

Contoh berikut membuat login untuk pengguna tertentu dan menetapkan kata sandi.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Membuat login dari SID

Contoh berikut pertama-tama membuat login autentikasi SQL Server dan menentukan SID login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Kueri saya mengembalikan 0x241C11948AEEB749B0D22646DB1A19F2 sebagai SID. Kueri Anda akan mengembalikan nilai yang berbeda. Pernyataan berikut menghapus login, lalu membuat ulang login. Gunakan SID dari kueri Anda sebelumnya.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Lihat juga

* Analitik
Sistem Platform (PDW) *

 

Sistem Platform Analisis

Sintaks

-- Syntax for Analytics Platform System
CREATE LOGIN loginName { WITH <option_list1> | FROM WINDOWS }

<option_list1> ::=
    PASSWORD = { 'password' } [ MUST_CHANGE ]
    [ , <option_list> [ ,... ] ]

<option_list> ::=
      CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}

Argumen

login_name

Menentukan nama login yang dibuat. Ada empat jenis login: SQL Server login, login Windows, login yang dipetakan sertifikat, dan login yang dipetakan kunci asimetris. Saat Anda membuat login yang dipetakan dari akun domain Windows, Anda harus menggunakan nama masuk pengguna pra-Windows 2000 dalam format [<domainName>\<login_name>]. Anda tidak dapat menggunakan UPN dalam format login_name@DomainName. Misalnya, lihat contoh D nanti di artikel ini. Login autentikasi adalah jenis sysname dan harus sesuai dengan aturan untuk Pengidentifikasi dan tidak boleh berisi '\'. Log masuk Windows bisa berisi '\'. Login berdasarkan pengguna Direktori Aktif, terbatas pada nama kurang dari 21 karakter.

PASSWORD ='password'

Hanya berlaku untuk login SQL Server. Menentukan kata sandi untuk login yang sedang dibuat. Gunakan kata sandi yang kuat. Untuk informasi selengkapnya, lihat Kata Sandi Kuat dan Kebijakan Kata Sandi. Dimulai dengan SQL Server 2012 (11.x), informasi kata sandi yang disimpan dihitung menggunakan SHA-512 dari kata sandi asin.

Kata sandi peka huruf besar/kecil. Panjang kata sandi harus selalu minimal delapan karakter, dan tidak boleh melebihi 128 karakter. Kata sandi dapat mencakup karakter a-z, A-Z, 0-9, dan sebagian besar karakter non-alfanumerik. Kata sandi tidak boleh berisi tanda kutip tunggal, atau login_name.

MUST_CHANGE

Hanya berlaku untuk login SQL Server. Jika opsi ini disertakan, SQL Server meminta kata sandi baru kepada pengguna saat pertama kali masuk baru digunakan.

= CHECK_EXPIRATION { ON | OFF }

Hanya berlaku untuk login SQL Server. Menentukan apakah kebijakan kedaluwarsa kata sandi harus diberlakukan pada login ini. Nilai defaultnya adalah NONAKTIF.

= CHECK_POLICY { ON | OFF }

Hanya berlaku untuk login SQL Server. Menentukan bahwa kebijakan kata sandi Windows komputer tempat SQL Server dijalankan harus diberlakukan pada login ini. Nilai defaultnya adalah AKTIF.

Jika kebijakan Windows memerlukan kata sandi yang kuat, kata sandi harus berisi setidaknya tiga dari empat karakteristik berikut:

  • Karakter huruf besar (A-Z).
  • Karakter huruf kecil (a-z).
  • Digit (0-9).
  • Salah satu karakter non-alfanumerik, seperti spasi, _, @, *, ^, %, !, $, #, atau &.

WINDOWS

Menentukan bahwa login dipetakan ke login Windows.

Keterangan

  • Kata sandi peka huruf besar/kecil.
  • Jika MUST_CHANGE ditentukan, CHECK_EXPIRATION dan CHECK_POLICY harus diatur ke AKTIF. Jika tidak, pernyataan akan gagal.
  • Kombinasi CHECK_POLICY = OFF dan CHECK_EXPIRATION = ON tidak didukung.
  • Saat CHECK_POLICY diatur ke NONAKTIF, lockout_time diatur ulang dan CHECK_EXPIRATION diatur ke NONAKTIF.

Penting

CHECK_EXPIRATION dan CHECK_POLICY hanya diberlakukan pada Windows Server 2003 dan yang lebih baru. Untuk informasi selengkapnya, lihat Kebijakan Kata Sandi.

Izin

Hanya pengguna dengan izin UBAH LOGIN APA PUN di server atau keanggotaan dalam peran server tetap securityadmin yang dapat membuat login. Untuk informasi selengkapnya, lihat Peran Tingkat Server dan MENGUBAH PERAN SERVER.

Setelah membuat login

Setelah membuat login, login dapat terhubung ke Azure Synapse Analytics, tetapi hanya memiliki izin yang diberikan ke peran publik. Pertimbangkan untuk melakukan beberapa aktivitas berikut.

  • Untuk menyambungkan ke database, buat pengguna database untuk masuk. Untuk informasi selengkapnya, lihat MEMBUAT PENGGUNA.
  • Buat peran server yang ditentukan pengguna dengan menggunakan CREATE SERVER ROLE. Gunakan ALTER SERVER ROLE ... TAMBAHKAN ANGGOTA untuk menambahkan login baru ke peran server yang ditentukan pengguna. Untuk informasi selengkapnya, lihat MEMBUAT PERAN SERVER dan MENGUBAH PERAN SERVER.
  • Gunakan sp_addsrvrolemember untuk menambahkan login ke peran server tetap. Untuk informasi selengkapnya, lihat Peran Dan sp_addsrvrolemember Tingkat Server.
  • Gunakan pernyataan GRANT , untuk memberikan izin tingkat server ke login baru atau ke peran yang berisi login. Untuk informasi selengkapnya, lihat GRANT.

Contoh

G. Membuat login autentikasi SQL Server dengan kata sandi

Contoh berikut membuat login Mary7 dengan kata sandi A2c3456.

CREATE LOGIN Mary7 WITH PASSWORD = 'A2c3456$#' ;

H. Penggunaan Opsi

Contoh berikut membuat login Mary8 dengan kata sandi dan beberapa argumen opsional.

CREATE LOGIN Mary8 WITH PASSWORD = 'A2c3456$#' MUST_CHANGE,
CHECK_EXPIRATION = ON,
CHECK_POLICY = ON;

i. Membuat login dari akun domain Windows

Contoh berikut membuat login dari akun domain Windows bernama Mary di Contoso domain.

CREATE LOGIN [Contoso\Mary] FROM WINDOWS;
GO

Lihat juga