如题,如何实现用TSQL删除某一数据中所有已经存在的用户.
解决方案 »
- 麻烦那位老大帮我把这段oracle代码转为sql server,非常感谢
- 用SQL语句如何分页?
- 好久没有提问了,今天问一问题:求一三维行列转换的SQL语句,请各位来捧捧场(在线等到今晚8点)
- 数据库软件详细设计文档
- Monthly report
- 一个设计方案问题,求可行办法
- sql2000在xp下突然出现126错误
- 为什么中文字符是乱码?急~~~~~~~~~~~~~~~~
- 请教高手,多表关联查询问题!!!
- 请问如何检测及显示SQL SERVER 2000 的Northwind数据库下Empolyees表中的Photo字段数据 (image型).
- 关于事物的问题
- 请教一个表(带有外键,外键引用自身)的删除
user1,user2,tto,ttd
如何用SQL删除全部这几个用户,而不用一个一个指定名字删除
Coming one
USE AdventureWorks
GO
--创建个User
CREATE LOGIN AbolrousHazem
WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks;
CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;
GO --Drop User语句
SELECT 'DROP USER ' + NAME
FROM dbo.sysusers
参数
user_name
指定在此数据库中用于识别该用户的名称。备注
不能从数据库中删除拥有安全对象的用户。必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户。不能删除 guest 用户,但可在除 master
Coming one.
0)QueryUSE MASTER
GO
BEGIN
IF LEFT(CAST(Serverproperty('ProductVersion') AS VARCHAR(1)),1) = '9'
BEGIN
IF EXISTS(SELECT TOP 1 * FROM Tempdb.sys.objects(nolock) WHERE NAME LIKE '#tuser%')
BEGIN
DROP TABLE #tuser
END
END CREATE TABLE #tuser(
ServerName varchar(256),
DBName SYSNAME,
[Name] SYSNAME,
GroupName SYSNAME NULL,
LoginName SYSNAME NULL,
default_database_name SYSNAME NULL,
default_schema_name VARCHAR(256) NULL,
Principal_id INT,
sid VARBINARY(85))
--Version 2005
IF LEFT(CAST(SERVERPROPERTY('ProductVersion')AS varchar(1)),1)= '9'
BEGIN
INSERT INTO #tuser
EXEC sp_MSForEachdb
'SELECT
@@SERVERNAME,
''?'',
u.name,
CASE
WHEN (r.principal_id IS NULL) THEN ''public''
ELSE r.name
END GroupName,
l.name LoginName,
l.default_database_name,
u.default_schema_name,
u.principal_id,
u.sid
FROM [?].sys.database_principals u
LEFT JOIN ([?].sys.database_role_members m
JOIN [?].sys.database_principals r
ON m.role_principal_id = r.principal_id)
ON m.member_principal_id = u.principal_id
LEFT JOIN [?].sys.server_principals l
ON u.sid = l.sid
WHERE u.TYPE <> ''R''
order by u.name'
END SELECT *
FROM #tuser
ORDER BY DBName,
[name],
GroupName
END1)Result (Just list some,Sid ignore) ServerName DBName Name GroupName LoginName default_database_name default_schema_name Principal_id
CNSHDEV\SQLEXPRESS Testshen dbo db_owner NULL NULL dbo 1
CNSHDEV\SQLEXPRESS Testshen guest public NULL NULL guest 2
CNSHDEV\SQLEXPRESS Testshen INFORMATION_SCHEMA public NULL NULL NULL 3
CNSHDEV\SQLEXPRESS Testshen liang public NULL NULL dbo 7
CNSHDEV\SQLEXPRESS Testshen Shenl public Shenl master dbo 9
CNSHDEV\SQLEXPRESS Testshen sys public NULL NULL NULL 4
CNSHDEV\SQLEXPRESS Testshen test db_datareader NULL NULL db_datareader 5
CNSHDEV\SQLEXPRESS Testshen test db_denydatawriter NULL NULL db_datareader 5
CNSHDEV\SQLEXPRESS Testshen test_login public NULL NULL dbo 8
CNSHDEV\SQLEXPRESS Testshen test12 public NULL NULL db_datareader 6
... ...