Имя пользователя windows sql server

Содержание
  1. USER_NAME (Transact-SQL) USER_NAME (Transact-SQL)
  2. Синтаксис Syntax
  3. Аргументы Arguments
  4. Типы возвращаемых данных Return Types
  5. Комментарии Remarks
  6. Примеры Examples
  7. A. A. Использование USER_NAME. Using USER_NAME
  8. Б. B. Использование USER_NAME без идентификатора Using USER_NAME without an ID
  9. В. C. Использование USER_NAME в предложении WHERE Using USER_NAME in the WHERE clause
  10. Г. D. Вызов USER_NAME во время олицетворения пользователя с помощью EXECUTE AS Calling USER_NAME during impersonation with EXECUTE AS
  11. Примеры: Azure Synapse Analytics Azure Synapse Analytics и Параллельное хранилище данных Parallel Data Warehouse Examples: Azure Synapse Analytics Azure Synapse Analytics and Параллельное хранилище данных Parallel Data Warehouse
  12. Д. E. Использование USER_NAME без идентификатора Using USER_NAME without an ID
  13. Е. F. Использование USER_NAME в предложении WHERE Using USER_NAME in the WHERE clause
  14. Создание и удаление пользователей в Microsoft SQL Server
  15. Создание имени входа на MS SQL Server
  16. Создание имени входа с использованием среды SQL Server Management Studio
  17. Создание имени входа с использованием языка Transact-SQL
  18. Создание имени входа на SQL Server с проверкой подлинности Windows
  19. Отключение и включение имен входа в MS SQL Server
  20. Создание пользователя базы данных в MS SQL Server
  21. Создание пользователя базы данных с помощью Management Studio
  22. Создание пользователя базы данных с помощью языка Transact-SQL
  23. Удаление пользователя базы данных и имени входа в MS SQL Server
  24. CURRENT_USER (Transact-SQL) CURRENT_USER (Transact-SQL)
  25. Синтаксис Syntax
  26. Типы возвращаемых данных Return types
  27. Remarks Remarks
  28. Примеры Examples
  29. A. A. Использование ключевого слова CURRENT_USER для возврата имени текущего пользователя Using CURRENT_USER to return the current user name
  30. Б. B. Использование ключевого слова CURRENT_USER в качестве ограничения DEFAULT Using CURRENT_USER as a DEFAULT constraint
  31. В. C. Использование ключевого слова CURRENT_USER из олицетворенного контекста Using CURRENT_USER from an impersonated context

USER_NAME (Transact-SQL) USER_NAME (Transact-SQL)

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse

Возвращает имя пользователя базы данных по указанному идентификационному номеру. Returns a database user name from a specified identification number.

Синтаксические обозначения в Transact-SQL Transact-SQL Syntax Conventions

Синтаксис Syntax

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям. To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Аргументы Arguments

идентификатор id
Номер идентификатора, сопоставленный с пользователем базы данных. Is the identification number associated with a database user. Аргумент id имеет тип int. Необходимо поставить скобки. id is int. The parentheses are required.

Типы возвращаемых данных Return Types

nvarchar(128) nvarchar(128)

Комментарии Remarks

Когда аргумент id не указывается, подразумевается контекст текущего пользователя. When id is omitted, the current user in the current context is assumed. Если параметр содержит слово NULL, то возвращается NULL. If the parameter contains the word NULL will return NULL. При использовании функции USER_NAME без указания id после инструкции EXECUTE AS функция USER_NAME возвращает имя олицетворенного пользователя. When USER_NAME is called without specifying an id after an EXECUTE AS statement, USER_NAME returns the name of the impersonated user. Если пользователь Windows попытается получить доступ к базе данных в качестве члена группы, функция USER_NAME вернет имя этого пользователя, а не имя группы. If a Windows principal accesses the database by way of membership in a group, USER_NAME returns the name of the Windows principal instead of the group.

Читайте также:  File hub для windows

Хотя функция USER_NAME поддерживается в базе данных SQL Azure, использование Выполнить как с USER_NAME не поддерживается в базе данных SQL Azure. Although the USER_NAME function is supported on Azure SQL Database, using Execute as with USER_NAME is not supported on Azure SQL Database.

Примеры Examples

A. A. Использование USER_NAME. Using USER_NAME

Следующий пример возвращает имя пользователя по его идентификатору 13 . The following example returns the user name for user ID 13 .

Б. B. Использование USER_NAME без идентификатора Using USER_NAME without an ID

Следующий пример демонстрирует поиск имени текущего пользователя без указания его идентификатора. The following example finds the name of the current user without specifying an ID.

Далее приведен результирующий набор для пользователя, который является членом предопределенной роли сервера sysadmin. Here is the result set for a user that is a member of the sysadmin fixed server role.

В. C. Использование USER_NAME в предложении WHERE Using USER_NAME in the WHERE clause

Следующий пример иллюстрирует поиск в таблице sysusers строки, имя которой равняется результату работы системной функции USER_NAME для пользователя с идентификационным номером, равным 1 . The following example finds the row in sysusers in which the name is equal to the result of applying the system function USER_NAME to user identification number 1 .

Результирующий набор: Here is the result set.

Г. D. Вызов USER_NAME во время олицетворения пользователя с помощью EXECUTE AS Calling USER_NAME during impersonation with EXECUTE AS

Следующий пример показывает, как USER_NAME ведет себя во время олицетворения пользователя. The following example shows how USER_NAME behaves during impersonation.

Результирующий набор: Here is the result set.

Примеры: Azure Synapse Analytics Azure Synapse Analytics и Параллельное хранилище данных Parallel Data Warehouse Examples: Azure Synapse Analytics Azure Synapse Analytics and Параллельное хранилище данных Parallel Data Warehouse

Д. E. Использование USER_NAME без идентификатора Using USER_NAME without an ID

Следующий пример демонстрирует поиск имени текущего пользователя без указания его идентификатора. The following example finds the name of the current user without specifying an ID.

Ниже приведен результирующий набор для пользователя, вошедшего в систему. Here is the result set for a currently logged-in user.

Е. F. Использование USER_NAME в предложении WHERE Using USER_NAME in the WHERE clause

Следующий пример иллюстрирует поиск в таблице sysusers строки, имя которой равняется результату работы системной функции USER_NAME для пользователя с идентификационным номером, равным 1 . The following example finds the row in sysusers in which the name is equal to the result of applying the system function USER_NAME to user identification number 1 .

Результирующий набор: Here is the result set.

Создание и удаление пользователей в Microsoft SQL Server

Всем привет! Сейчас мы с Вами рассмотрим примеры создания и удаления пользователей в СУБД Microsoft SQL Server как с использованием инструкций Transact-SQL, так и с использованием среды Management Studio.

Процесс создания пользователей в MS SQL Server включает два этапа:

  1. Создание имени входа на SQL Server. Данное имя необходимо, для того чтобы предоставить пользователю возможность подключиться к экземпляру SQL Server;
  2. Создание пользователя базы данных. В данном случае мы уже предоставляем пользователю разрешения на объекты базы данных.

Примечание! В качестве SQL сервера у меня для примера будет выступать версия Microsoft SQL Server 2012 Express. На данном SQL сервере создана тестовая база данных Test.

Создание имени входа на MS SQL Server

Прежде чем приступать к созданию имени входа на SQL сервер необходимо определиться с методом аутентификации. Существует два варианта:

  1. Проверка подлинности Windows – это когда имя входа может идентифицировать пользователя как учетную запись Windows или как члена группы Windows (в том числе и доменные учетные записи, и группы);
  2. Проверка подлинности SQL Server. В данном случае имя входа существует только в SQL Server.

Примечание! Рекомендовано по возможности использовать проверку подлинности Windows. Проверку подлинности SQL Server можно использовать тогда, когда необходимо создать служебное или тестовое имя входа.

Давайте рассмотрим пару примеров создания имени входа на SQL сервер. Сначала мы это сделаем с помощью среды SQL Server Management Studio, а затем с использованием языка Transact-SQL.

Читайте также:  Создание виртуального сервера windows

Создание имени входа с использованием среды SQL Server Management Studio

Запускаем Management Studio, затем в обозревателе объектов находим пункт «Безопасность», раскрываем его плюсиком, кликаем правой кнопкой мыши по пункту «Имена входа» и выбираем пункт «Создать имя входа».

Далее для примера давайте создадим тестовое имя входа с проверкой подлинности SQL Server. Мы указываем имя входа, придумываем пароль и подтверждаем его. Также мы можем отметить несколько опций, например, использование политики паролей, база данных по умолчанию, язык по умолчанию и другие.

Затем нажимаем на кнопку «ОК», после чего будет создано имя входа TestLogin. По умолчанию данное имя входа будет включено, и оно будет иметь права роли сервера «public».

Создание имени входа с использованием языка Transact-SQL

Для того чтобы создать имя входа на языке Transact-SQL необходимо в Management Studio открыть редактор запросов и выполнить следующую инструкцию (она делает ровно то же самое, что и наши действия выше в графическом интерфейсе Management Studio).

Другими словами для создания имени входа в SQL сервер используется инструкция CREATE LOGIN.

Создание имени входа на SQL Server с проверкой подлинности Windows

Для того чтобы создать имя входа с проверкой подлинности Windows выполните следующую SQL инструкцию:

  • ComputerName\NameUser – это Имя компьютера\Имя пользователя;
  • FROM WINDOWS – указывает, что будет использоваться проверка подлинности Windows;
  • WITH DEFAULT_DATABASE=[Test] – база данных по умолчанию;
  • DEFAULT_LANGUAGE=[русский] – язык по умолчанию.

Отключение и включение имен входа в MS SQL Server

В случае необходимости Вы можете временно отключить имя входа, для того чтобы пользователю заблокировать доступ к серверу.

Создание пользователя базы данных в MS SQL Server

После того как имя входа создано, можно переходить к созданию пользователя базы данных, т.е. сопоставлению пользователя с именем входа.

Давайте создадим пользователя TestLogin также двумя способами, т.е. с помощью Management Studio и языка T-SQL.

Создание пользователя базы данных с помощью Management Studio

Открываем Management Studio, в обозревателе объектов находим нужную базу данных и открываем ее плюсиком. Затем также плюсиком открываем пункт «Безопасность» и кликаем по папке «Пользователи» правой кнопкой мыши и выбираем пункт «Создать пользователя».

Далее вводим имя пользователя и имя входа, которое соответствует данному пользователю (в моем случае имена совпадают), а также указываем схему по умолчанию (если не указывать, то присвоится схема dbo).

Также давайте сразу отметим роль базы данных, которую будет иметь данный пользователь. На странице «Членство» я поставил галочку напротив роли db_datareader, т.е. пользователь будет иметь права на чтение данных из пользовательских таблиц. Жмем «ОК».

Создание пользователя базы данных с помощью языка Transact-SQL

Следующая инструкция T-SQL создает пользователя базы данных (схема по умолчанию dbo) и назначает ему роль db_datareader, т.е. делает то же самое, что и мы чуть ранее в графическом интерфейсе Management Studio.

Таким образом, инструкция CREATE USER используется для создания пользователя базы данных.

Удаление пользователя базы данных и имени входа в MS SQL Server

Для того чтобы удалить пользователя базы данных можно написать простую SQL инструкцию, например

Или использовать графический инструмент Management Studio, т.е. в обозревателе объектов, в нужной базе данных выбираем «Безопасность -> Пользователи» и щелкаем правой кнопкой мыши по пользователю, которого необходимо удалить, и выбираем «Удалить».

Примечание! Пользователи, которые владеют защищаемыми объектами, не могут быть удалены из базы данных.

Для удаления имени входа можно также использовать и графический инструмент Management Studio (т.е. «Безопасность -> Имена входа» правой кнопкой мыши по имени, а затем нажать на пункт «Удалить») и инструкцию Transact-SQL т.е.

Примечание! Удалить текущее имя входа нельзя, как и имя входа, владеющее любым защищаемым объектом уровня сервера или заданием агента SQL Server. Также имя входа нельзя удалить, если в данный момент пользователь подключен к системе. Удалить имя входа без удаления сопоставленного пользователя базы данных можно, но это приведет к появлению пользователей, утративших связь с учетными записями.

Заметка! Если Вы хотите освоить язык SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL.

На этом у меня все надеюсь, материал был Вам полезен, пока!

Читайте также:  Как запустить обновление драйверов windows

CURRENT_USER (Transact-SQL) CURRENT_USER (Transact-SQL)

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse

Эта функция возвращает имя текущего пользователя. This function returns the name of the current user. Она эквивалентна функции USER_NAME() . This function is equivalent to USER_NAME() .

Синтаксические обозначения в Transact-SQL Transact-SQL Syntax Conventions

Синтаксис Syntax

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям. To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Типы возвращаемых данных Return types

sysname sysname

Remarks Remarks

Функция CURRENT_USER возвращает имя текущего контекста безопасности. CURRENT_USER returns the name of the current security context. Если CURRENT_USER выполняется после того, как вызов EXECUTE AS переключает контекст, функция CURRENT_USER возвращает имя олицетворенного контекста. If CURRENT_USER executes after a call to EXECUTE AS switches context, CURRENT_USER will return the name of the impersonated context. Если субъект Windows попытается получить доступ к базе данных в качестве члена группы, функция CURRENT_USER вернет имя этого субъекта, а не имя группы. If a Windows principal accessed the database by way of membership in a group, CURRENT_USER will return the name of the Windows principal instead of the group name.

Сведения о получении имени входа текущего пользователя см. в статьях SUSER_NAME (Transact-SQL) и SYSTEM_USER (Transact-SQL). See SUSER_NAME (Transact-SQL) and SYSTEM_USER (Transact-SQL) to learn about how to return the login of the current user.

Примеры Examples

A. A. Использование ключевого слова CURRENT_USER для возврата имени текущего пользователя Using CURRENT_USER to return the current user name

В приведенном ниже примере возвращается имя текущего пользователя. This example returns the name of the current user.

Б. B. Использование ключевого слова CURRENT_USER в качестве ограничения DEFAULT Using CURRENT_USER as a DEFAULT constraint

В приведенном ниже примере создается таблица, использующая функцию CURRENT_USER в качестве ограничения DEFAULT для столбца order_person в строке продаж. This example creates a table that uses CURRENT_USER as a DEFAULT constraint, for the order_person column, on a sales row.

В приведенном ниже коде запись вставляется в таблицу. This example inserts a record in the table. Пользователь, выполняющий эти инструкции, имеет имя Wanida . The user named Wanida executes these statements.

Приведенный ниже запрос выбирает все данные из таблицы orders22 . This query selects all information from the orders22 table.

Результирующий набор: Here is the result set.

В. C. Использование ключевого слова CURRENT_USER из олицетворенного контекста Using CURRENT_USER from an impersonated context

В этом примере пользователь Wanida выполняет следующий код Transact-SQL Transact-SQL для олицетворения пользователя Arnalfo: In this example, user Wanida executes the following Transact-SQL Transact-SQL code to impersonate user ‘Arnalfo’.

Результирующий набор: Here is the result set.

Оцените статью