22

SQL Server スクリプトでユーザーを削除したいのですが、最初に存在をテストする必要があります。そうしないと、スクリプト エラーが発生します。テーブルまたはストアド プロシージャを削除するときは、次のように sysobjects テーブルを確認します。

IF EXISTS (
    SELECT * 
    FROM   sysobjects 
    WHERE  id = object_id(N'[dbo].[up_SetMedOptions]') 
    AND    OBJECTPROPERTY(id, N'IsProcedure') = 1
)
Drop Procedure up_SetMedOptions;
GO

ユーザーをチェックするための当然の結果は何ですか? サーバーへのデータベース ログインについて質問しているわけではないことに注意してください。質問は、特定のデータベースのユーザーに関するものです。

4

3 に答える 3

33

SSMS は次のようにスクリプト化します。

SQL 2005/2008 以降の場合:

IF  EXISTS (SELECT * FROM sys.database_principals WHERE name = N'username')
DROP USER [username]

SQL 2000 の場合:

IF  EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'username')
EXEC dbo.sp_revokedbaccess N'username'
于 2008-12-10T13:25:54.833 に答える
2

SQL 2005 の場合:

select * from sys.sysusers

SQL 2000 の場合:

select * from sysusers
于 2008-12-10T13:22:58.430 に答える