IT заметки

2011/12/27

Простой скрипт для тестирования соединения ODBC DSN

Filed under: проблема/решение, windows — Метки: , , — Maxim @ 15:19

На просторах интернета нашёл простой скрипт для проверки соединения к ODBC DSN. Иногда может весьма пригодиться.

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")

objConnection.Open "Provider=MSDASQL; DSN=YOUR-DSN;"
objRecordset.CursorLocation = adUseClient
objRecordset.Open "SELECT count(*) FROM YOUR-TABLE" , objConnection, _
adOpenStatic, adLockOptimistic
objRecordSet.MoveFirst
Wscript.Echo objRecordSet.RecordCount
objRecordset.Close
objConnection.Close

2010/03/18

Резервное копирование MS SQL Server Express

Filed under: ms sql server, tips & tricks, windows — Метки: , , , — Maxim @ 19:30

Возникла необходимость делать резервное копирование MS SQL Server Express — урезанной версии большого продукта. В его составе отсутствует SQL Server Agent, соответственно нельзя сделать планы обслуживания для регулярного выполнения, в результате нет автоматизированного резервного копирования.
Выход из ситуации достаточно прост. В «MS SQL Server Management Studio Express» тыкаем на нужной базе правой кнопкой и выбираем «Backup…», в диалоговом окне устанавливаем все необходимые настройки и сверху нажимаем кнопку «Script» и выбираем сохранить в файл.

Далее делаем cmd-файл следующего содержания, который запускаем с помощью планировщика в нужное нам время:
D:
del "D:\Backup ScanMail\log.txt"
sqlcmd -S EX02\SCANMAIL -i ScanMail_db_backup.sql -o "D:\Backup ScanMail\log.txt"
exit

Здесь ScanMail_db_backup.sql — файл, в который сохранили код T-SQL. Перед началом копирования удаление старых происходит средствами T-SQL.

2009/11/13

Восстановление БД с помощью командной строки

Filed under: ms sql server, tips & tricks, windows — Метки: , , — Maxim @ 14:59

Возникла необходимость восстанавливать определённую БД каждое утро, сделал с помщью планировщика и такого скрипта:

copy \\db02\d$\Backup\Daily\trade_backup_%date:~-4%%date:~3,2%%date:~0,2%0800.bak "E:\backup 1Cv81\"

osql -S DV01 -U sa -P PaSSword -Q "RESTORE DATABASE [TradeSQL2] FROM DISK = N'E:\backup 1Cv81\trade_backup_%date:~-4%%date:~3,2%%date:~0,2%0800.bak' WITH FILE = 1, MOVE N'trade' TO N'E:\DV01\MSSQL.2\MSSQL\Data\TradeSQL2.mdf', MOVE N'trade_log' TO N'E:\DV01\MSSQL.2\MSSQL\Data\TradeSQL2_log.LDF', NOUNLOAD, REPLACE, STATS = 10"

exit

Конструкция %date:~-4%%date:~3,2%%date:~0,2% используется для задания даты, которая каждый день изменяется.

Создайте бесплатный сайт или блог на WordPress.com.