2015-11-07 1 views
1

Я хочу экспортировать значения из столбца (TcpIpAddress) из таблицы dbo.DimServere в обычный текст (расположенный на сервере). У меня есть права администратора.SQL Server xp_cmdshell не удается экспортировать данные

-- To allow advanced options to be changed. 
    EXEC sp_configure 'show advanced options', 1; 
    GO 
    -- To update the currently configured value for advanced options. 
    RECONFIGURE; 
    GO 
    -- To enable the feature. 
    EXEC sp_configure 'xp_cmdshell', 1; -- 1 for at enable 
    GO 
    -- To update the currently configured value for this feature. 
    RECONFIGURE; 
    GO 

    -- Extracting information from the databse 
    EXEC xp_cmdshell 'bcp "SELECT TcpIpAddress FROM [SIT-DVH].[dbo].[DimServere]" queryout "C:\Users\b013904\Desktop\Output\bcptest.txt" -T -c -t,' 


    -- To allow advanced options to be changed. 
    EXEC sp_configure 'show advanced options', 1; 
    GO 
    -- To update the currently configured value for advanced options. 
    RECONFIGURE; 
    GO 
    -- To disable the feature. 
    EXEC sp_configure 'xp_cmdshell', 0; -- 0 for at disable 
    GO 
    -- To update the currently configured value for this feature. 
    RECONFIGURE; 
    GO 

Однако, когда я запускаю этот скрипт я получаю следующее сообщение и не электронное письмо файла не был создан:

enter image description here

Что я делаю неправильно?

Благодаря передовой

Daniel

ответ

0

Путь в этом BCP заявление будет относительно сервера, так как вы его выполнения на сервере.

Этот путь существует на сервере?

Кроме того, попробуйте изменить путь к чему-то более доступному, например, c: \ output. .. тогда вы можете поиграть с разрешениями в этой папке, чтобы убедиться, что это не разрешение os, которое приводит к сбою инструкции.

Надеюсь, что поможет

+0

Да, путь существует на сервере, и да, я попробовал c: \ output, все тот же результат. – Santelices

+0

Путь «C: \ Users \ b013904 \ Desktop \ Output \ bcptest.txt» также должен быть _accessible_ учетной записью службы SQL Server. Он выглядит как папка пользователя, поэтому у него не будет доступа. Возможно, у вас нет доступа к C с этой учетной записью. –

+0

@ Nick.McDermaid Как я могу предоставить права учетной записи службы SQL Server для этого? Просто для C: \, чтобы сделать это проще? – Santelices