Använd OSQL vid flera SQL Server installationer samt databaser
Förord

Innehåll
»»
»
»
Hantera flera SQL Server installationer och databaser med OSQL
av Randy Dyess
OSQL Syntax
OSQL
[-?] |
[-L] |
[
{
{-U login_id [-P password]}
| -E
}
[-S server_name[\instance_name]] [-H wksta_name] [-d db_name]
[-l time_out] [-t time_out] [-h headers]
[-s col_separator] [-w column_width] [-a packet_size]
[-e] [-I] [-D data_source_name]
[-c cmd_end] [-q "query"] [-Q "query"]
[-n] [-m error_level] [-r {0 | 1}]
[-i input_file] [-o output_file] [-p]
[-b] [-u] [-R] [-O]
]
OSQL parametrar

Sätt allt tillsamman
Användandet av OSQL kan göras hur funktionerbart som du själv vill, men jag tycker det räcker med att skapa två enkla filer som låter mig utföra de flesta uppgifter jag snabbt måste utföra mot ett flertal databaser.Det första du måste göra är att skapa en din/dina batchfil(er), baserat på den databasgruppering som du vill köra dina SQL-satser mot. Du kan, genom att använda en enkel texteditor, skapa en fil med dina parametrar för att sedan spara den som en .bat-fil. Du kan skapa denna batch-fil till att använda en textfil som inputfil, vilket gör att du slipper ändra alla parametrar varje gång du ska köra batch-processen. I följande exempel kan du se ett utdrag på det jag kan göra:
OSQL -Usa -Ppassword -Sserver1 -dDatabase1 -n
-iC:\OSQL_SCRIPTS\SQL_SCRIPTS\sqlscript.sql
-oC:\OSQL_SCRIPTS\OUTPUT\OSQLoutput_db1.txt
OSQL -Usa -Ppassword -Sserver2 -dDatabase2 -n
-iC:\OSQL_SCRIPTS\SQL_SCRIPTS\sqlscript.sql
-oC:\OSQL_SCRIPTS\OUTPUT\OSQLoutput_db2.txt
Vanligtvis skapar, och testar jag SQL-scriptet i Query Analyzer innan jag sparar scriptet som sqlscript.sql (egentligen har jag flera filer med olika namn till olika grupper av databaser).
När du sen exekverar .bat-filen så öppnar den OSQL, ansluter till var och en av de definierade Servrarna, exekverar ett USE uttryck för den definierade databasen samt exekverar det SQL-kommando som finns i SQL-scriptet och skapar en separat output-file till varje anslutning. Det kräver en del träning för att kunna formatera outputen till något läsbart, men jag använder oftast OSQL till att finna de data som jag vill komma åt för att sedan köra SQL-satsen i Query Analyzer. Efter det blir det lättare för mig att formatera mina data snabbt och enkelt.
0 Kommentarer