sp_dropuser (Transact-sql)sp_dropuser (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

現在のデータベースからデータベースユーザーを削除します。Removes a database user from the current database. sp_dropuserは、以前のバージョンのSQL ServerSQL Serverと互換性があります。sp_dropuser provides compatibility with earlier versions of SQL ServerSQL Server.

重要

この機能はメンテナンス モードであり、Microsoft SQL Server の将来のバージョンで削除される可能性があります。This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。Avoid using this feature in new development work, and plan to modify applications that currently use this feature.代わりにDROP USERを使用してください。Use DROP USER instead.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_dropuser [ @name_in_db = ] 'user'  

引数Arguments

[ @name_in_db = ] 'user'削除するユーザーの名前を指定します。[ @name_in_db = ] 'user' Is the name of the user to remove. usersysnameで、既定値はありません。user is a sysname, with no default. ユーザーは現在のデータベースに存在する必要があります。user must exist in the current database. Windows ログインを指定する場合は、データベースでログインとして認識されている名前を使用してください。When specifying a Windows login, use the name by which the database knows that login.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)

解説Remarks

sp_dropusersp_revokedbaccessを実行して、現在のデータベースからユーザーを削除します。sp_dropuser executes sp_revokedbaccess to remove the user from the current database.

現在のデータベースから削除できるユーザー名の一覧を表示するには、 sp_helpuserを使用します。Use sp_helpuser to display a list of the user names that can be removed from the current database.

データベースユーザーが削除されると、そのユーザーのエイリアスもすべて削除されます。When a database user is removed, any aliases to that user are also removed. ユーザーがユーザーと同じ名前の空のスキーマを所有している場合、スキーマは削除されます。If the user owns an empty schema with the same name as the user, the schema will be dropped. ユーザーがデータベース内の他の securables を所有している場合、そのユーザーは削除されません。If the user owns any other securables in the database, the user will not be dropped. オブジェクトの所有権は、最初に別のプリンシパルに転送する必要があります。Ownership of the objects must first be transferred to another principal. 詳細については、「ALTER AUTHORIZATION (Transact-SQL)」を参照してください。For more information, see ALTER AUTHORIZATION (Transact-SQL). データベースユーザーを削除すると、そのユーザーに関連付けられている権限が自動的に削除され、そのユーザーがメンバーとなっているデータベースロールから削除されます。Removing a database user automatically removes the permissions associated with that user and removes the user from any database roles of which it is a member.

sp_dropuserを使用して、データベース所有者 (dbo) INFORMATION_SCHEMAユーザー、またはマスターデータベースまたはtempdbデータベースからguestユーザーを削除することはできません。sp_dropuser cannot be used to remove the database owner (dbo) INFORMATION_SCHEMA users, or the guest user from the master or tempdb databases. システム以外のデータベースEXEC sp_dropuser 'guest'では、ユーザーのゲストから CONNECT 権限が取り消されます。In nonsystem databases, EXEC sp_dropuser 'guest' will revoke CONNECT permission from user guest. ただし、ユーザー自体は削除されません。But the user itself will not be dropped.

sp_dropuserは、ユーザー定義のトランザクション内では実行できません。sp_dropuser cannot be executed within a user-defined transaction.

アクセス許可Permissions

データベースに対する ALTER ANY USER 権限が必要です。Requires ALTER ANY USER permission on the database.

Examples

次の例では、 Albertユーザーを現在のデータベースから削除します。The following example removes the user Albert from the current database.

EXEC sp_dropuser 'Albert';  
GO  

参照See Also

セキュリティストアドプロシージャ (Transact-sql) Security Stored Procedures (Transact-SQL)
sp_grantdbaccess (Transact-sql) sp_grantdbaccess (Transact-SQL)
ユーザー (Transact-sql)を削除します。 DROP USER (Transact-SQL)
sp_revokedbaccess (Transact-sql) sp_revokedbaccess (Transact-SQL)
システムストアドプロシージャ (Transact-sql)System Stored Procedures (Transact-SQL)