Como gravar a utilização do BCP num servidor SQL remoto?

Tenho um servidor SQL remoto com um nome de host que estou a usar para me ligar.

o BCP sugere a utilização de

bcp DBName.dbo.tablename in C:\test\yourfile.txt -c -T -t

No entanto, quando tento isto, não se liga ao DBName, uma vez que não é um nome falso válido. Erro nativo 2.

Como executar o BCP mas indicar um endereço de internet / rede a que se ligar, e não um nome de servidor MSSQL?

Author: marc_s, 2017-03-07

2 answers

Como executar o BCP mas indicar um endereço de internet / rede a que se ligar, não um nome de servidor MSSQL?

Poderá indicar o endereço IP (aqui apenas 127.0.0.1) em vez do nome do servidor.

bcp DBName.dbo.tablename in "C:\test\yourfile.txt" -c -T -t -S"127.0.0.1\instance"

Se você realmente quiser ir IP\port só então use o endereço IP e o porto separados por vírgula

bcp DBName.dbo.tablename in "C:\test\yourfile.txt" -c -T -t -S"127.0.0.1,60905"

Claro que nesse caso precisaria de saber o porto que a instância está a usar, e a sua instância deve ser configurada para usar um porto fixo

 4
Author: Jasper Schellingerhout, 2017-03-09 14:43:02

O DBName é o nome da base de dados, você precisa usar a opção-S para fornecer o nome do servidor (ou servidor\instance).

De MSDN:

- s server_name [\instance_name] indica a instância do servidor SQL a que se ligar. Se não for especificado nenhum servidor, o utilitário bcp conecta-se à instância padrão do servidor SQL no computador local. Esta opção é necessária quando um comando bcp é executado a partir de um comando remoto computador na rede ou um local chamado instancia. Para se ligar ao instância por omissão do servidor SQL num servidor; indique apenas o nome do servidor. Para se ligar a uma instância nomeada do servidor SQL, especifique server_ nome\instance_ nome.

 1
Author: James Z, 2017-03-07 18:07:02