我写了一个查询来检查SQL Server数据库中现有的登录名用户-如果用户存在,则退出,否则创建具有相同id的用户。
下面的查询正如预期的那样正常工作:
DECLARE @selectQuery AS varchar(50);
SET @selectQuery = 'select name from sys.sql_logins where name="AXA8080"';
IF @selectQuery IS NOT NULL
DROP USER AXA8080;
IF @selectQuery IS NOT NULL
DROP LOGIN AXA8080;
CREATE LOGIN AXA8080 WITH PASSWORD = 'mypass#1';
USE [DB_NAME];
CREATE USER [AXA8080] FOR LOGIN [AXA8080] WITH DEFAULT_SCHEMA = [dbo];
ALTER ROLE [db_reader] ADD MEMBER [AXA8080];
AXA8080
是用户。
有人能告诉我为什么会出现这个错误吗:
用户确实存在(由于我还没有创建用户,需要通过此查询完成(
任何帮助都会很棒!
谢谢,Atul
就在这里!
注意:如果用户拥有数据库、架构、程序集,则会出现错误。
IF USER_ID('AXA8080') IS NOT NULL
DROP USER AXA8080;
IF SUSER_ID('AXA8080') IS NOT NULL
DROP LOGIN AXA8080;
CREATE LOGIN AXA8080 WITH PASSWORD = 'mypass#1';
USE [DB_NAME];
CREATE USER [AXA8080] FOR LOGIN [AXA8080] WITH DEFAULT_SCHEMA = [dbo];
ALTER ROLE [db_reader] ADD MEMBER [AXA8080];