Windows 身份验证到 Sql Server 身份验证

use*_*641 2 c# sql-server-2005

我有一个现有的 SQL Server 2005,目前我在 Windows 身份验证中使用,数据库名称是 Restaurant。我知道如何将现有 SQL Server 从 Windows 身份验证更改为 SQL Server 身份验证,但它不会锁定数据库。有什么方法可以将我当前的 SQL Server 更改为 SQL Server 身份验证,这样如果有人尝试打开 Restaurant(DB),它就会要求身份验证。另外请告诉我连接字符串需要什么。

谢谢

Par*_*ram 7

SQL Server 可识别两种安全模式:

  1. Windows 身份验证
  2. SQL Server 和 Windows 身份验证

如果您想SQL Server Authentication在已安装的数据库上启用允许自定义用户名和密码,那么您必须 -

  1. 启用 SQL Server 身份验证
  2. 创建新用户帐户或使用现有sa用户帐户
  3. 设置账户密码

启用 SQL Server 身份验证模式 -

  1. 在 SQL Server Management Studio 对象资源管理器中,右键单击服务器,然后单击“属性”。
  2. 在“安全”页上的“服务器身份验证”下,选择新的服务器身份验证模式,然后单击“确定”。
  3. 在 SQL Server Management Studio 对话框中,单击“确定”以确认重新启动 SQL Server 的要求。
  4. 在对象资源管理器中,右键单击您的服务器,然后单击“重新启动”。如果 SQL Server 代理正在运行,则还必须重新启动它。

创建新的登录 ID - 请参阅创建登录

禁用内置帐户的 Windows 身份验证登录-

使用sa密码(记住密码,因为您将禁用 Windows 身份验证Default Logins)以(系统管理员)身份登录后,请按照以下步骤操作 -

  1. 打开 SQL Server Management Studio
  2. 展开节点以显示您的 SQL Server 实例
  3. 展开Security节点并展开Logins
  4. 右键单击“BUILTIN\Administraors或”BUILTIN\Users并选择Properties
  5. Status从左窗格转到。
  6. 检查DisabledLogin

现在,管理员组中的任何人都无法访问您的 SQL Server。

参考MSDN 主题

编辑:

使用现有登录帐户sa-

ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
Run Code Online (Sandbox Code Playgroud)

连接字符串 -

Server=SERVER\SERVER_INSTANCE;Database=Restaurant;User Id=sa;
Password=password;
Run Code Online (Sandbox Code Playgroud)

请参阅 - Sql Server 2005 的连接字符串

我建议创建一个新帐户,而不是sa设置其密码。