{"id":238469,"date":"2021-07-13T11:14:36","date_gmt":"2021-07-13T18:14:36","guid":{"rendered":"https:\/\/virtual-dba.com\/?p=238469"},"modified":"2021-07-13T11:14:37","modified_gmt":"2021-07-13T18:14:37","slug":"scripting-basic-backups-using-sql-server-agent","status":"publish","type":"post","link":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/","title":{"rendered":"Scripting Basic Backups using SQL Server Agent"},"content":{"rendered":"\n<p>The most satisfying meal is the one you make yourself, and database backup jobs are no different.<\/p>\n\n\n\n<p>Many DBAs use maintenance plans as a &#8220;one-stop-shop&#8221; for maintaining their SQL Server databases. After all, they do backups, integrity checks, index maintenance&#8230; What more could you possibly want?<\/p>\n\n\n\n<p>But the truth of the matter is that maintenance plans are a lot like fast food: Yeah, you get the basics, but what if you have more specific needs in your environment that the &#8220;basics&#8221; can&#8217;t cover? You receive the SQL Server equivalent of a greasy, overworked sixteen-year-old giving you the stink-eye as they throw the &#8220;basics&#8221; in your bag anyway.<\/p>\n\n\n\n<p>Not fun.<\/p>\n\n\n\n<p>You&#8217;re left with two options: You either back up your databases with a third-party tool, or you set up your own backup job with SQL Server Agent. Today, we&#8217;ll be discussing the latter.<\/p>\n\n\n\n<p>&#8220;But SQL Server Agent requires these things called &#8216;SCRIPTS&#8217;! Where am I going to get these?&#8221;<\/p>\n\n\n\n<p>There are plenty of premade maintenance scripts out there (Ola Hallengren&#8217;s being one of the most famous and highly recommended), but we&#8217;re not here to talk about those. We&#8217;re here to make our own home-cooked backup solution.<\/p>\n\n\n\n<p>Great. Now I&#8217;m craving Cracker Barrel.<\/p>\n\n\n\n<p>The scripts I&#8217;m about to provide are a jumping-off point. They are by no means fully optimized for maximum performance (or any other DBA buzzwords); these are just examples of how even a junior or accidental DBA could throw together an automated backup script using basic T-SQL and programming logic (I use a WHILE loop instead of a cursor, for Pete&#8217;s sake!). Your mileage may vary, of course, given that different databases may have different backup needs\u2014these are just scripts for full and log backups, the bare minimum in the backup world. There is plenty of room for customization and especially improvement, but these should help you get started in most cases.<\/p>\n\n\n<pre><code>\/*\nName: Basic full backup script\nAuthor: Faryl O'Neil Hoover - XTIVIA\nDate: 2\/28\/2021\nCan be used in a SQL Server Agent job that runs daily, at minimum.\n*\/\n\n-- Variables\n\nDECLARE @DBCount int \n\nSELECT @DBCount = count(*) from sys.databases;\n\nDECLARE @myCount int = 0;\n\nDECLARE @dbName nvarchar(max);\n\nDECLARE @SQL nvarchar(max);\n\n\nWHILE (@myCount &lt;= @DBcount)\t\t-- Basic WHILE loop cycling through databases on instance\nBEGIN\n\tIF EXISTS\t\t\t-- Just in case databases are skipped (like tempdb, since it can't be backed up)\n\t(SELECT name FROM sys.databases \n\tWHERE database_id = @myCount \n\tAND name != 'tempdb'\t\t-- Can't back up tempdb\n\tAND state = 0\t\t\t\t-- Make sure databases are online\n\tAND is_read_only = 0)\t\t-- Make sure databases aren't read-only\n\tBEGIN\n\t\tSELECT @dbName = name FROM sys.databases WHERE database_id = @myCount;\t\t-- Grab database name to plug into backup script\n\n\t\tSET @SQL = 'BACKUP DATABASE ' + @dbname + \t-- Database backup statement\n\t\t' TO DISK = ''' + @dbName + '_' + \t\t\t-- Name is automatically plugged in\n\t\tCONVERT(char(8), getdate(), 112) + \t\t\t-- Date is automatically generated from GETDATE()\n\t\t'.BAK'' WITH COMPRESSION, CHECKSUM, STATS = 10';\n\n\t\tPRINT @SQL;\t\t-- For general debugging\n\n\t\tEXEC sp_executesql @SQL;\t\t-- Backup statement is executed\n\tEND\n\n\tSET @myCount = @mycount + 1\t\t-- Increment the counter\nEND\n\n\n\n\/*\nName: Basic log backup script\nAuthor: Faryl O'Neil Hoover - XTIVIA\nDate: 2\/28\/2021\nCan be used in a SQL Server Agent job that runs hourly, for instance.\n*\/\n\n-- Variables\n\nDECLARE @DBCount int \n\nSELECT @DBCount = count(*) from sys.databases;\n\nDECLARE @myCount int = 0;\n\nDECLARE @dbName nvarchar(max);\n\nDECLARE @SQL nvarchar(max);\n\n\nWHILE (@myCount &lt;= @DBcount)\t\t--Basic WHILE statement for cycling through databases\nBEGIN\n\tIF EXISTS\n\t(SELECT name FROM sys.databases \n\tWHERE database_id = @myCount \n\tAND name != 'tempdb'\n\tAND recovery_model = 1\t\t-- Main difference from full backup script; only grab databases we can take log backups for\n\tAND state = 0\t\t\t\t-- Make sure databases are online\n\tAND is_read_only = 0)\t\t-- Make sure databases are not read-only\n\tBEGIN\n\t\tSELECT @dbName = name FROM sys.databases WHERE database_id = @myCount;\n\n\t\tSET @SQL = 'BACKUP LOG ' + @dbname + ' TO DISK = ''' + @dbName + \n\t\t'_LOG_' + \n\t\tCONVERT(char(8), getdate(), 112) + '_' + \n\t\tCONVERT(char(2), datepart(hour, getdate())) + '_' +\t-- Another main difference from full backup script: Automatically generate hour\/minute for file name, since log backups should be taken at least hourly\n\t\tCONVERT (char(2), datepart(minute, getdate())) +\n\t\t'.TRN'' WITH COMPRESSION, CHECKSUM, STATS = 10';\n\n\t\tPRINT @SQL;\n\n\t\tEXEC sp_executesql @SQL;\n\tEND\n\t\n\tSET @myCount = @mycount + 1\nEND\n<\/code><\/pre>\n\n\n<p>One final note: Sometimes, &#8220;not enough backups&#8221; can turn into &#8220;too many backups&#8221;\u2014on disk, that is. Depending on your individual circumstances (such as database size and data recovery objectives), you may only need to keep the most recent backups on disk for a quick and easy restore while putting your older backups into long-term storage, such as tape or Grandpa&#8217;s shed. Again, your mileage may vary (long-term storage may not even be necessary, depending on your environment), but it bears mentioning as uncontrolled backups can fill up disk space FAST. Regardless, make sure to keep an eye on your disk space and remove older backups when needed.<\/p>\n\n\n\n<p>If you have more specific backup needs and you have nowhere else to turn, our VirtualDBA staff is always here to help! Making sure your data can be recovered in the event of a disaster is our number-one priority, so don&#8217;t take chances on irregular and unreliable backups! Let us optimize your environment so you&#8217;ll be prepared for anything that comes your way.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The most satisfying meal is the one you make yourself, and database backup jobs are no different. Many DBAs use maintenance plans as a &#8220;one-stop-shop&#8221; for maintaining their SQL Server databases. After all, they do backups, integrity checks, index maintenance&#8230; What more could you possibly want? But the truth of the matter is that maintenance [&hellip;]<\/p>\n","protected":false},"author":50,"featured_media":238472,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[4166,55],"tags":[24],"class_list":["post-238469","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-sql-server","tag-database-backup"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Scripting Basic Backups using SQL Server Agent<\/title>\n<meta name=\"description\" content=\"This article discusses setting up your own backup job with SQL Server Agent. Do you need maintenance scripts?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scripting Basic Backups using SQL Server Agent\" \/>\n<meta property=\"og:description\" content=\"This article discusses setting up your own backup job with SQL Server Agent. Do you need maintenance scripts?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-13T18:14:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-13T18:14:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/virtual-dba.com\/media\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"557\" \/>\n\t<meta property=\"og:image:height\" content=\"291\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Faryl O&#039;Neil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:site\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Faryl O&#039;Neil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\"},\"author\":{\"name\":\"Faryl O'Neil\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/f7fc8e8f01bc1cb3cef748ce193d755d\"},\"headline\":\"Scripting Basic Backups using SQL Server Agent\",\"datePublished\":\"2021-07-13T18:14:36+00:00\",\"dateModified\":\"2021-07-13T18:14:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\"},\"wordCount\":504,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg\",\"keywords\":[\"database backup\"],\"articleSection\":[\"Blog\",\"SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\",\"url\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\",\"name\":\"Scripting Basic Backups using SQL Server Agent\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg\",\"datePublished\":\"2021-07-13T18:14:36+00:00\",\"dateModified\":\"2021-07-13T18:14:37+00:00\",\"description\":\"This article discusses setting up your own backup job with SQL Server Agent. Do you need maintenance scripts?\",\"breadcrumb\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg\",\"width\":557,\"height\":291,\"caption\":\"Scripting Basic Backups using SQL Server Agent\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtual-dba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scripting Basic Backups using SQL Server Agent\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtual-dba.com\/#website\",\"url\":\"https:\/\/virtual-dba.com\/\",\"name\":\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\",\"description\":\"Remote Database Administration\",\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtual-dba.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/virtual-dba.com\/#organization\",\"name\":\"Virtual-DBA: Remote DBA | Remote Database Administration\",\"alternateName\":\"Virtual-DBA powered by XTIVIA\",\"url\":\"https:\/\/virtual-dba.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"width\":557,\"height\":291,\"caption\":\"Virtual-DBA: Remote DBA | Remote Database Administration\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/virtual_dba\",\"https:\/\/www.linkedin.com\/showcase\/36220649\/\",\"https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg\"],\"description\":\"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.\",\"email\":\"info@xtivia.com\",\"telephone\":\"8886853101\",\"legalName\":\"XTIVIA, Inc\",\"foundingDate\":\"1992-05-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"201\",\"maxValue\":\"500\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/f7fc8e8f01bc1cb3cef748ce193d755d\",\"name\":\"Faryl O'Neil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2e37fe76099ac1edf1eab17f3b5731ebbca5cab2adec19e2ae49dfed91e16d63?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2e37fe76099ac1edf1eab17f3b5731ebbca5cab2adec19e2ae49dfed91e16d63?s=96&d=mm&r=g\",\"caption\":\"Faryl O'Neil\"},\"url\":\"https:\/\/virtual-dba.com\/author\/faryl-oneil\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Scripting Basic Backups using SQL Server Agent","description":"This article discusses setting up your own backup job with SQL Server Agent. Do you need maintenance scripts?","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:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/","og_locale":"en_US","og_type":"article","og_title":"Scripting Basic Backups using SQL Server Agent","og_description":"This article discusses setting up your own backup job with SQL Server Agent. Do you need maintenance scripts?","og_url":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/","og_site_name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","article_published_time":"2021-07-13T18:14:36+00:00","article_modified_time":"2021-07-13T18:14:37+00:00","og_image":[{"width":557,"height":291,"url":"https:\/\/virtual-dba.com\/media\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg","type":"image\/jpeg"}],"author":"Faryl O'Neil","twitter_card":"summary_large_image","twitter_creator":"@virtual_dba","twitter_site":"@virtual_dba","twitter_misc":{"Written by":"Faryl O'Neil","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#article","isPartOf":{"@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/"},"author":{"name":"Faryl O'Neil","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/f7fc8e8f01bc1cb3cef748ce193d755d"},"headline":"Scripting Basic Backups using SQL Server Agent","datePublished":"2021-07-13T18:14:36+00:00","dateModified":"2021-07-13T18:14:37+00:00","mainEntityOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/"},"wordCount":504,"commentCount":0,"publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg","keywords":["database backup"],"articleSection":["Blog","SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/","url":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/","name":"Scripting Basic Backups using SQL Server Agent","isPartOf":{"@id":"https:\/\/virtual-dba.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg","datePublished":"2021-07-13T18:14:36+00:00","dateModified":"2021-07-13T18:14:37+00:00","description":"This article discusses setting up your own backup job with SQL Server Agent. Do you need maintenance scripts?","breadcrumb":{"@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#primaryimage","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Scripting-Basic-Backups-using-SQL-Server-Agent.jpg","width":557,"height":291,"caption":"Scripting Basic Backups using SQL Server Agent"},{"@type":"BreadcrumbList","@id":"https:\/\/virtual-dba.com\/blog\/scripting-basic-backups-using-sql-server-agent\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtual-dba.com\/"},{"@type":"ListItem","position":2,"name":"Scripting Basic Backups using SQL Server Agent"}]},{"@type":"WebSite","@id":"https:\/\/virtual-dba.com\/#website","url":"https:\/\/virtual-dba.com\/","name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","description":"Remote Database Administration","publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtual-dba.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/virtual-dba.com\/#organization","name":"Virtual-DBA: Remote DBA | Remote Database Administration","alternateName":"Virtual-DBA powered by XTIVIA","url":"https:\/\/virtual-dba.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","width":557,"height":291,"caption":"Virtual-DBA: Remote DBA | Remote Database Administration"},"image":{"@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/virtual_dba","https:\/\/www.linkedin.com\/showcase\/36220649\/","https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg"],"description":"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.","email":"info@xtivia.com","telephone":"8886853101","legalName":"XTIVIA, Inc","foundingDate":"1992-05-01","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"201","maxValue":"500"}},{"@type":"Person","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/f7fc8e8f01bc1cb3cef748ce193d755d","name":"Faryl O'Neil","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2e37fe76099ac1edf1eab17f3b5731ebbca5cab2adec19e2ae49dfed91e16d63?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2e37fe76099ac1edf1eab17f3b5731ebbca5cab2adec19e2ae49dfed91e16d63?s=96&d=mm&r=g","caption":"Faryl O'Neil"},"url":"https:\/\/virtual-dba.com\/author\/faryl-oneil\/"}]}},"_links":{"self":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/238469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/comments?post=238469"}],"version-history":[{"count":0,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/238469\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media\/238472"}],"wp:attachment":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media?parent=238469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/categories?post=238469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/tags?post=238469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}