Microsoft SQL Server 2016 Enterprise - Cross-Database Transactions - sql-server

I need to know if cross-database transactions are supported or not in Microsoft SQL Server 2016 Enterprise.
The wording on the following article is contradictory:
https://technet.microsoft.com/en-us/library/ms366279.aspx
Cross-database transactions within the same SQL Server instance are
not supported for Always On Availability Groups. This means that no
two databases in a cross-database transaction may be hosted by the
same SQL Server instance. This is true even if those databases are
part of the same Availability Group.
This is then followed by the following statement:
Cross-database transactions are not supported for database mirroring
or for Always On Availability Groups in any version of SQL Server
prior to SQL Server 2016.
Can someone please tell me which it is?
Supported or NOT supported?

Related

Transactional Replication from SQL Server 2008R2 to SQL Server 2017

I wanted to ask about Your experience related to set up a Transactional replication between SQL SERVER 2008R2 (publisher) and SQL SERVER 2017 (subscriber).
I know that this is not supported by Microsoft according to "Transactional & Snapshot Replication compatibility matrix", in the docs.
But I set up this kind of transactional replication (2008R2 -> 2017) on a few databases and it works without any errors. So the question is when or in what kind of situation (maybe some special type of configuration, user-defined data types...), this replication could stop to work or generate errors?
Support for SQL Server 2008 R2 has ended, so everything you do is unsupported.
In this configuration (2008 Publisher/Distributor/Push Subscription) all replication activity is driven from the SQL 2008 R2 instance, and with a SQL 2014 subscriber this was a supported configuration.
So the only thing that would break is if SQL 2017 somehow behaved differently than SQL 2014 did. To minimize the likelihood of issues keep the subscriber in 100 or 120 database compatibility level. 130 compatibility level introduced some breaking changes.

Database Mirroring in SQL Server

I'm not a DBA but I hear that database mirroring is deprecated or about to be, I'm using SQL 2014, in my company they are using database mirroring, which is exactly the new version? it is something we can implement on SQL Server 2014 or we need to have a newer version installed? I want to convince people that database mirroring should be replaced.
AlwaysOn Availability Groups (AGs) are the replacement for Database Mirroring. You can stay on Mirroring on SQL 2014 if it works for you, but when you upgrade you should plan on migrating to AGs. If you're on Standard Edition, you can use Basic Availability Groups which have the same capabilities as Database Mirroring on Standard Edition.

Access SQL Server 2014 from Oracle database 12c

How can I access or connect to Sql Server 2014 Enterprise from Oracle 12c Enterprise.
I want to connect so that I can run DML queries on SQL Server 2014 tables, EXECUTE procedures and so on.
Going from Oracle to SQL Server is called a "Database Link"
Going from SQL Server to Oracle uses a "Linked Server".
Somebody has explained it over at Stack Exchange.
https://dba.stackexchange.com/questions/15708/how-to-create-oracle-linked-server-in-oracle-server-itself
You can refer to Oracle's Heterogeneous Connectivity documentation. There's a guide for each of several different remote data sources. You'll want to focus on the ones for ODBC or SQL Server. If I remember correctly the Heterogeneous database gateway for ODBC is included with standard database licensing, but Heterogeneous database gateway for SQL Server requires additional licensing.

Microsoft SQL Server 2008 Express transactions

Does Microsoft SQL Server 2008 Express support transactions?
According to the page http://msdn.microsoft.com/en-us/library/cc645993(v=sql.100).aspx subscribers only. But what does that mean?
I would like to start an transaction from an C# application.
Yes, it does. SQL Server and SQL Server Express Edition are essentially identical apart from some restrictions in the latter (e.g. maximum size of a database) - all the basic RDBMS features work exactly the same.
Transactional replication has very little to do with the transactions you mean.
That's "transactional replication", not SQL transactions. Transactional replication is a method replicating databases across servers.
Yes, SQL Server Express supports transactions.

SQL Server 2005 and 2008 in conjunction

Is it recommended to use two versions of SQL Server (2005 and 2008) for storing data of an application. We have a situation where we have an existing web application consuming SQL server 2005 as a database. Some enhancements in the application required us to solution a FILESTREAM data store. Now we have our data in SQL Server 2005 and associated FILESTREAM data in SQL Server 2008. Being very new to SQL Server I would like to ascertain how bad is this in terms of performance? How can we achieve atomicity across both the database versions, is it via using a linked server or some other mechanism? Any alternative solutions would be fine except that we just cannot migrate the existing application to SQL Server 2008.
To keep your transactions ACID, you can use distributed transactions at a stored procedure level, or from a code level using DTC (e.g. via a .net TransactionScope). DTC would need to be present on both SQL Servers, and on your App Server as well if you do the ACID from there. There is some overhead with DTC
Edit : You will also need to link the servers with sp_addlinkedserver and provide credentials with sp_addlinkedsrvlogin

Resources