Я намагаюся використовувати модуль SqlServer PowerShell, доступний у галереї PowerShell .
Після встановлення або до -Scope CurrentUser
сеансу адміністратора, виконуючи Import-Module SqlServer
лише три імпортування в сеанс трьох команд:
PS C:\Users\nreiling> Get-Command -Module SqlServer
CommandType Name Version Source
----------- ---- ------- ------
Alias Decode-SqlName 21.0.17262 sqlserver
Alias Encode-SqlName 21.0.17262 sqlserver
Function SQLSERVER: 21.0.17262 sqlserver
Це незважаючи на той факт, що при виконанні (Get-Module -Name SqlServer -ListAvailable)[0].ExportedCommands.Values
списків виводяться всі команди, які повинні бути включені:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Add-RoleMember 21.0.17262 SqlServer
Cmdlet Add-SqlAvailabilityDatabase 21.0.17262 SqlServer
Cmdlet Add-SqlAvailabilityGroupListenerStaticIp 21.0.17262 SqlServer
Cmdlet Add-SqlAzureAuthenticationContext 21.0.17262 SqlServer
Cmdlet Add-SqlColumnEncryptionKeyValue 21.0.17262 SqlServer
Cmdlet Add-SqlFirewallRule 21.0.17262 SqlServer
Cmdlet Add-SqlLogin 21.0.17262 SqlServer
Cmdlet Backup-ASDatabase 21.0.17262 SqlServer
Cmdlet Backup-SqlDatabase 21.0.17262 SqlServer
...
Cmdlet Test-SqlSmartAdmin 21.0.17262 SqlServer
Cmdlet Write-SqlTableData 21.0.17262 SqlServer
Function SQLSERVER: 21.0.17262 SqlServer
Alias Decode-SqlName 21.0.17262 SqlServer
Alias Encode-SqlName 21.0.17262 SqlServer
Я спробував встановити старішу версію модуля SqlServer, а також спробував інший обліковий запис користувача на своїй машині. Багато перезавантажень, нових сеансів PS і т. Д. Запуск Import-Module
у режимі багатослівного / налагодження не призводить до помилок, він лише імпортує лише функцію та псевдоніми; жоден із Cmdlets. Проблемним фактором, здається, є саме ця система Windows, яка є Windows 10 Pro 1803.
Варто також зазначити, що я намагаюся використовувати цей модуль лише тому, що модуль sqlps, який встановлюється разом із SQL Server Management Studio, перестав працювати на цій машині. Я не знаю, чому так було; мої здогадки стосувалися оновлення для Windows або SSMS, але для того, щоб дійти до того, що принаймні модуль SqlServer встановлюється без помилок та попереджень про клобірування, я видалив цей модуль зі свого $ PSModulePath. Щось, здавалося б, одночасно порушилось, це те, що мій список WSMan TrustedHosts був скинутий (порожній), викликаючи проблеми з видаленням PowerShell, які я вирішив раніше (ця машина не приєдналася до домену).
Як у біса я це усуваю?
$PSVersionTable
Install-Module -Name SqlServer
але у мене вже був встановлений пакет NuGet або будь-що для інших модулів, які я встановив таким чином, а не завантажував їх вручну тощо, якщо це навіть має значення. Також здається, що мені не довелося до Import-Module SqlServer
наступного, і я просто пішов правильно, Get-Command -Module SqlServer
і це відобразило їх усіх.
sqlps
перестало працювати, але, сподіваємось, це просто клієнтська машина, а не використовується як критичний сервер, оскільки це машина Windows 10, а не Windows Server. Це звучить як дузи, хоча, але дуже погано, що ви не могли спробувати отриматиsqlps
робочий натомість. Якщо у вас тут не так багато удачі, не забудьте про dba.stackexchange.com, якщо потрібно.