我需要在sql server 2000版本中禁用某些用户帐户。以下sql命令给出了“登录'附近的错误语法”错误。用户名有效且拼写正确,因此我想知道版本2000的命令语法是否不同。
ALTER LOGIN exampleuser DISABLE
答案 0 :(得分:7)
SQL Server 2000没有ALTER LOGIN语句。因此,为了能够禁用登录,您必须调用sp_denylogin过程。
EXEC sp_denylogin 'exampleuser'
或
EXEC sp_revokelogin 'exampleuser'
要再次授予他们访问权限,您应该使用
EXEC sp_grantlogin 'exampleuser'
注意: sp_denylogin
,sp_revokelogin
和sp_grantlogin
仅适用于Windows帐户和群组。
为了能够拒绝纯SQL Server登录,似乎唯一的选择是使用
完全删除该登录EXEC sp_droplogin 'exampleuser'
但要再次启用它,需要使用
重新创建EXEC sp_addlogin 'exampleuser', 'examplepassword'
或者只是使用
删除登录当前数据库的访问权限EXEC sp_revokedbaccess 'exampleuser'
答案 1 :(得分:0)
sp_revokelogin将删除登录条目。但是,这个过程已经deprecated 支持drop login
但请注意,这两项都不会禁用用户,但删除登录。
您的ALTER LOGIN方法是正确的
ALTER LOGIN exampleuser DISABLE;
至少与sql server 2008一起使用。