【问题标题】:Is there a PowerShell function to reconnect to a SQL Server after restart?是否有 PowerShell 函数可以在重启后重新连接到 SQL Server?
【发布时间】:2022-12-11 15:11:55
【问题描述】:

我在 Azure 中有一个基本的 Microsoft SQL Server(SQL Server 2017 on Server 2016 Datacenter),目前正在对其进行电源管理。每天早上,我通过 RDP 进入虚拟机,进入 SQL Server Management Studio,然后使用我的本地管理员帐户重新连接。

机器会自动重启,但有没有办法自动执行重新连接过程?

我使用带有以下字段的 GUI 界面重新连接:

  • 服务器类型:数据库引擎
  • 服务器名称:主机名
  • 身份验证:Windows 身份验证 用户名:本地管理员 密码:

然后我点击连接和繁荣。似乎应该有一个功能,例如:

Reconnect-SQLServer -Type DatabaseEngine -Name hostname 
         -Authentication Windows -Credentials $Credentials

在那儿?我找不到一个。请耐心等待,我对这类东西还很陌生。

编辑:这是我的不耐烦。片刻后,数据库在线并自动重连。不需要手动过程。感谢那些试图提供帮助的人。

【问题讨论】:

  • “重新连接”是什么意思?重新连接什么什么, 确切地?
  • 服务器“主机名”是 Citrix 部署的站点数据库。 Broker 将查询“主机名”以获取用户授权的资源。如果没有这种“重新连接”,用户将无法连接到任何会话。这是 SQL Server 2017 @Dai
  • 因此,您只需要使用您自己的 Windows 用户帐户打开一个到 SQL Server 实例的任意 TDS 连接,并且一些 Citrix 后端魔术会对此起作用吗?
  • 在 Citrix 眼中,SQL 服务器在连接之前不存在。 @戴
  • 机器会自动重启,但有没有办法自动执行重新连接过程?我不太明白,但您可以使用SQLCMD 连接到它。但它变成一个批处理文件(或 powershell 或其他)并在启动时运行它 serverfault.com/questions/85323/run-bat-file-at-startup

标签: sql-server windows powershell


【解决方案1】:

您可以使用 SSMS.exe 标志自动连接 sql server management studio,例如:

# use current running credentials for windows authentication
SSMS.exe -E -S hostname -d MyDatabase -nosplash

# use specific user account (will prompt for password)
SSMS.exe -U MyUserName -S hostname -d MyDatabase

听起来您似乎需要一些东西来结束电源管理?这将取决于如何配置


我不熟悉 Citrix,但看起来有一个 powershell 模块用于监视/管理它及其与 Get-BrokerServerStatus 之类的 cmdlet 的数据库连接,例如:

https://support.citrix.com/article/CTX232979/how-to-connect-site-to-sql-ha-sql-mirror-or-a-new-sql-server-after-migrating-your-database

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    相关资源
    最近更新 更多