Помощни програми за MS SQL Server

Помощни програми на MS SQL Server

Въз основа на статии на Michael Otey в Sqlmag.com „Overlooked Command-Line Utilities“ и Brian Knight в SWYNK.COM „Piping Queries to a Text File“

Статията разглежда набор от помощни програми за командния ред на MS SQL Server и опции за тяхното използване.

Майкъл пише, че MS SQL Server има мощни графични инструменти за управление, но също така има много по-малко известни помощни програми за команден ред, които можете да използвате в Windows NT shell скриптове или VBSCRIPT за манипулиране на SQL Server. Ето неговите съвети за седемте най-често използвани помощни програми на MS SQL Server, които са включени в MS SQL Server 2000 и 7.0:

7. Командите на конзолата Net Start и Net Stop MSSQLServer ви позволяват да стартирате и спирате услуги на MS SQL Server от командния ред. Можете да добавите тези команди към вашите собствени скриптове или пакетни файлове, за да рестартирате автоматично сървъра на базата данни.

5. Командата ODBCCMPT задава нивото на ODBC съвместимост за потребителското приложение. Тази помощна програма е особено полезна, когато използвате версия 3.x на ODBC драйвера, но трябва да можете да се свържете към MS SQL Server 2000 или 7.0 от потребителско приложение чрез ODBC драйвер версия 2.x. За да поддържате съвместимост с MS SQL Server 6.x, можете да използвате odbccmpt с ключа /v:6. Синтаксис на командата - odbccmpt име_на_файл /v:номер_на_версия

4. Помощната програма ITWIZ ви позволява да стартирате съветника за настройка на индекс MS SQL Server от командния ред.

3. ISQL и OSQL помощните програми ви позволяват да изпълнявате индивидуални SQL оператори, както и SQL скриптове, съхранени в скриптови файлове. Isql обаче използва съкратена DB-библиотека, за да се свърже с MS SQL Server. Човек винаги трябва да помни, че osql работи чрез ODBC. По-долудаден е синтаксисът на osql, който указва изпълнението на заявка и извежда резултата във файл: osql /S Server_name /U потребител /P парола /Q query /o output_file

2. Помощната програма DTSWIZ стартира съветника за импортиране/експортиране на DTS от NT скрипт или VBSCRIPT файл. Наличните параметри на низа ви позволяват да пропуснете диалоговите прозорци на съветника, като предоставите необходимата информация от командния ред.

1. Помощната програма за команден ред DTSRUN започва да обслужва DTS пакети. Използването на dtsrun в планирани задачи на MS SQL Server ви дава чудесна възможност да обработвате редовно DTS пакети. Можете да съхранявате DTS пакети в база данни msdb, структуриран COM файл или хранилище на Microsoft. За да обработите DTS пакет, съхранен в msdb, използвайте следния синтаксис: dtsrun /S Server_name /U потребител /P парола /N package_name

Запазването на заявката води до текстов файл

Brian пише, че често е необходимо резултатите от заявка да се съхраняват в текстов файл. Това е особено удобно, когато времето за изпълнение на заявката е много дълго или наличните ресурси не позволяват изпълнението на заявката в работно време и решите да стартирате заявката през нощта и да видите резултатите сутрин. Можете да създадете задание, съдържащо CMDEXEC, което ще изпълни необходимите команди и ще изведе резултатите от заявката c:\inputquery.txt в отделен файл.

\mssql7\binn\osql -Usa -Ppassword -ic:\inputquery.txt -oc:\outputdir\output.txt

Ако не искате открито да пишете паролата за работата си, можете да използвате клавиша "E", за да установите доверена връзка. Можете също да използвате разширената съхранена процедура XP_CMDSHELL:

master..xp_cmdshell 'osql -Usa -Pmisty -Q"изберете * от продукти" -dNorthwind -oc:\output.txt' '

Параметърът "Q" указва низа на заявката. В края на заявката можете да добавите допълнителен параметър NO_OUTPUT, за да блокирате всеки изход към клиента.

master..xp_cmdshell 'osql -Usa -Pmisty -q"изберете * от продукти" -dNorthwind -oc:\output.txt', no_output

Има и други методи за конвейерно предаване на резултатите от заявката към текстов файл (например с помощта на OLE Automation), но те отнемат повече време от този метод.