Как создавать рабочие места в выпуске SQL Server Express - PullRequest
64 голосов
/ 26 августа 2011

Может ли кто-нибудь объяснить мне, как я могу создавать рабочие места в SQL Server Express редакции?

Ответы [ 3 ]

111 голосов
/ 26 августа 2011

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 без Express), а в FAQ есть раздел о том, как запускать задания в SQL Server Express:

Как начать работу с решением обслуживания SQL Server в SQL Server Express?

SQL Server Express не имеет агента SQL Server. Поэтому выполнение хранимых процедур должно планироваться с использованием файлов cmd и запланированных задач Windows. Выполните следующие действия.

SQL Server Express не имеет агента SQL Server. Поэтому исполнение хранимых процедур должны быть запланированы с использованием файлов CMD и Запланированные задачи Windows. Выполните следующие действия.

  1. Скачать MaintenanceSolution.sql.

  2. Выполнить MaintenanceSolution.sql. Этот скрипт создает хранимые процедуры, которые вам нужны.

  3. Создание файлов cmd для выполнения хранимых процедур; например:
    sqlcmd -E -S. \ SQLEXPRESS -d мастер -Q "ВЫПОЛНИТЬ dbo.DatabaseBackup @Databases = 'USER_DATABASES', @Directory = N'C: \ Backup ', @BackupType =' FULL '"-b -o C: \ Log \ DatabaseBackup.txt

  4. В запланированных задачах Windows создайте задачи для вызова файлов cmd.

  5. Расписание задач.

  6. Запустите задачи и убедитесь, что они успешно завершены.

31 голосов
/ 12 мая 2015

Функциональность создания заданий агента 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.

15 голосов
/ 26 августа 2011

Редакции SQL Server Express в некоторых отношениях ограничены - во-первых, у них нет агента SQL, который позволяет планировать задания.

Существует несколько сторонних расширений, которые предоставляют такую ​​возможность- проверить, например:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...