代码之家  ›  专栏  ›  技术社区  ›  pithhelmet

使用powershell更改SQL Server上用户的密码

  •  0
  • pithhelmet  · 技术社区  · 4 年前

    安装程序:SQL Server在AZURE飞地中运行。混合模式身份验证。SQL用户不是管理员组的成员,只是具有数据库读/写权限的基本用户。我不知道以前的密码是什么。我生成了一个新密码。

    我不知道sa级别用户的密码是什么。我不知道运行脚本的技术人员是否对SQL Server具有正确的权限,因为角色在窗口之间是分开的,SQL Server管理也定义得很好。我不知道在运行脚本时,有问题的用户的密码是什么。

    使用powershell,以管理员(提升)权限运行-我想更改sql用户的密码。我该怎么办?

    1 回复  |  直到 4 年前
        1
  •  0
  •   David Browne - Microsoft    4 年前

    如果您没有sysadmin登录名,您将有一个Windows管理员,请按照以下步骤操作: Connect to SQL Server when system administrators are locked out

    此脚本将使运行它的Windows管理员成为系统管理员:

    net stop mssqlserver 
    net start mssqlserver /mSQLCMD 
    sqlcmd -Q "if not exists(select * from sys.server_principals where name='BUILTIN\administrators') CREATE LOGIN [BUILTIN\administrators] FROM WINDOWS;EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\administrators', @rolename = N'sysadmin'" 
    net stop mssqlserver 
    net start mssqlserver 
    sqlcmd -Q "if exists( select * from fn_my_permissions(NULL, 'SERVER') where permission_name = 'CONTROL SERVER') print 'You are a sysadmin.'"
    

    或者,您可以修改它以允许Windows管理员更改用户的密码

    net stop mssqlserver 
    net start mssqlserver /mSQLCMD 
    sqlcmd -Q "alter login SomeLogin with password = '*********'" 
    net stop mssqlserver 
    net start mssqlserver