Crie backup de banco de dados com sqlcmd do host remoto

Crie backup de banco de dados com sqlcmd do host remoto

Quero executar um backup de banco de dados por meio do SQLCMD de um host remoto.

Meu comando que uso é assim:

sqlcmd -H IP.OF.Machine -S .\SQLDOTNET -U User -P Password -Q "Backup Database [database_name] TO DISK= 'C:\backups\backup.bak'"

Quando executo isso, recebo um erro:

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : SQL Server
Network Interfaces: Error Locating Server/Instance Specified
[xFFFFFFFF]. .

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout
expired. 

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : A
network-related or instance-specific error has occurred while
establishing a connection to SQL Server. Server is not found or not
accessible. Check if instance name is correct and if SQL Server is
configured to allow remote connections. For more information see SQL
Server Books Online..

Verifiquei novamente se meu servidor aceita controle remoto (Servidor => Propriedades do servidor => Conexões => a conexão remota está marcada).

Quando executo o comando no servidor de banco de dados, o backup é criado corretamente.

Existe alguma propriedade ou configuração do servidor que estou faltando aqui?

Responder1

-Hdefine o nome da sua estação de trabalho (se desejar defini-lo). Dehttps://msdn.microsoft.com/en-us/library/ms162773%28v=sql.110%29.aspx:

-H nome_estação_de_trabalho

Um nome de estação de trabalho. Esta opção configura a variável de script sqlcmd SQLCMDWORKSTATION. O nome da estação de trabalho está listado na coluna hostname da visualização do catálogo sys.processes e pode ser retornado usando o procedimento armazenado sp_who. Se esta opção não for especificada, o padrão será o nome do computador atual. Este nome pode ser usado para identificar diferentes sessões do sqlcmd.

Você precisa especificar o nome do servidor -Sjunto com a instância. Um ponto significa "local", então você está tentando se conectar a uma instância chamada em SQLDOTNETexecução em sua máquina local. Você precisa substituir o ponto pelo nome do seu servidor SQL remoto (ou pelo endereço, se preferir).

Aconselho também conectar-se ao servidor e executar seus comandos interativamente primeiro (como teste). Veja aqui para uso:https://msdn.microsoft.com/en-us/library/ms180944%28v=sql.110%29.aspx

informação relacionada