{"id":2781,"date":"2021-05-31T09:15:34","date_gmt":"2021-05-31T06:15:34","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=2781"},"modified":"2025-11-03T17:16:28","modified_gmt":"2025-11-03T14:16:28","slug":"pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/pos_mporoume_na_programmatisoume_ergasies_se_azure_sql_databases_me_ti_xrisi_azure_database_elastic_jobs\/","title":{"rendered":"How we can schedule jobs on Azure SQL Databases using Elastic Database Jobs"},"content":{"rendered":"<p>As we know in <strong>Azure SQL Databases<\/strong> there is no <strong>SQL Server<\/strong> <strong>Agent<\/strong>, which means we can&#039;t run scheduled tasks through it. Nevertheless on\u00a0<strong>Azure SQL Databases\u00a0<\/strong>we can schedule jobs in many other ways such as using\u00a0<strong>Azure Data Factory<\/strong>,\u00a0<strong>Elastic Database Jobs<\/strong>\u00a0and\u00a0<strong>Logic Apps<\/strong>. <\/p>\n\n\n\n<p>In <a href=\"https:\/\/www.dataplatform.gr\/en\/pos-mporoyme-na-kanoyme-schedule-ena-job-se-azure-sql-database-me\/\" target=\"_blank\" rel=\"noreferrer noopener\">previous article<\/a> we had seen how they work<strong> Logic Apps<\/strong>. In Logic Apps, however, we have to connect one by one and create a workflow for each case.<\/p>\n\n\n\n<p>In this article we will see how we use them <strong>Elastic Database Jobs<\/strong>. In contrast to the <strong>Logic Apps<\/strong> Job execution can be done from a single base to a group of bases. Also the creation, management and monitoring of Jobs is done with code <strong>Transact SQL<\/strong>.<\/p>\n\n\n\n<p>Specifically, we will see how to create a Job that will run once a week Rebuild the Indexes in all bases of a target group that we have defined.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The example<\/h2>\n\n\n\n<p>To begin with, we connect to&nbsp;<a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Portal<\/a>. Like <em>prerequisite <\/em>is <strong>to have created an Azure SQL Database*<\/strong>which will manage all the Jobs and will be the one who will &quot;click&quot; on the <strong>Elastic Job agent<\/strong> (if we don&#039;t know how to make a base we see it <a href=\"https:\/\/www.dataplatform.gr\/en\/pos-ftiachnoyme-mia-vasi-dedomenon-sto-az\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>).<\/p>\n\n\n\n<p>*<em>The job db should be made in a basic DTU model and is always online and does not require high resources. Its cost in this case is quite low ~ 4 euros per month.<\/em><\/p>\n\n\n\n<p>Then we look for the service <strong>Elastic Job agents<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"1003\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-01.png\" alt=\"\" class=\"wp-image-2782\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-01.png 977w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-01-292x300.png 292w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-01-768x788.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">1<\/figcaption><\/figure>\n\n\n\n<p>Here we should define the name of the Agent and as<em> Job database <\/em>her <em>Azure SQL Database<\/em> that we have built that will manage the Jobs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"1003\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-02.png\" alt=\"\" class=\"wp-image-2783\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-02.png 977w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-02-292x300.png 292w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-02-768x788.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">2<\/figcaption><\/figure>\n\n\n\n<p>The next step requires a little attention to understand the logic.<\/p>\n\n\n\n<p>We should create two credentials in the Job db, which, however, will not be for the database itself but for external use towards the rest (<em><strong>scoped credential<\/strong><\/em>).<\/p>\n\n\n\n<p>We will create these two credentials as <strong>logins <\/strong>in <strong>master db on the hosting logical Server <\/strong>Azure SQL Databases. Also, after creating the login for the master db, we should also create the user in it.<\/p>\n\n\n\n<p>Finally, we will have to connect to each of the bases that the Server contains and that&#039;s it <strong>create the user<\/strong> from the user login we created in the master db.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"539\" height=\"305\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-03.png\" alt=\"\" class=\"wp-image-2784\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-03.png 539w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-03-300x170.png 300w\" sizes=\"auto, (max-width: 539px) 100vw, 539px\" \/><figcaption class=\"wp-element-caption\">3<\/figcaption><\/figure>\n\n\n\n<p>So we open one <strong>SQL Server Management Studio <\/strong>the <strong>Azure Data Studio <\/strong>and we create them.<\/p>\n\n\n\n<p>To begin with, we connect to <strong>Job db <\/strong>to make them <strong>scoped credentials<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">USE [job-db]\nGO\n--Connect to the job database specified when creating the job agent\n\n-- Create a db master key if one does not already exist, using your own password.  \nCREATE MASTER KEY ENCRYPTION BY PASSWORD='Patatakia1!';  \n  \n-- Create a database scoped credential.  \nCREATE DATABASE SCOPED CREDENTIAL myjobcred WITH IDENTITY = 'myjobcred',\n    SECRET = 'userpass1!';\nGO\n\n-- Create a database scoped credential for the master database of server1.\nCREATE DATABASE SCOPED CREDENTIAL mymastercred WITH IDENTITY = 'mymastercred',\n    SECRET = 'masterpass1!';\nGO\n<\/pre>\n\n\n\n<p>Then we connect to <strong>master db<\/strong> of <strong>logical Server <\/strong>which hosts the Azure SQL Databases to create the logins and the user in the master db:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">-- At the target server containing the Databases\nUSE [master]\nGO\n\nCREATE LOGIN mymastercred with password = 'masterpass1!';\nGO\nCREATE USER mymastercred FROM LOGIN mymastercred;\nGO\nCREATE LOGIN myjobcred with password = 'userpass1!';\nGO<\/pre>\n\n\n\n<p>Finally we connect<strong> separately to each base you contain on the target Server<\/strong> and we will create the user from the login.<\/p>\n\n\n\n<p>However, since I want to rebuild indexes, I will also give the right required to the user to complete the process. I mean <em>db_ddladmin <\/em>and <em>view database state<\/em>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">USE [dpgr_db]\nGO\nCREATE user myjobcred  FOR LOGIN myjobcred; \nGO\nALTER ROLE db_ddladmin ADD MEMBER myjobcred;\nGO\nGRANT VIEW DATABASE STATE TO myjobcred;\nGO\n\nUSE [mig_db]\nGO\nCREATE user myjobcred  FOR LOGIN myjobcred; \nGO\nALTER ROLE db_ddladmin ADD MEMBER myjobcred;\nGO\nGRANT VIEW DATABASE STATE TO myjobcred;\nGO\n\nUSE [job-db]\nGO\nCREATE user myjobcred  FOR LOGIN myjobcred; \nGO\nALTER ROLE db_ddladmin ADD MEMBER myjobcred;\nGO\nGRANT VIEW DATABASE STATE TO myjobcred;\nGO<\/pre>\n\n\n\n<p>After we&#039;re done with the users we go back to the job-db and it&#039;s time to build it <strong>target group<\/strong> . The target group is the group of databases where the Job will be executed.<\/p>\n\n\n\n<p>In our case, we want it to run on as many bases as exist on the specific logical server.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">USE [job-db]\nGO\n\nEXEC jobs.sp_add_target_group 'ServerGroup1';\nGO\n\n-- Add a server target member\nEXEC jobs.sp_add_target_group_member\n'ServerGroup1',\n@target_type = 'SqlServer',\n@refresh_credential_name='mymastercred', --credential required to refresh the databases in a server\n@server_name='dpgr-srv.database.windows.net';\nGO\n\nSELECT * FROM jobs.target_groups WHERE target_group_name='ServerGroup1';\nSELECT * FROM jobs.target_group_members WHERE target_group_name='ServerGroup1';<\/pre>\n\n\n\n<p>We see with the results of the selects that they were created successfully.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"171\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-08-1024x171.png\" alt=\"\" class=\"wp-image-2789\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-08-1024x171.png 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-08-300x50.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-08-768x128.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-08.png 1179w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">4<\/figcaption><\/figure>\n\n\n\n<p>In the next step we create the Job in <strong>Job db<\/strong>.<\/p>\n\n\n\n<p>We should remember that the time he accepts <strong>it is in UTC time zone<\/strong> so for Greek time we should do -2 or -3 hours on the date we set (in our case I do it with the function <em>DATEADD<\/em>).<\/p>\n\n\n\n<p>Also in the parameter <em><strong>schedule_interval_type <\/strong><\/em>we define<em>Weeks<\/em>&#039; with <em><strong>schedule_interval_count <\/strong><\/em>1 to run once a week. As <em><strong>schedule_start_time <\/strong><\/em>is the date it will run for the first time.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">--Connect to the job database specified when creating the job agent\n\n--Add job for create table\n\nDECLARE\n@date DATETIME2;\nset @date = DATEADD(HOUR,-2,'20201226 04:00:00'); -- I am using DATEADD because it works on UTC time zone, but Greece has gmt+2 \/+3.\n\nEXEC jobs.sp_add_job @job_name='Rebuild Indexes'\n,@description='Rebuild Indexes'\n,@Enabled = 1\n,@schedule_interval_type  = 'Weeks'\n,@schedule_interval_count  = 1\n,@schedule_start_time  = @date;\n\n\/* for schedule_interval_type the options\n'Once',\n'Minutes',\n'Hours',\n'Days',\n'Weeks',\n'Months'\n*\/\n<\/pre>\n\n\n\n<p>After we have created and scheduled the Job, we should add <strong>the job step<\/strong> in the job that will have the code we want to run (in the parameter <em><strong>command<\/strong><\/em>). In our case, the rebuild of the indexes.<\/p>\n\n\n\n<p>We do not forget that we should define the <em><strong>target_group_name <\/strong><\/em>which we had also created the user credential in <em><strong>credential_name<\/strong><\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">-- Add job step for create table\nEXEC jobs.sp_add_jobstep @job_name='Rebuild Indexes',\n@credential_name='myjobcred',\n@target_group_name='ServerGroup1',\n@step_name='run rebuild',\n@command=N'\nDECLARE @Indexes TABLE\n   (\n      ObjectSchema SYSNAME,\n      ObjectName SYSNAME,\n      IndexName SYSNAME,\n      FragmentationPCT FLOAT,\n      Command AS (REPLACE(REPLACE(REPLACE(N''ALTER INDEX {IndexName} ON {ObjectSchema}.{ObjectName} REBUILD;'',N''{IndexName}'',IndexName),N''{ObjectSchema}'',ObjectSchema),N''{ObjectName}'',ObjectName))\n   )\n;\nINSERT INTO @Indexes\n(\n    ObjectSchema,\n    ObjectName,\n    IndexName,\n    FragmentationPCT\n)\nSELECT QUOTENAME(SCHEMA_NAME(SO.schema_id)) AS ObjectSchema,\n   QUOTENAME(SO.name) AS ObjectName,\n   QUOTENAME(I.name) AS IndexName,\n   IPS.avg_fragmentation_in_percent\nFROM sys.dm_db_index_physical_stats(DB_ID(),NULL,NULL,NULL,N''Limited'') AS IPS\nJOIN sys.objects AS SO ON SO.object_id = IPS.object_id\nJOIN sys.indexes AS I ON I.index_id = IPS.index_id\n   AND I.object_id = IPS.object_id\nWHERE IPS.avg_fragmentation_in_percent > 15\nORDER BY IPS.avg_fragmentation_in_percent DESC\n;\n \nDECLARE @TsqlCommand NVARCHAR(MAX);\n \nDECLARE IndexRebuilder CURSOR LOCAL FAST_FORWARD\n   FOR\n   SELECT I.Command\n   FROM @Indexes AS I\n;\n \nOPEN IndexRebuilder\n \n   FETCH NEXT FROM IndexRebuilder\n   INTO @TsqlCommand\n   ;\n \n   WHILE @@FETCH_STATUS = 0\n   BEGIN\n      \n      EXEC sp_executesql @Command = @TsqlCommand;\n \n      FETCH NEXT FROM IndexRebuilder\n      INTO @TsqlCommand\n      ;\n   END \nCLOSE IndexRebuilder\nDEALLOCATE IndexRebuilder\n;'<\/pre>\n\n\n\n<p>We are ready to test. Now either we wait for it to run when we have scheduled it or we start it manually with the command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">--to run manually\nexec jobs.sp_start_job 'Rebuild Indexes'<\/pre>\n\n\n\n<p>In the Agent service in the Azure Portal, we can see the execution history of the Jobs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"866\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-05-1024x866.png\" alt=\"\" class=\"wp-image-2786\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-05-1024x866.png 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-05-300x254.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-05-768x649.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-05.png 1186w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">5<\/figcaption><\/figure>\n\n\n\n<p>As also on the tab <em>Jobs<\/em>, the Jobs that exist.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"866\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-06-1024x866.png\" alt=\"\" class=\"wp-image-2787\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-06-1024x866.png 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-06-300x254.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-06-768x649.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-06.png 1186w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">6<\/figcaption><\/figure>\n\n\n\n<p>The same information can be seen with the T-SQL query in the Job db:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">-- View all jobs executions\nSELECT job_execution_id,job_name,lifecycle,start_time,create_time,last_message,target_type,target_server_name,target_database_name,target_elastic_pool_name,is_active FROM jobs.job_executions\nORDER BY start_time DESC\nGO\n<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"228\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-07-1024x228.png\" alt=\"\" class=\"wp-image-2788\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-07-1024x228.png 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-07-300x67.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-07-768x171.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/ej-07.png 1174w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>If we want to stop a Job after finding first of the <em>job_executions <\/em>the<em> job_execution_id<\/em>, we can with the following query:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">-- View all active executions to determine job execution id\nSELECT * FROM jobs.job_executions\nWHERE is_active = 1 AND job_name = 'Rebuild Indexes'\nORDER BY start_time DESC\nGO\n\n-- Cancel job execution with the specified job execution id\nEXEC jobs.sp_stop_job 'D85DF748-F940-4FD3-AFB4-D7E892ABBDF4'<\/pre>\n\n\n\n<p>We can also delete the execution history of a Job or delete the entire Job.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">--clean job history\nEXEC jobs.sp_purge_jobhistory @job_name = 'Rebuild Indexes'\n\n--delete the job\nEXEC jobs.sp_delete_job @job_name='Rebuild Indexes'<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-sql\/database\/elastic-jobs-tsql-create-manage\" target=\"_blank\" rel=\"noreferrer noopener\">Use Transact-SQL (T-SQL) to create and manage Elastic Database Jobs (preview)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-sql\/database\/elastic-jobs-overview\" target=\"_blank\" rel=\"noreferrer noopener\">Create, configure, and manage elastic jobs (preview)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.mssqltips.com\/sqlservertip\/5665\/introduction-to-azure-elastic-database-jobs\/\" target=\"_blank\" rel=\"noreferrer noopener\">Introduction to Azure Elastic Database Jobs<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>As we know in Azure SQL Databases there is no SQL Server Agent, which means we cannot run scheduled tasks through it. However, in Azure SQL Databases we can schedule jobs in many other ways such as using Azure Data Factory, Elastic Database Jobs and Logic Apps. In a previous article we saw how Logic Apps work. At Logic [\u2026]<\/p>","protected":false},"author":1,"featured_media":2837,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,36,15],"tags":[135,56,46,29,23,73,6],"class_list":["post-2781","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-azure","category-ms-sqlserver","tag-azure","tag-azure-sql-database","tag-cloud","tag-databases","tag-microsoft","tag-scheduling","tag-sqlserver"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/pos_mporoume_na_programmatisoume_ergasies_se_azure_sql_databases_me_ti_xrisi_azure_database_elastic_jobs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u038c\u03c0\u03c9\u03c2 \u03b3\u03bd\u03c9\u03c1\u03af\u03b6\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c4\u03b9\u03c2 Azure SQL Databases \u03b4\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 SQL Server Agent, \u03c0\u03bf\u03c5 \u03c3\u03b7\u03bc\u03b1\u03af\u03bd\u03b5\u03b9 \u03cc\u03c4\u03b9 \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b5\u03ba\u03c4\u03b5\u03bb\u03bf\u03cd\u03bc\u03b5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03ad\u03bd\u03b5\u03c2 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03bc\u03ad\u03c3\u03c9 \u03b1\u03c5\u03c4\u03bf\u03cd. \u03a0\u03b1\u03c1\u03cc\u03bb\u03b1 \u03b1\u03c5\u03c4\u03ac \u03c3\u03c4\u03b9\u03c2\u00a0Azure SQL Databases\u00a0\u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 schedule jobs \u03bc\u03b5 \u03c0\u03bf\u03bb\u03bb\u03bf\u03cd\u03c2 \u03ac\u03bb\u03bb\u03bf\u03c5\u03c2 \u03c4\u03c1\u03cc\u03c0\u03bf\u03c5\u03c2 \u03cc\u03c0\u03c9\u03c2 \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7\u00a0Azure Data Factory,\u00a0Elastic Database Jobs\u00a0\u03ba\u03b1\u03b9\u00a0Logic Apps. \u03a3\u03b5 \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b5\u03af\u03c7\u03b1\u03bc\u03b5 \u03b4\u03b5\u03b9 \u03c0\u03c9\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03bf\u03cd\u03bd \u03c4\u03b1 Logic Apps. \u03a3\u03c4\u03b1 Logic [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/pos_mporoume_na_programmatisoume_ergasies_se_azure_sql_databases_me_ti_xrisi_azure_database_elastic_jobs\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-31T06:15:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-03T14:16:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs\",\"datePublished\":\"2021-05-31T06:15:34+00:00\",\"dateModified\":\"2025-11-03T14:16:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/\"},\"wordCount\":227,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"keywords\":[\"Azure\",\"Azure SQL Database\",\"Cloud\",\"Databases\",\"Microsoft\",\"Scheduling\",\"SQL Server\"],\"articleSection\":[\"Databases\",\"Microsoft Azure\",\"Microsoft SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"datePublished\":\"2021-05-31T06:15:34+00:00\",\"dateModified\":\"2025-11-03T14:16:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Microsoft Azure\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/azure\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs - DataPlatform.gr","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dataplatform.gr\/en\/pos_mporoume_na_programmatisoume_ergasies_se_azure_sql_databases_me_ti_xrisi_azure_database_elastic_jobs\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs - DataPlatform.gr","og_description":"\u038c\u03c0\u03c9\u03c2 \u03b3\u03bd\u03c9\u03c1\u03af\u03b6\u03bf\u03c5\u03bc\u03b5 \u03c3\u03c4\u03b9\u03c2 Azure SQL Databases \u03b4\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 SQL Server Agent, \u03c0\u03bf\u03c5 \u03c3\u03b7\u03bc\u03b1\u03af\u03bd\u03b5\u03b9 \u03cc\u03c4\u03b9 \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b5\u03ba\u03c4\u03b5\u03bb\u03bf\u03cd\u03bc\u03b5 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03ad\u03bd\u03b5\u03c2 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03bc\u03ad\u03c3\u03c9 \u03b1\u03c5\u03c4\u03bf\u03cd. \u03a0\u03b1\u03c1\u03cc\u03bb\u03b1 \u03b1\u03c5\u03c4\u03ac \u03c3\u03c4\u03b9\u03c2\u00a0Azure SQL Databases\u00a0\u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 schedule jobs \u03bc\u03b5 \u03c0\u03bf\u03bb\u03bb\u03bf\u03cd\u03c2 \u03ac\u03bb\u03bb\u03bf\u03c5\u03c2 \u03c4\u03c1\u03cc\u03c0\u03bf\u03c5\u03c2 \u03cc\u03c0\u03c9\u03c2 \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7\u00a0Azure Data Factory,\u00a0Elastic Database Jobs\u00a0\u03ba\u03b1\u03b9\u00a0Logic Apps. \u03a3\u03b5 \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b5\u03af\u03c7\u03b1\u03bc\u03b5 \u03b4\u03b5\u03b9 \u03c0\u03c9\u03c2 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03bf\u03cd\u03bd \u03c4\u03b1 Logic Apps. \u03a3\u03c4\u03b1 Logic [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/pos_mporoume_na_programmatisoume_ergasies_se_azure_sql_databases_me_ti_xrisi_azure_database_elastic_jobs\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2021-05-31T06:15:34+00:00","article_modified_time":"2025-11-03T14:16:28+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs","datePublished":"2021-05-31T06:15:34+00:00","dateModified":"2025-11-03T14:16:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/"},"wordCount":227,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","keywords":["Azure","Azure SQL Database","Cloud","Databases","Microsoft","Scheduling","SQL Server"],"articleSection":["Databases","Microsoft Azure","Microsoft SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/","url":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/","name":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","datePublished":"2021-05-31T06:15:34+00:00","dateModified":"2025-11-03T14:16:28+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/pos-mporoyme-na-programmatisoyme-ergasies-se-azure-sql-databases-me-ti-chrisi-elastic-database-jobs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Microsoft Azure","item":"https:\/\/www.dataplatform.gr\/category\/azure\/"},{"@type":"ListItem","position":3,"name":"\u03a0\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03af\u03c3\u03bf\u03c5\u03bc\u03b5 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b5\u03c2 \u03c3\u03b5 Azure SQL Databases \u03bc\u03b5 \u03c4\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7 Elastic Database Jobs"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=2781"}],"version-history":[{"count":1,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2781\/revisions"}],"predecessor-version":[{"id":5956,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2781\/revisions\/5956"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/2837"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=2781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=2781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=2781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}