gpt4 book ai didi

sql - 使用 Powershell 创建 SQL Server 用户

转载 作者:行者123 更新时间:2023-12-03 00:46:53 25 4
gpt4 key购买 nike

我编写了一个 powershell 脚本,用于创建新的 sql server 数据库和登录名,然后将数据库所有者设置为新创建的用户。这是成功的。但是,当我尝试在同一脚本中登录时,出现登录失败异常。如果我使用 SQL Server Management Studio,则可以登录。

这是脚本:

$server = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database($server, 'TestDB')
$db.Create()

$login = new-object Microsoft.SqlServer.Management.Smo.Login("(local)", 'TestUser')
$login.LoginType = 'SqlLogin'
$login.PasswordPolicyEnforced = $false
$login.PasswordExpirationEnabled = $false
$login.Create('Password1')

$server = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $server.Databases.Item('TestDB')
$db.SetOwner('TestUser', $TRUE)
$db.Alter()
Invoke-Sqlcmd -ServerInstance localhost -Database 'TestDB' -Username 'TestUser' -Password 'Password1' -Query "SELECT * FROM sysusers"

我尝试添加 Start-Sleep(最多 5 分钟),但无济于事,并且我尝试过 Restart-Service mssqlserver -Force,也无济于事有用。

有什么想法吗?

最佳答案

这不是我遇到的问题的答案,只是一种解决方法。该脚本作为自动部署的一部分运行,整个脚本在“NT AUTHORITY\SYSTEM”用户名下运行,因此为了解决我的登录问题,我只需使用 Integrated Security=true.

关于sql - 使用 Powershell 创建 SQL Server 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19178685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com