ユーザー権限を削除/削除しようとしていますが、次のエラーが発生し続けます:
サーバープリンシパル「DevMe」は、現在のセキュリティコンテキストではデータベース「CallManager」にアクセスできません。
これを行うための私のストアドプロシージャは次のようになります。
USE [AuditIT]
GO
/****** Object: StoredProcedure [dbo].[AdminDevUserDelete] Script Date: 06/29/2012 08:54:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--alter table AdminLog add HostName varchar(128) NULL DEFAULT HOST_NAME()
ALTER PROCEDURE [dbo].[AdminDevUserDelete]
@SQLLoginName varchar(50)
AS
DECLARE @DatabaseName varchar(1000)
PRINT 'USE [master] DROP LOGIN [' + @SQLLoginName + ']'
EXEC ('USE [master] DROP LOGIN [' + @SQLLoginName + ']')
DECLARE CSDatabase CURSOR FOR
SELECT
[Name]
FROM
[Master]..SysDatabases
--WHERE
-- --[sid] = 0x01
-- [Name] NOT IN ('ReportSRV.Support','HelpDeskFacilities','QuestSoftware')
ORDER BY
dbid DESC
OPEN CSDatabase
FETCH NEXT FROM CSDatabase INTO @DatabaseName
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('SELECT [Name] FROM [' + @DatabaseName + ']..SysUsers WHERE [Name] = ''' + @SQLLoginName + '''')
IF @@RowCount > 0
BEGIN
PRINT 'USE [' + @DatabaseName + '] DROP USER [' + @SQLLoginName +']'
EXEC ('USE [' + @DatabaseName + '] DROP USER [' + @SQLLoginName +']')
END
FETCH NEXT FROM CSDatabase INTO @DatabaseName
END
CLOSE CSDatabase
DEALLOCATE CSDatabase
誰かがこの問題を解決する方法を説明してもらえますか?