卡在 Powershell sqlserver 中

Nat*_*oop 15 powershell

我有点像 powershell 新手。

所以我创建了一个使用Restore-SqlDatabase命令行开关的脚本。但是,在我运行它之后,它使 Powershell 处于不同的状态。

PS D:\theFolder\> .\myRestoreDatabaseScript.ps1
... snip does the work ...
PS SQLSERVER:\>
Run Code Online (Sandbox Code Playgroud)

如何将 Powershell 返回到“正常”界面?

另外,PS SQLSERVER前缀叫什么?我试图为此使用谷歌,但结果却是空的。

Ƭᴇc*_*007 21

来自 MS 文章SQL Server PowerShell

• SQL Server 提供程序,它启用类似于文件系统路径的简单导航机制。您可以构建类似于文件系统路径的路径,其中驱动器与 SQL Server 管理对象模型相关联,节点基于对象模型类。然后,您可以使用熟悉的命令(例如cddir)来导航路径,类似于在命令提示符窗口中导航文件夹的方式。您可以使用其他命令(例如rendel)对路径中的节点执行操作。

加载这样的提供程序允许您像对待驱动器(字母)一样对待 SQLServer。

所以很可能在您曾经使用过的代码中的某个地方CD移动到 SQLServer 提供程序 ( cd sqlserver:) 中。

如果您想d:\thefolder具体返回,请使用cd d:\thefolder.

如果您想在完成后返回到您开始的位置,那么您可能必须将当前目录位置存储到脚本开头的变量中,然后cd在脚本末尾使用它来更改回该位置原始目录。

或者,您可以按照@alroc 在他的评论中的建议,使用push-locationpop-locationcmdlet 来存储和检索当前位置。

  • 您不必将当前目录保存到变量中;在导入`sqlps`之前使用`push-location`,导入后使用`pop-location`,你就可以开始了。 (3认同)

小智 7

这似乎对我有用:

Invoke-Sqlcmd -InputFile "C:\MyFolder\TestSqlCmd.sql" | out-null
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

17255 次

最近记录:

7 年 前