Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Executando um script do SQL Server a partir de um arquivo em lotes


Primeiro, salve sua consulta em um arquivo de texto sql (arquivo de texto com extensão .sql). Certifique-se de adicionar a instrução USE no início, que informa ao servidor com qual banco de dados você deseja trabalhar. Usando o exemplo do MSDN:
USE AdventureWorks2008R2;
GO
SELECT p.FirstName + ' ' + p.LastName AS 'Employee Name',
a.AddressLine1, a.AddressLine2 , a.City, a.PostalCode 
FROM Person.Person AS p 
   INNER JOIN HumanResources.Employee AS e 
        ON p.BusinessEntityID = e.BusinessEntityID
    INNER JOIN Person.BusinessEntityAddress bea 
        ON bea.BusinessEntityID = e.BusinessEntityID
    INNER JOIN Person.Address AS a 
        ON a.AddressID = bea.AddressID;
GO

Em seguida, em seu arquivo de lote, você executa o SQLCMD e passa o arquivo sql (com caminho) como parâmetro.

Se você precisar autenticar também, precisará adicionar os parâmetros -U e -P ao seu comando SQLCMD.

Aqui está um artigo do MSDN que trata do utilitário sqlcmd com mais detalhes.