如何在Windows身份验证模式下将Windows用户添加为SQL用户

6

我希望能够通过编程的方式将Windows用户添加到SQL用户中。我的问题是,我想在安装了混合模式SQL的系统上执行此操作,但我没有用户名和密码,我只知道实例名称,而且我不知道如何在这种情况下执行添加Windows用户到SQL用户的脚本。

我知道脚本是:

use master
GO

create login [<YourDomain>\User1] from windows;
GO

我的连接字符串是:

ServerConnection myServerConnection = new ServerConnection(myinstancename);
Server myServer = new Server(myServerConnection);

SqlConnection scSqlConnction = new SqlConnection(myServerConnection.ConnectionString);

但是,当我使用实例名称创建服务器连接,并使用相关的连接字符串执行脚本时,我遇到了以下错误:

用户登录失败(Windows 用户)


你需要能够登录才能进行任何操作。如果你无法登录,那就没办法了。 - Nick.McDermaid
你能帮我写代码吗?仅仅使用实例名称创建服务器连接不够吗? - Shima.Y
你没有访问SQL Server的权限,所以任何代码都无法帮助你 - 你无法登录。 - Nick.McDermaid
  1. 请确认在“YourDomain”中是否存在“User1”用户?
  2. 您尝试通过SQL Server管理工具添加过这个“User1”用户吗?
  3. 您可以将您的ConnectionString添加到问题中,也许出现了一些问题。
- fuchs777
是的,当我有用户名和密码时,我可以通过SQL Server Management Studio添加此用户,但在许多情况下,我没有用户名和密码,我想在Windows模式下创建数据库,因此我需要将Windows用户添加到SQL用户中。 - Shima.Y
显示剩余3条评论
1个回答

12

您可以尝试此代码,但必须在您的Windows中有用户名。

Windows登录:

CREATE LOGIN [YourDomain\UserName] FROM WINDOWS WITH DEFAULT_DATABASE= master
GO
ALTER SERVER ROLE [sysadmin] 
ADD MEMBER [YourDomain\UserName]
GO

SQL 登录

CREATE LOGIN UserName 
    WITH PASSWORD = N'Password' 
    MUST_CHANGE,
    CHECK_POLICY = ON;
GO

很棒,简明扼要的回答。非常有帮助。谢谢! - raddevus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接