СЪЗДАВАНЕ НА ВХОД (Transact-SQL), Microsoft Docs
Създава вход за Database Engine за SQL Server, Windows Azure SQL база данни и SQL Server PDW.
Опциите CREATE LOGIN са различни за SQL Server, SQL Database и SQL Server PDW.
Синтактични означения в Transact-SQL
login_name Определя потребителското име за създаденото влизане. Има четири типа влизания: влизания в SQL Server, влизания в Windows, влизания със сертификати и влизания с асиметрични картографирани ключове. Когато създавате данни за влизане, които са свързани с акаунт на домейн на Windows, трябва да използвате влизане преди Windows 2000 с формат [ \ ]. Не можете да използвате UPN във формата login_name@DomainName. Можете да изучавате пример D по-късно в този раздел. Влизанията за удостоверяване на SQL Server са от тип sysname, трябва да следват правилата за идентификатори и не могат да съдържат "**\". Влизанията в Windows могат да съдържат знаците " \**".
ПАРОЛА='парола ' Отнася се само за влизане в SQL Server. Указва паролата за създаваното влизане. Трябва да се използват силни пароли. За повече информация вижте Силни пароли и Политика за пароли.
Паролата е чувствителна към главни и малки букви. Паролите винаги трябва да са най-малко 8 знака и не могат да надвишават 128 знака. Паролите могат да съдържат знаците a-z, A-Z, 0-9 и повечето небуквени знаци. Паролите не могат да съдържат единични кавички или login_name.
ПАРОЛА **=**хеширана_парола Отнася се само за ключовата дума HASHED. Указва стойността на хеширана парола за генерираното влизане.
HASHED Отнася се само за влизания в SQL Server. Показва, че паролата, въведена след аргумента PASSWORD, вече е хеширана. Ако тази опция не е зададена, низът, въведен като парола, се хешира, преди да бъде съхранен в базата данни. Тази опция може да се използва само за мигриране на бази данни от един сървър на друг. Не използвайте опцията HASHED за създаване на нови данни за вход. Опцията HASHED не може да се използва с хешове, генерирани от SQL Server 7 или по-ранна версия.
MUST_CHANGE Отнася се само за влизания в SQL Server. Ако тази опция е зададена, тогава първият път, когато се използва ново влизане, SQL Server подканва за нова парола.
CREDENTIAL **=**credential_name Име на идентификационни данни за съпоставяне с новото влизане в SQL Server. Идентификационните данни трябва вече да съществуват на сървъра. Понастоящем тази опция свързва само идентификационни данни с влизане. Идентификационните данни не могат да бъдат съпоставени към sa вход.
S> Прилага се само за влизания в SQL Server. Указва GUID на новото влизане в SQL Server. Ако тази опция не е избрана, тогава SQL Server присвоява GUID автоматично.
DEFAULT_DATABASE **=**база данни Базата данни по подразбиране, свързана с влизането. Ако този параметър не е зададен, master става базата данни по подразбиране.
DEFAULT_LANGUAGE **=**език Езикът по подразбиране, зададен за влизане. Ако този параметър не е зададен, текущият език по подразбиране за сървъра се избира като език по подразбиране. Промяната на езика по подразбиране за сървъра не променя езика по подразбиране за влизане.
CHECK_EXPIRATION= < ВКЛ. ИЗКЛ. > Отнася се само за влизания в SQL Server. Показва дали това влизане се отнася заполитика за изтичане на паролата. Стойността по подразбиране е ИЗКЛ.
CHECK_POLICY= < ВКЛ. ИЗКЛ. > Отнася се само за влизания в SQL Server. Указва, че това влизане трябва да бъде наложено от правилата за пароли на Windows на компютъра, който изпълнява SQL Server. Стойността по подразбиране е ON.
Ако правилата на Windows изискват силни пароли, тогава паролата трябва да има поне три от следните четири качества:
Наличието на главни букви (A-Z).
Наличието на малки букви (a-z).
Един от неазбучните знаци, като интервал, _, @, *, ^, %! #, $ или &.
WINDOWS Влизане, съпоставено с влизане в Windows.
CERTIFICATE certname Име на сертификата, свързан с това влизане. Този сертификат трябва вече да съществува в основната база данни.
ASYMMETRIC KEY asym_key_name Името на асиметричния ключ, свързан с това влизане. Този ключ трябва вече да съществува в основната база данни.
Паролата е чувствителна към главни и малки букви.
Предварителното хеширане на парола се поддържа само при създаване на влизания в SQL Server.
Ако е зададено MUST_CHANGE, тогава CHECK_EXPIRATION и CHECK_POLICY трябва да бъдат зададени на ON. В противен случай изпълнението на инструкцията ще доведе до грешка.
Комбинацията от CHECK_POLICY = OFF и CHECK_EXPIRATION = ON не се поддържа.
Ако CHECK_POLICY е OFF, тогава lockout_time се нулира и CHECK_EXPIRATION също е зададено на OFF.
Опциите CHECK_EXPIRATION и CHECK_POLICY ще се прилагат само на Windows Server 2003 или по-нова версия. За повече информация вижте Политикапароли.
Влизанията, генерирани от сертификати или асиметрични ключове, се използват само за подписване на код. Те не могат да се използват за свързване към SQL Server. Вход може да се генерира от сертификат или асиметричен ключ само ако сертификатът или асиметричният ключ вече съществуват в главната база данни.
Когато се създаде вход, той автоматично се активира и получава разрешение за CONNECT SQL на ниво сървър.
Вход в SQL база данни
В услугите на SQL Database операторът CREATE LOGIN трябва да бъде единственият оператор в пакета.
Някои методи за свързване на SQL база данни, като например sqlcmd, изискват да добавите името на сървъра за услуги на SQL база данни към данните за влизане в низа за връзка, като използвате синтаксиса @. Например, ако името за влизане е login1 и пълното име на сървъра на услугите на SQL база данни е servername.database.windows.net, тогава параметърът потребителско име в низа за връзка трябва да бъде login1@servername. Тъй като общата дължина на параметъра потребителско име е 128 знака, дължината на login_name е ограничена до 127 знака минус дължината на името на сървъра. В примера login_name може да бъде с дължина до 117 знака, тъй като името на сървъра е дълго 10 знака.
В услугите на SQL Database създаването на влизане изисква връзка с главната база данни.
За повече информация относно влизанията в услугата на SQL Database вижте Управление на бази данни и влизания в Windows Azure SQL база данни.
Разрешения
SQL Server и SQL Server PDW изискват ALTER ANY LOGIN разрешение на сървъра или членство във фиксираната сървърна роля наsecurityadmin сървъра.
В услугите на базата данни на SQL само потребителското име за влизане на ниво член може да създава нови влизания.сървър (създаден от процеса на осигуряване) или членове на ролята loginmanager на базата данни в главната база данни.
Ако използвате опцията CREDENTIAL, вие също се нуждаете от ALTER ANY CREDENTIAL разрешение на сървъра.
Следващи стъпки
Веднъж създаден, входът се свързва с Database Engine, услугите на SQL Database или SQL Server PDW устройство, но има само разрешенията на ролятаpublic. Опитайте някои от стъпките по-долу.
За да се свържете с база данни, създайте потребител на база данни за влизане. За повече информация вижте СЪЗДАВАНЕ НА ПОТРЕБИТЕЛ (Transact-SQL).
Създайте дефинирана от потребителя сървърна роля с помощта на оператора CREATE SERVER ROLE (Transact-SQL). Използвайте операторите ALTER SERVER ROLE и ADD MEMBER, за да добавите ново влизане към дефинирана от потребителя сървърна роля. За повече информация вижте CREATE SERVER ROLE (Transact-SQL) и ALTER SERVER ROLE (Transact-SQL).
Използвайте sp_addsrvrolemember, за да добавите данни за влизане към фиксирана сървърна роля. За повече информация вижте Роли на ниво сървър и sp_addsrvrolemember (Transact-SQL).
Използвайте израза GRANT, за да предоставите разрешения на ниво сървър за новото влизане или за ролята, съдържаща влизането. За повече информация вижте GRANT Statement (Transact-SQL).
A. Създайте потребителско име с парола
Обхват на приложение: за всички.
Следващият пример създава вход за конкретен потребител и задава парола.
Б. Създайте потребителско име с парола
Приложимо за SQL Server и SQL Server PDW Warehouse.
Следващият пример създава вход за конкретен потребител ие зададена парола. Опцията MUST_CHANGE изисква потребителят да промени тази парола при първото свързване към сървъра.
C. Създаване на вход, съпоставен с идентификационни данни
Отнася се за SQL Server.
Следващият пример създава вход за конкретен потребител, използвайки потребителския идентификатор. Това влизане е свързано с идентификационни данни.
Г. Създайте вход, базиран на сертификат
Отнася се за SQL Server.
Следващият пример създава данни за вход за конкретен потребител въз основа на сертификат в основната база данни.
Д. Създайте вход въз основа на акаунт на домейн на Windows
Отнася се за SQL Server.
Следващият пример създава вход въз основа на акаунт на домейн на Windows.