2013-02-21 1 views
0

Недавно я узнал, как использовать команды Powersehll для выполнения запросов SQL, как указано ниже:Как Асесс удаленных папок компьютера в PS SQLSERVER: >

Import-Module “sqlps” -DisableNameChecking 

$ds=Invoke-Sqlcmd -Query $Query -Database $Database -ServerInstance $server -ConnectionTimeout $ConnectionTimeout -QueryTimeout $QueryTimeout 

В это время Powershell ISE Консольный вывод будет в

PS SQLSERVER:\> 

Я смог выполнить выбор и обновление запросов без каких-либо ошибок. Проблема возникает, когда я хочу получить доступ к одному из файлов на удаленном компьютере. Я пытался получить доступ к файлу, как показано ниже:

PS SQLSERVER:\> Get-Content -Path \\Server\D$\Log\App.log 

Даже пробовал, только список файлов/папок в

PS SQLSERVER:\> ls \\Server\D$\Log\ 

Иам становится ниже ошибок:

Get-Content: не удается найти путь " \ Server \ D $ \ Log \ App.log, потому что его не существует. ls: Не удается найти путь '\ Server \ D $ \ Log \', потому что он не существует.

Не нужно указывать - папка и файл существуют на этом сервере, поскольку я смог получить доступ к тому же, когда Powershell работает без модуля SQL. Я имею в виду, что консоль показывала только PS C: \ Пользователь \ abc \

Извините за эту длинную историю - теперь, простой вопрос! Как получить доступ к удаленным файлам/папкам, когда Shell находится в консоли SQLSERVER?

Спасибо заранее!

-Raj

+0

вы должны убедиться, что учетная запись, используемая для подключения имеет надлежащий доступ к пути UNC вы обращаетесь. Я предполагаю, что это может быть попытка подключиться под учетными данными SQL Server. – SchmitzIT

+0

Я использую свою учетную запись администратора, которая имеет доступ как к SQL-серверу, так и к удаленному серверу (где находится файл). – Raaj

ответ

0

вы должны быть в состоянии использовать поставщик файловой системы в явном виде, как это:

ls filesystem::\\server\d$\log 
+0

Perfect ..Спасибо тоже .. совет от ** steoleary ** и вы - оба просты и отлично работают. Это мне очень помогло. Еще раз спасибо! Счастливые сценарии .. – Raaj

0

Просто измените каталог следующим образом:

cd c:\ 

затем:

ls \\server\d$\log 

вы можете вернуться к SQL серверу, делая то же самое:

cd sqlserver:\ 

Предоставление полномочий rs можно использовать так же, как и обычное буквенное письмо, довольно круто.

+0

Спасибо .. Это сработало !! это простой крутой отзыв ..! – Raaj

0

Я считаю, что это выполняется удаленно команды на сервере SQL, что делает доступ к данным на другом сервере оттуда сценарий «двойного хмель», и вы будете нуждаться в CredSSP авторизацию для того, чтобы работать .....

+0

Это не так, потому что командная строка отображается как SQLSERVER: \ он использует другого поставщика, а не поставщика файловой системы, поэтому попытка доступа к файловой системе не работает, вы можете перемещаться по объектам SQL-сервера с помощью этого провайдера, а не файловую систему, пока вы не вернетесь. – steoleary

 Смежные вопросы

  • Нет связанных вопросов^_^