ログを削除せずにデータベースからユーザーを削除するにはどうすればよいですか?
スクリプトは、ユーザーがデータベースに存在するかどうかを確認し、存在する場合は削除します。
これはあなたがやろうとしていることですか??
IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'username')
DROP USER [username]
SQL Server Management Studioを使用している場合は、ユーザーを参照し、右クリックして[削除]を選択できます。
設定したユーザーテーブルにDropped/Deletedフラグを設定するだけで、そのユーザーのログ情報を保持する場合は参照整合性を維持する必要があります。
そうしないと、現在削除を妨げている外部キー制約を削除する必要があるように思えますが、これはお勧めしません。
受け入れられた答えは十分に機能しています。さらに、SQL ServerがIF EXISTをバージョン2016(13.x)の一部のDROPコマンドに追加したことを知っておくと便利です( 'DROP USER'コマンド)。
IF EXISTS
適用対象:SQL Server(SQL Server 2016(13.x)〜現在のバージョン、SQL Database)。
ユーザーが既に存在する場合にのみ、条件付きでユーザーを削除します。
したがって、次のようにユーザーを削除することができます:
-- Syntax for SQL Server and Azure SQL Database
DROP USER IF EXISTS user_name
このリンクの完全な説明を参照してください: DROP USER(Transact-SQL)
この助けを願っています。