sql stored procedure for data feed - sql

I have a question on SQL DB running on Azure.
Can I have a timed procedure in Azure SQL that selects a value from a field in a .csv file and appends it to a table? I ask because I found this article that says Azure lacks the SQL Agent to facilitate this: https://www.cotega.com/docs/sql_azure_scheduled_job
I should just try it I know but I have not attempted to do this before and wanted to seek advice before taking a shot at it.
Thanks in advance

Azure Automation provides a great cloud-based alternative to SQL Agent. Please see Azure Automation: Your SQL Agent in the Cloud and Truncate table in SQL DB if DB is approaching max size.

Related

Where Azure SQL Database logs for failed Data Manipulation SQL queries?

I can find tools in Azure to monitor and get logs on the performance of the Azure SQL database. However, what tools are available in the Azure portal to see logs of failed SQL data manipulation queries of the database? - e.g. update, delete, insert queries?
Thank you
In case someone need this to I got an answer elsewhere with Extended Events though didn't yet try https://techcommunity.microsoft.com/t5/azure-database-support-blog/extended-events-capture-step-by-step-walkthrough/ba-p/369013

How do we check how often someone is running queries in Azure SQL?

We have to collect some information. How do we check how often someone is running queries in Azure SQL?
Use extended events to trace all the queries running on your Azure SQL database. Also, you can save the output in a file and can query from clients tools like SSMS.
You can also use auditing provided by Azure SQL. Please check below link for details:
https://learn.microsoft.com/en-us/azure/azure-sql/database/auditing-overview#:~:text=Go%20to%20the%20Azure%20portal,modify%20the%20server%20auditing%20settings.

How to run a T-SQL query daily on an Azure database

I am trying to migrate a database from a sql server into Azure. This database have 2 rather simple TSQL script that inserts data. Since the SQL Agent does not exist on Azure, I am trying to find an alternative.
I see the Automation thing, but it seems really complex for something as simple as running SQL scripts. Is there any better or at least easier way to do this ?
I was under the impression that there was a scheduller for that for I can't find it.
Thanks
There are several ways to run a scheduled Task/job on the azure sql database for your use case -
If you are comfortable using the existing on-premise sql sever agent you can connect to your azure sql db(using linked servers) and execute jobs the same way we used to on on-premise sql server.
Use Automation Account/Runbooks to create sql jobs. If you see marketplace you can find several examples on azure sql db(backup,restore,indexing jobs..). I guess you already tried it and does not seem a feasible solution to you.
Another not very famous way could be to use the webjobs(under app service web app) to schedule tasks(can use powershell scripts here). The disadvantage of this is you cannot change anything once you create a webjob
As #jayendran suggested Azure functions is definitely an option to achieve this use case.
If some how out of these if you do not have options to work with the sql directly , there is also "Scheduler Job Collection" available in azure to schedule invocation of HTTP endpoints, and the sql operation could be abstracted/implemented in that endpoint. This would be only useful for less heavy sql operations else if the operation takes longer chances are it might time out.
You can use Azure Functions to Run the T-SQL Queries for Schedule use Timely Trigger.
You can use Microsoft Flow (https://flow.microsoft.com) in order to create a programmed flow with an SQL Server connector. Then in the connector you set the SQL Azure server, database name, username and password.
SQL Server connector
There are many options but the ones that you can use to run a T-SQL query daily are these:
SQL Connector options
Execute a SQL Query
Execute stored procedure
You can also edit your connection info in Data --> Connections menu.

Does Microsoft Sql Server 2012 Data Quality Services support Oracle?

Does anyone know if Data Quality Services in Sql Server 2012 can be used against Oracle databases to improve their quality? I've had a look around the Sql Server site and can't determine if it can or not.
Thanks,
Steve.
There are two ways to use Data Quality Services over Oracle DBs.
Via the DQS SSIS cleansing component - you can use this as part of an SSIS flow that retrieves the data from the Oracle DB, cleans it within the SSIS flow using the DQS component, and then sends it back to the Oracle DB.
Via the use of the Linked Server functionality of SQL Server. See http://social.technet.microsoft.com/wiki/contents/articles/7540.accessing-your-data-on-remote-servers-for-dqs-operations-by-linking-servers.aspx for more information on how to do this.

SQL Script for SQL Azure

I'm developing an app that uses SQL Azure. I don't have an account to access Windows Azure and I want to start writing SQL script.
Can I use my SQL Server 2008 to test my SQL Azure script?
I would also recommend a SQL Azure account. However, if you dont have access to one, you can create the DB in SQL 2008, then export a SQL Azure compatable script. Then use that script for testing purposes.
Here is a link: http://blogs.msdn.com/b/cesardelatorre/archive/2010/06/04/importing-exporting-data-to-sql-azure-databases-using-bcp-and-sql-scripts.aspx
One thing you should accomodate for when coding for SQL Azure is a failover or retry policy per this article: http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx#comments
Not really, because certain SQL statements are not supported, or partially supported. So unless you are already very familiar with the differences between SQL Azure and SQL Server the general recommendation is to create your scripts against a SQL Azure database.
Opening an Account is really simple. Remember that when you create a SQL Azure database your charges are pro-rated daily. So if you create a development database of 1GB is size (the minimum) you will pay $9.99 per month (plus a really low transfer cost), or "roughly" 33 cents per day. If you create a 1GB database on a Monday and drop it the following Wednesday, you will pay roughly a buck. There are no charges for the master database.
I would agree with Herve. It would likely be best if you actually use SQL Azure as there are some differences between SQL Sever and SQL Azure. You can get a free 30 day account (with no credit card) using the following:
Use this link: http://www.windowsazurepass.com/?campid=9FE3DB53-E4F0-DF11-B2EA-001F29C6FB82
Use this passcode: promo code = DPEWE01
What you want to do is actually the right way, you can create a database in you local SQL Server 2008 instance, I would recommend using latest community edition for this purpose.
Create database, tables.. work on it, then generate a script to later export to SQL Azure.
Make sure to see documentation for pressing changes or things not to use while doing your job that might not be working on SQL Azure.