SQL ServerExpressにはSQLServerエージェントが含まれていないため、SQLエージェントジョブを作成するだけでは不十分です。
実行できることは次のとおりです。
バッチファイルとSQLスクリプトファイルを作成し、Windowsタスクスケジューラを介して実行することで、「手動で」ジョブを作成できます。
たとえば、データベースを次のような2つのファイルでバックアップできます。これ:
backup.bat:
sqlcmd -i backup.sql
backup.sql:
backup database TeamCity to disk = 'c:\backups\MyBackup.bak'
両方のファイルを同じフォルダに入れて、Windowsタスクスケジューラを介してバッチファイルを実行するだけです。
最初のファイルは、sqlcmdユーティリティを呼び出してSQLスクリプトファイルを渡すWindowsバッチファイルです。
SQLスクリプトファイルにはT-SQLが含まれています。私の例では、データベースをバックアップするのは1行だけですが、任意のT-SQLを内部に配置できます。たとえば、UPDATE
を実行できます。 代わりにクエリを実行します。
作成するジョブがバックアップ、インデックスメンテナンス、または整合性チェック用である場合は、OlaHallengrenによる優れたメンテナンスソリューションを使用することもできます。
これは、一連のストアドプロシージャ(およびSQLServerの非ExpressエディションのSQLAgentジョブ)で構成されており、FAQには、SQLServerExpressでジョブを実行する方法に関するセクションがあります。
SQL ServerExpressでSQLServerメンテナンスソリューションを開始するにはどうすればよいですか?
SQLServerExpressにはSQLServerエージェントはありません。したがって、ストアドプロシージャの実行は、cmdファイルとWindowsのスケジュールされたタスクを使用してスケジュールする必要があります。次の手順に従ってください。
SQLServerExpressにはSQLServerエージェントはありません。したがって、ストアドプロシージャの実行は、cmdファイルとWindowsのスケジュールされたタスクを使用してスケジュールする必要があります。次の手順に従ってください。
MaintenanceSolution.sqlをダウンロードします。
MaintenanceSolution.sqlを実行します。このスクリプトは、必要なストアドプロシージャを作成します。
ストアドプロシージャを実行するためのcmdファイルを作成します。例:
sqlcmd-E-S。\SQLEXPRESS-d master -Q "EXECUTE dbo.DatabaseBackup @Databases ='USER_DATABASES'、@Directory =N'C:\ Backup'、@BackupType ='FULL'" -b -o C:\ Log \ DatabaseBackup.txtWindowsのスケジュールされたタスクで、cmdファイルを呼び出すタスクを作成します。
タスクをスケジュールします。
タスクを開始し、タスクが正常に完了していることを確認します。