为什么它不显示任何内容?
$result = foreach($db in sqlps ls SQLSERVER:\SQL\MYSERVER\Databases) {
foreach($group in $db.FileGroups) {
write @{Database=$group}
}
}
$result | % { $_.Database }
但是这个工作正常吗?
$result = foreach($db in sqlps ls SQLSERVER:\SQL\MYSERVER\Databases) {
write @{Database=$db}
}
$result | % { $_.Database}
我该如何解决?
编辑:
它可以工作,但是如何显示结果,例如"NameMyBase"="状态"
块引用 获取子项 SQLSERVER:\SQL\BACKUP1\ARCSERVE_DB\Databases |选择文件组 块引用
我只有一列是空的
但是,"选择 - 展开文件组"不起作用:找不到属性"文件组-展开"。
sqlps
的默认输出格式是文本,因此您的命令sqlps ls SQLSERVER:\SQL\MYSERVER\Databases
正在生成一堆字符串(没有 FileGroups
属性)而不是您似乎期望的对象。
另外,我认为您的路径缺少实例。 SQLHOSTNAMEDatabases
应该引发一个错误(或者至少它对我有错误)。我不得不使用SQLHOSTNAMEINSTANCEDatabases
.
尝试这样的事情:
Add-PSSnapin SqlServerProviderSnapin100
Get-ChildItem SQLSERVER:SQLMYSERVERINSTANCEDatabases |
select -Expand FileGroups
管理单元添加了SQLSERVER:
提供程序,因此您可以使用Get-ChildItem
来访问子对象。
编辑:使用SQL Server 2012应该有一个可加载的sqlps
模块:
Import-Module 'sqlps' -DisableNameChecking
但是,我无法访问SQL Server 2012,因此无法验证。
即使我 hva sql 2012 对于 acceess 对象也可以我经常使用像"
块引用 sqlps ls SQLSERVER:\SQL\BACKUP1\ARCSERVE_DB\Databases;foreach ($Item in Get-ChildItem) { write @{$Item.Name=$Item.Status}} 块引用
此 comman 列出包含根目录的内容,而不是包含数据库的内容我想做一个设置位置,但光标不移动它总是显示相同的内容,根
块引用 sqlps Set-Location SQLSERVER:\SQL\BACKUP1\ARCSERVE_DB\Databases;foreach ($Item in Get-ChildItem) { write @{$Item.Name=$Item.Status}} 块引用
如果我不是在我的程序 c++ 中使用命令而是在 shell 提示符下使用该命令,则设置位置工作正常。如何将 *ONE LIN*E 中的设置位置与 sqlps 一起使用?