如何设置sql server数据库的用户名和密码?

坦率地说,Windows用户创建SQLServer登录只有两个步骤:选择Windows身份验证或SQLServer身份验证。
这很复杂。
您选择哪种验证方法取决于您的场景。

我们先来说说最重要的事情。
当使用 Windows 身份验证时,当我们去年运行该项目时,3 ,000 个用户直接使用其域帐户登录并在几秒钟内启动了该项目。
但后来我们意识到存在问题,因为客户环境中的域控制器出现故障,导致系统瘫痪。
另一点是,如果您使用 SQL Server 身份验证,则必须在创建时设置强密码策略。
去年测试时,我有一个密码为“1 2 3 4 5 6 ”的账户,系统提醒了我8 00次。
说实话,这很令人沮丧。
还有另一个重要的细节。
例如,使用 Transact-SQL 命令时,不能直接在 CREATELOGINWITHPASSWORD 后面附加空字符串。
必须写“”。
很多人不重视这一点。

一开始我以为可以随意切换两种认证方式,但后来发现我错了。
要将 Windows 身份验证切换到 SQL Server 身份验证,您必须删除原始登录名并创建一个新登录名。
不能直接更改。
等一下,还有一件事。
如果您使用的是 AzureSQL,Windows 身份验证基本上不可用,因为您的云环境没有域。

我们建议使用 Windows 身份验证,但 SQL Server 身份验证也可用。
如果您的域环境遇到问题,可以快速切换。

怎么在SQL数据库中查找程序的登陆用户名和密码

说实话,在 SQL 数据库中查找登录用户名和密码是非常有趣的。
我曾经在一家公司做系统维护,被要求检查旧系统中的剩余账户。
整个过程就像一部侦探电影。

您提到的方法实际上可以找到您的用户名和密码。
但首先,我们必须诚实。
使用查询分析器直接连接到数据库并选择“使用 Windows 身份验证”。
此方法仅适用于本地或局域网环境。
如果您远程连接到数据库,例如通过云服务器,则需要使用 SSMS(SQL Server Management Studio)进行连接,然后改回“SQL Server 身份验证”以输入您的用户名和密码。

举个例子吧。
例如,如果是测试环境,IP为1 9 2 .1 6 8 .1 .1 00,数据库为mydb,则可以使用管理员帐户连接,选择“SQL Server身份验证”,输入sa 1 2 3 4 5 6 ,连接,查看用户表。
代码可能如下所示:
sql SELECT 名称、类型、is_disabled FROM sys.database_principals WHERE type IN ('S', 'U');
在此表中,U 是用户,S 是登录名。
显示的结果是所有用户名和登录名。
对于密码来说,数据库中存储的是加密的哈希值,因此无法直接找到原始文本。
如果您想知道特定登录名的密码,唯一可靠的方法是要求创建原始数据库的人备份文件或创建新的登录名。

说到权限分配,CREATE LOGIN 和 CREATE USER 代码是正确的。
我用它来授权新的操作和维护人员。
例如,向名为 dev_user 的登录授予权限。

sql 创建用户dev_user用于登录dev_user; EXEC sp_addrolemember N'db_datareader', N'dev_user'; EXEC sp_addrolemember N'db_datawriter', N'dev_user';
这样dev_user就可以读写了。
有趣的是,您必须小心权限。
我的一位同事搞砸了,将 DB_owner 权限授予名为 test 的登录名。
结果他在测试的时候不小心删除了一个表,他的老板就想跟我们算账。
因此,权限管理应该像资金管理一样。
只提供您需要的东西,不多也不少。

最后,说实话:如果您忘记了数据库密码,官方推荐的方法是重置密码。
使用SSMS连接到您的数据库,右键单击服务器,选择“安全”,选择“登录名”,找到该登录名,单击“属性”,选择“应用密码策略”,最后在“密码”字段中输入新密码并再次“确认密码”。
我尝试了这个方法并且有效。
但老实说,您不应该将数据库密码设置得太复杂。
否则你自己记不住,会给运维人员带来麻烦。