Backup compression on MS SQL Web Edition 2008 R2 - sql-server

My organization is looking into using MS SQL Web Edition 2008 R2, by SPLA, on our virtual server.
Currenty we are using MS SQL Express Edition 2008 R2.
Looking at the features table of different MS SQL 2008 R2 editions, one of the things that Web Edition does not support and we need, is Backup compression.
Currently, since we use Express, all of our DBs are under 10 GB.
We do nightly full backup of each data base to a storage drive.
My concern is, that once the DB sizes will grow after we start using Web Edition, the backup time will start to grow segnificantly.
What is the best approach to handle large DBs backups on MS SQL Web Edition?
Is there a way / workaround to do a compression?

One solution would be to not take a full backup every day. Use differential backups almost every day (say, 6 out of 7 days a week) and do a full backup every so often (say, 1 day a week). The differentials should be significantly smaller than your full assuming that you don't have a lot of data churn going on in your database.

You could buy a third-party backup software for SQL Server. It is an incremental cost over the SQL Server license.
Or you could try to backup to a compressed NTFS folder.
Or you backup uncompressed and compress with 7-Zip which uses state-of-the-art compression algorithms that compress to a much smaller size than SQL Server does.

Related

SQL Server: Why is the backup speed so slow?

I have a backup query like this:
BACKUP DATABASE #temp_baza TO DISK = #temp_bak
BACKUP LOG #temp_baza TO DISK = #temp_log
It is run by sqlcmd like this:
sqlcmd -l 120 -S %SQL_SERVER% -i %KOPIA_KATALOG%backupPELNY.sql
-o %KOPIA_KATALOG%output_PELNY.txt -v NAZWA_BAZY="%NAZWA_BAZY%"
-v KOPIA="%PELNY_KOPIA%\"
In output_PELNY.txt I have this kind of results:
BACKUP DATABASE successfully processed 645127 pages in 2819.651 seconds (**1.787 MB/sec**).
or
BACKUP DATABASE successfully processed 26338 pages in 227.348 seconds (**0.905 MB/sec**).
Main DB is on one Disc, backup is on second disk.
When I use Explorer to copy files between these two disks, I get a transfer speed of approximately 100 MB/s.
QUESTION:
Why is the backup speed so slow - I mean less than 3MB/s?
REMARKS:
Windows 2012 Essential + SQL Server 2008 R2 EXPRESS
Intel XEON E3-1270 v3 + 16GB RAM
To solve your problem, please refer to the following links:
Options to Improve SQL Server Backup Performance
Is your SQL Server backup running slow? Here’s how you can speed it up
Super-Fast Backup and Restore Throughput for SQL Server
MS SQL Server backup optimization
How to Make SQL Server Backups Go Faster
Below are some sample queries for download
To solve the problem, I suggest that the following part of the query:
backup database DBNAME to disk='C:\1\DBNAME.bak' with buffercount=16 ,maxtransfersize=4194304
SQL Server 2008 R2 Express has the following limitations:
Constrained to a single CPU (this limitation was raised in 2012 to "The lesser of one socket or four cores", so multi-threading is possible)
1GB RAM
10GB database size (per database)
So your backup is likely to be CPU bound and/or memory bound.
(Of course, it raises the obvious question: Why are you using an express version on your server? and why not a later SQL Server version?)
Ref.: SQL Server 2008 R2 Express Database Size Limit Increased to 10GB:
What about CPU and memory limits? Are any other limits changed in SQL
Server 2008 R2 Express?
No, the database size limit is the only limit we updated in SQL Server 2008 R2 Express. SQL Server 2008 R2 Express is still limited
to 1 CPU and 1 GB of RAM.

Build Window Server 2012 R2 to host MS SQL Server 2015 capacity 200GB

I am not a network or server person and building window server 2012 R2 or whatever version to host MS SQL Server 2015/2016 is new to me. I don't even know where to start or how to begin but would like to learn and get into it.
Could someone point me in the right direction or provide some guildline on how I can approach this ? Also I was curious what does the R2 in window Server 2012 R2 mean or stand for ?
I saw window Server 2012 R2 and they go from as low as 45 bucks to as much as I guess couple of hundreds or thousands of dollars. Why is all these price range ?
Can I just buy a desktop computer and with my IP address do this from scratch, or what do I need ?
My goal is to host sql Server 2015/2016 on a Server so it can be access by many people or application or remote access.
Did it say 2012 R2? Usually that means a release number. But SQL Server 2015/16 will install just fine on Windows 2012. Please make sure that your machine (if its going to be used in production environment) is backed up on a very regular basis and has some form of RAID 5 or RAID 10.
SQL Server pricing is dependent on several factors including the edition of SQL Server (Enterprise,Standard) and the number of cores (CPUs) in the host machine. For an exact price you want to contact Microsoft but here is a list to get you started:
https://www.microsoft.com/en-us/sql-server/sql-server-2016-pricing
Here is a list of things you should do as you install SQL Server:
https://www.sqlshack.com/best-practices-after-installing-microsoft-sql-server/
If you want to restore the database to a specific point in time you should learn how to do log backups but at a minimum learn to set up a backup job. Many users do an incremental backup every night and a full backup every weekend but your needs will determine the backup schedule.
SQL Server is a very powerful and useful product. You should work through a book on SQL Server administration - Micrsoft SQL Server 2012 Management and Administration by Mistry is one of many wonderful books you can use.

Moving data between TSQL servers without backup or BCP

I have a very large database with near 21 million rows in various tables. It took months to get it filled out, and I've been told that I now have to move it.
The server it is on right now, I have VPN access and can work with the HDD at-will. It runs Microsoft SQL Server 2014.
The server I need to transfer it to is one of those SQL-only servers that do not allow you to VPN or access the HDD in any way. It does have an FTP site that I can upload .bak files to, and then a way through their interface to restore .bak files to a database; however this will not work since the version of Microsoft SQL Server on this server is 2012. It is not backwards compatible.
Since I do not have access to the HDD I have also ruled out using bulk file commands (BCP). I may be able to perform link server operations if I open the right ports, but I am afraid it will take a week to transfer this way.
Does anyone know of any other options I can try here?
Perhaps you can restore the DB locally to your environment as a 2014 DB. Then you can ETL the data (SQL import/export utility, DDL/DML scripts) to a 2012 DB instance. Then back it up natively (2012) and upload the BAK to your provider and restore it. This assumes you're not using functionality in 2014 that is not available in 2012.

Is it possible to restore a SQL Server Standard 2014 backup to Azure SQL?

We currently have a SQL Server Standard 2014 database on one of our servers that is backed up daily to Azure Blob Storage. Those backups are working well and have restored beautifully to the original server in manual tests.
However, to ensure that our backups continue to be valid, I want to put in place some sort of automated restore testing. Due to performance/disk constraints, I'd rather not do this automated testing on our primary database server. But we can't spend the money to buy more SQL Server Standard licenses to set up another server. And we can't use SQL Server Express, because our database is too large (about 20 GB).
Given that our backups are stored in Azure, I thought the best way to test backup restoration would be to restore the backup directly into an Azure SQL database. I could do this roughly once per week, run some quick checks on the restored data, and then automatically delete the database, and pay for less than 1 hour of service/week. This would result in minimal expense. However, I'm not sure it's possible. Google searches for instructions on how to restore a SQL Server backup directly to Azure SQL haven't turned up anything so far. Is it possible for me to restore my SQL Server backups directly to Azure Managed SQL like this?
If it isn't possible, my next thought is that I could just create an SQL Server VM in Azure and activate/deactivate it as needed for my automated restore tests. That'd be a bit more complicated though, so I'm saving that approach for plan B.
Not Directly. You can only directly import a bacpac file into SQL Azure.
What you can do is use SQL Server on an Azure VM to test your backup files.
Pretty sure you can write a script to automatically pull down the latest .bak file and restore it to the SQL Server Instance on the VM.

Log shipping using SQL Server 2000 Standard edition

I have one production database on SQL Server 2000 Standard Edition and would like to upgrade it to SQL Server 2005 Standard edition. How to accomplish this task in case of copying transaction log file from source and restore to destination database and making the destination database online also how can I create database user while the destination database is on NORECOVERY mode?
Any help would be appreciated.
Thanks experts
Apologize for my incomplete question and lack of SQL knowledge
I already backed up and restore the production DB on target server with NORECOVERY mode while the production server operational (still operational) what I want to do is (if applicable) prepare the target server before I cutover. Now I'm migrating DB objects to target server and once all objects are migrated to target server I'll take the database online by restoring the last log backup if log shipping is applicable in SQL2k standard edition.(my upgrade path is side-by-side)
Thanks all in advance
I'm not sure what part log shipping plays in your upgrade.
The steps you should take are:
Install SQL 2005 on a new server.
Take your production system offline.
Perform a backup.
Restore the backup to the new server.
Attach your production system to the new server.
Test..test..test.
After you've moved it over, you might consider changing the compatibility level of the database in the new server to SQL 2005. However, be aware that there are many differences between SQL 2000 and 2005. So review this: http://technet.microsoft.com/en-us/library/ms143232(v=sql.90).aspx to get an idea of what issues you might have.

Resources