"New-ShardMapManager" не распознается как имя командлета, пытающегося получить доступ через powershell
Шаги, которые я использовал: Login-AzureRmAccount - после запуска этого командлета в Powershell в режиме администратора я выполнил следующий запрос
New-ShardMapManager -UserName 'user_name' -Password 'enterd password' -SqlServerName 'server_name.database.windows.net' -SqlDatabaseName 'Elastic_poc_db'
Я получаю следующую ошибку:
New-ShardMapManager : The term 'New-ShardMapManager' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (New-ShardMapManager:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Я использую версию Powershell 4
2 ответа
New-ShardMapManager не является частью Azure Resource Manager, это отдельная загрузка, которую вы можете получить здесь: https://gallery.technet.microsoft.com/scriptcenter/Azure-SQL-DB-Elastic-731883db
Я столкнулся с этой проблемой гораздо позже, чем в сообщении выше, и информация в предыдущих ответах устарела. Мое решение может содержать антипрактики, но оно сработало для меня.
- Добавьте пакет NuGet эластичного клиента в PowerShell. Версия, которую я использовал, является текущей на момент публикации.
В командной строке PowerShell, работающей от имени администратора, выполните следующее:
Install-Package -Name Microsoft.Azure.SqlDatabase.ElasticScale.Client -RequiredVersion 2.3.0 -SkipDependencies -Force -Source NuGet.org
- Скопируйте файлы в структуру папок модулей PowerShell.
- Создайте подпапку в папке Documents\PowerShell\Modules. Я использовал \ShardManagement.
- Скопируйте DLL, установленную Install-Package, в папку. Мой был здесь: C:\ProgramFiles\PackageManagement\NuGet\Packages\Microsoft.Azure.SqlDatabase.ElasticScale.Client.2.3.0\lib\net451\Microsoft.Azure.SqlDatabase.ElasticScale.Client.dll.
- Скопируйте файл .psm1 ShardManagement.psm1 из GitHub в elastic-db-tools/Samples/PowerShell/ShardManagement в репозитории GitHub Elastic DB Tools в ту же папку модулей.
- Импортируйте модуль.
В том же приглашении PowerShell, которое вы использовали на шаге 1, выполните следующее:
Import-Module ShardManagement
Теперь вы сможете запускать New-ShardMapManager и его аналоги в PowerShell.