Хтось може пояснити мені, як створювати робочі місця у SQL Server Express
редакції?
Хтось може пояснити мені, як створювати робочі місця у SQL Server Express
редакції?
Відповіді:
SQL Server Express не включає агента SQL Server , тому неможливо просто створити завдання агента SQL.
Що ви можете зробити:
Ви можете створювати робочі місця "вручну", створюючи пакетні файли та файли сценаріїв SQL та запускаючи їх за допомогою Планувальника завдань Windows.
Наприклад, ви можете створити резервну копію бази даних за допомогою двох таких файлів:
backup.bat:
sqlcmd -i backup.sql
backup.sql:
backup database TeamCity to disk = 'c:\backups\MyBackup.bak'
Просто помістіть обидва файли в одну папку та виконайте пакетний файл за допомогою Планувальника завдань Windows.
Перший файл - це просто пакетний файл Windows, який викликає утиліту sqlcmd і передає файл сценарію SQL.
Файл сценарію SQL містить T-SQL. У моєму прикладі це лише один рядок для резервного копіювання бази даних, але ви можете помістити будь-який T-SQL всередину. Наприклад, UPDATE
замість цього ви можете зробити кілька запитів.
Якщо робочі місця, які ви хочете створити, призначені для резервного копіювання, обслуговування індексів або перевірки цілісності, ви також можете скористатися чудовим рішенням з обслуговування від Ola Hallengren.
Він складається з набору збережених процедур (і завдань агента SQL для неекспрес-версій SQL Server), а в розділі поширених запитань є розділ про те, як запускати завдання на SQL Server Express:
Як розпочати роботу з технічним рішенням SQL Server на SQL Server Express?
SQL Server Express не має агента SQL Server. Отже, виконання збережених процедур має бути заплановано за допомогою файлів cmd та запланованих завдань Windows. Виконайте ці кроки.
SQL Server Express не має агента SQL Server. Отже, виконання збережених процедур має бути заплановано за допомогою файлів cmd та запланованих завдань Windows. Виконайте ці кроки.
Завантажте MaintenanceSolution.sql.
Виконайте MaintenanceSolution.sql. Цей сценарій створює необхідні вам збережені процедури.
Створювати cmd-файли для виконання збережених процедур; наприклад:
sqlcmd -E -S. \ SQLEXPRESS -d master -Q "ВИКОНАТИ dbo.DatabaseBackup @Databases = 'USER_DATABASES', @Directory = N'C: \ Backup ', @BackupType =' FULL '" -b -o C: \ Log \ DatabaseBackup.txtУ запланованих завданнях Windows створіть завдання для виклику файлів cmd.
Складіть графік завдань.
Почніть завдання та переконайтеся, що вони успішно виконані.
Функціонал створення завдань агента SQL недоступний у SQL Server Express Edition. Альтернативою є виконання командного файлу, який виконує сценарій SQL за допомогою Планувальника завдань Windows.
Для цього спочатку створіть командний файл з назвою sqljob.bat
sqlcmd -S servername -U username -P password -i <path of sqljob.sql>
Замінити servername
, username
, password
іpath
з вашими.
Потім створіть файл сценарію SQL із назвою sqljob.sql
USE [databasename]
--T-SQL commands go here
GO
Замініть ім'я [databasename]
вашої бази даних. USE
іGO
необхідно , коли ви пишете сценарій SQL.
sqlcmd
- це утиліта командного рядка для виконання сценаріїв SQL. Після створення цих двох файлів виконайте командний файл за допомогою Планувальника завдань Windows.
Примітка: Раніше на це питання було розміщено майже таку ж відповідь. Але я відчув, що він був неповним, оскільки в ньому не було зазначено про використання інформації для входу sqlcmd
.
path of sqljob.sql
будь-яким місцем, яке ви використовуєте). Пам’ятайте, що *.sql
файл тут - не що інше, як просто текстовий файл.
Видання SQL Server Express певним чином обмежені - один із способів полягає в тому, що вони не мають агента SQL, який дозволяє планувати завдання.
Є кілька сторонніх розширень, які надають таку можливість - перевірте, наприклад: