Can I backup Serverless SQL pool Database? - serverless

Synapse Analytics serverless SQL pool endpoint can have multiple databases. Serverless SQL pool has no local storage; only metadata objects are stored in databases.
Question:
Can I backup these databases manually? I don't see anything in the portal, maybe through Powershell or Azure-CLI?
Is there any automated backup or restore point taken?
Is my only option to keep all the metadata in source control (which I should keep anyway) and deploy from there in case of a disaster?

Currently, it is not possible to backup Serverless SQL Pool databases. Please, file feature proposal on Azure Feedback.
Also, check this blog, where you can see how you can use PowerShell DbaTools to script Synapse SQL objects which may help you.

Related

Stored procedure properties page missing in SSMS when connected to an Azure SQL database

I am connecting to on premises SQL Server and an Azure SQL database that is in a pool. Both from same SSMS instance.
When I right click on a stored procedure in any database on the on-premise server, I see the properties option and can add/modify permissions. But the Azure SQL connection does not show the properties option for stored procedures so I must GRANT in T-SQL.
There is a lot of info in the properties general as well as permission I'd like to have the SSMS access to see easily. Is there a setting in Azure SQL that enables / disables properties?
Thanks for any help!
Azure SQL database doesn't support the all the properties settings in SSMS.
For example, SSMS supports Azure SQL database properties settings:
But as you found that it doesn't support Stored Procedure properties setting.
Is there a setting in Azure SQL that enables / disables properties?
No, there isn't such settings in Portal or SSMS. No matter which account(admin or db_owner) you login to the Azure SQL database.
The only way is you grant it in T_SQL.
Hope this helps.
This isn't an Azure SQL Database issue, but a database permissions issue.
Are you connecting in the same way - i.e. both using a SQL login?
You will need to ensure that you grant the same permissions for the user on both databases, one way might be to script out the permissions from the on-premises database and run the query on the Azure one. You should still ensure that you do this at the lowest level possible so that you don't grant excessive permissions. I suggest at the schema level
The permission that you need at the minimum level is:
GRANT VIEW DEFINITION ON SCHEMA::<my schema name> TO <my user>

about change the location of TFS 2017 Databases

i attempt to backup and restore tfs database to a auther server
Any idea about risk ?
and How i can manage TFS Server to change the new location of TFS database ?
You could move Azure DevOps Server/TFS from one machine to another by restoring it to new hardware (called a restoration-based move).
When you move to a new server you do not lose any of your project history.
One risk
In some situations you might want to change the domain of a Azure
DevOps Server deployment as well as its hardware. Changing the domain
is an environment-based move, and you should never combine the two
move types. First complete the hardware move, and then change the
environment.
Besides, another place need to pay attention to. You must have a complete set of data backups for the SQL Server databases. If the data was encrypted, you must also have the encryption key and its password.
For more information, see Back up Azure DevOps Server
You must back up the TFS_Warehouse and TFS_Analysis databases if your deployment is configured to use SQL Server Reporting Services and you want to restore those databases to a different server. You cannot just rebuild the warehouse, as you can when you restore to the same server or instance.
Once the backup completes, verify that the backup is available on the storage device or network share, and that you can access this backup from the new hardware.
Actually, we do have a detail step-by-step official tutorial, you could kindly refer and follow it-- Move or clone from one hardware to another for Azure DevOps on-premises

TFS database project for both Azure SQL database and on premises with multiple filegroups

I am working on a project to replicate an application that currently runs on premises to an Azure SQL Database. For the foreseeable future, the application will have to run both on site and on Azure. The project is stored in TFS, and multiple filegroups are specified. Development is ongoing. Is there a way I can maintain this as one project in source control, given that Azure SQL databases only have a primary filegroup? I feel like I can't be the first person in this situation, but I haven't found a decent solution yet.
I'm fine with the Azure database only running on primary, but that is not an option for the local database. This is not for a single deployment, I would like to continue to deploy changes both locally and to Azure from source control. I may be asking for too much here, I just really really want to avoid dual maintenance, when there are a number of teams involved.
Thank you!
You have two options:
Add manual SQL Statements to setup Filegroups on your on-premises SQL Server that don't run against SQL Azure
Use a new feature of Azure named SQL Managed Instances. This is fully managed SQL Server instance running in Azure that supports all features of SQL Server such as filegroups. Don't go installing your own SQL Server on IaaS. That's not necessary anymore with this new feature.
There is no way to use multiple filegroups in Azure SQL Database. If you want to move your database to the cloud and keep the ability to use multiple filegroups, please consider setting an Azure VM with SQL Server on it. Another option would be to change your application so that it does not use SQL filegroups.
As for the replication, please consider SQL Server replication or Azure Data Sync. Azure Data Sync requires an Azure SQL database. It is slower than SQL Server replication but it can handle conflicts.

iOS (Swift) project needs to read an Azure SQL database

I am creating an iOS project that needs to read a SQL database in Azure. I have the database Server location, port, username, and password. I don't need to write to the database, just read it. I am more familiar with Firebase or Parse and have never used Azure. How do I even go about starting this? I tried the sample project that Azure makes for you but I don't have any tables? Do I need this? Any help would be welcome.
Azure Mobile App Service can connect with your existing SQL database
this thread explains the process where you use the existing SQL database. With this option Azure manages most of the inner workings for you.
If you want to build the Rest API from "scratch" using your existing SQL database You have some more options:
Azure API Management allows you to publish API's securely and at scale, A server less Azure Function like the example in this article Rest API with Azure Functions and Azure SQL Database or build a rest API using an Azure Logic App which doesn't require you to write code. You could also use Nodejs or many other tools you just need to evaluate what would work best for your use case.

Elmah, what is the most efficient persistent mechanism for errors?

I have an asp.net MVC application in Azure web apps which connects to SQL Azure.
Currently I store Elmah errors in App_data. These can build up. Also I feel writing these files is inefficient. In addition when you download the "Next 50" errors, there can be a hit on the server.
How can I improve my persistence strategy? I suspect it may be to use a database. Would this be a seperate database to the application database or the same one?
I am also testing Application Insights. At present I suspect that Elmah has a role alongside Application Insights, but I might be wrong.
Thanks.
As mentioned in the previous answer you can store the log files in a sql azure database . or you can go with a cheaper option of azure table storage which is a no-sql based data store. There is a provider available for the same.
https://github.com/MisinformedDNA/Elmah.AzureTableStorage
https://www.nuget.org/packages/WindowsAzure.ELMAH.Tables/
or if you looking more at a data dump of your logs say in xml format and does not really need a queryable format you can opt for a much cheaper azure blob storage .
https://github.com/dampee/Blob-Elmah
An Elmah database can be used in a separate Azure DB to not consume your "Business" database DTUs and by the way never affect it's performance if you want to log a lot of things.
On the one hand Elmah can take care of "Functionnal" logs, on the other and application Insight can do telemery and monitoring logs, besides you can enable server and applications logs in the Azure Portal to get automatic logs in a storage account, here is an overview of those server and application logs.

Resources