我正在尝试按照此link here中描述的程序进行操作,但是如果我输入的话 IIS APPPOOL \ AppPoolName作为登录名(如步骤3),它会抛出一个错误,说它不是有效名称,因为它包含无效字符。我正在使用SSMS for SQL 2012.
更新:只是澄清:“无效字符”错误是b / c当我必须“Windows身份验证”时,我试图在“SQL Server身份验证”上输入用户。
答案 0 :(得分:2)
这是我的一个博客中的一些示例TSQL代码,用于创建登录和用户。 http://craftydba.com/?p=656
它不喜欢。放在括号内。 []
-- Delete existing login.
IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'BSA_USER')
DROP LOGIN [BSA_USER]
GO
-- Add new login.
CREATE LOGIN [BSA_USER] WITH PASSWORD=N'M0a2r0c9h11#', DEFAULT_DATABASE=[BSA]
GO
-- Delete existing user.
IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'BSA_USER')
DROP USER [BSA_USER]
GO
-- Add new user.
CREATE USER [BSA_USER] FOR LOGIN [BSA_USER] WITH DEFAULT_SCHEMA=[dbo]
GO
更改Windows帐户的语法。
-- Using users naming ...
CREATE LOGIN [APPPOOL\MyAppPool]
FROM WINDOWS
WITH DEFAULT_DATABASE = [MyDatabase]
GO
答案 1 :(得分:2)
更新:只是澄清:"无效字符"错误是b / c我是 尝试进入用户" SQL Server身份验证"什么时候必须 be" Windows身份验证"。
答案 2 :(得分:0)
在SSMS中创建Windows域用户时遇到同样的问题。
这解决了它:
简介: 错误消息具有误导性,错误情况是对于具有Windows登录名和(userName!= loginName)的情况。该代码目前尚未考虑大小写,因此必须完全匹配。