MS SQL Server organization and memory - sql

I have a MS SQL server that I've start working with and I think I have an idea on the organization of MS SQL Server but I'm not absolutely sure of that idea's correctness. In relation to this idea, I have a question about a memory setting that might be an issue if my assumptions are correct.
My assumptions:
I know you can have multiple SQL servers on a Host server and that they are connected to by SSMS as separate connections.
You can have multiple Databases under the given server.
The host server has 24GB of RAM. From what I can tell, there is only one MS SQL server running. Under this SQL Server there are several databases.
While digging around in the settings I found a setting that set the "Maximum server memory (in MB)" to 8192MB.
Based on my assumptions that the databases are not separate "servers", would
it be correct to say that all of those databases are sharing the 8192MB of RAM?

Based on my assumptions that the databases are not separate "servers", would it be correct to say that all of those databases are sharing the 8192MB of RAM?
That's Right..
You are assigning memory to an instance of sqlserver(multiple instances can coexist in same box) and databases share memory available to them

Related

SQL Server Resource Governor on Single Database

I have a database for a piece of proprietary software that resides on a SQL Server 2005 instance shared with some databases for C# apps I developed. I'm having an issue with some of the proprietary software's stored procedures eating up resources. Is there a way for me to limit the CPU usage of a particular database? I've advocated moving the DBs to a different server / instance, but I need a solution that can hold me off until then.
You can use resource governor and have a function on it which guide system to a workload with database name , and then limit cpu and memory.

SQL. Using multiple db schemas to reduce cost?

Is it a good idea to use different schemas inside one large database instead different db instances to reduce cost?
The schema would be absolutely the same, just different names.
For example I have one db for test environment, one for beta and for production etc. Can I collapse all these dbs into one large with different schema names without any issues in future?
Does this approach has some pitfalls?
Best practice recommendations is definitely to separate dev/test from production. You don't want your developers or testers running some test case where a rogue query brings the entire server to its knees.
But for the dev and test/qa environments you could use the same server but separate instances (SQL server installations on same physical hardware).
You might even be able to get by with SQL Server Express for dev and test/qa environments, which is a free version. SQL Server Express 2012 allows for 10 GB database size now I think.

replication between SQL Server and MySQL server

I want to setup replication between SQL Server and MySQL, in which SQL Server is the primary database server and MySQL is the slave server (on linux).
Is there a way to setup such scenario? Help me .
My answer might be coming too late, but still for future reference ...
You can use one of the heterogeneous replication solutions like SymmetricDS: http://www.symmetricds.org/. It can replicate data between any SQL database to any SQL database, altough the overhead is higher than using a native replication solution.
of course you can replicate MSSQL database to MYSQL
By using Linked Server in MSSQL.
for that you need to download ODBC drivers. and you can further search regarding how to create Linked server on SQL SERVER.
This option is very easy and Totally free. You can use OPEN QUERY FOR THIS.
By using SSIS Packages.
for that you need the Business Intelligence service of SQL SERVER. you can create SSIS Packages on Visual Studio and run them for replication.
No. At least not without doing a lot of dirty, bad things. MSSQL and MySQL speak different replication protocols, so you won't be able to set it up natively (which is the way you'd want to handle it). At best, you could hack together some sort of proxy that forwards insert/update/delete/create/alter, etc. queries from one to the other. This is a terrible idea as they don't speak the same SQL except in the most common case. Even database dumps which wouldn't really be replication are generally incompatible between vendors.
Don't do it. If you must use different OSes on your servers, standardize the database to something that runs on both.
These two databases are from two different vendors. While I cannot say for sure, it is unlikely Microsoft has any interest in allowing replication to a different vendor's database server.
I work with Informix and MySQL. Both those databases have commands that dump the entire database to an ascii file format. You would need to see how that is done on MS SQL Server; ftp the dump to the server hosting the MySQL server; and then convert the dump into something MySQL can import.

SQL Server 2005 - Priority Queries

Is there any way to give a particular SQL login higher priority for running queries? We have one server, that has multiple databases, unfortunately one of the databases occasionally runs very intensive queries (which aren't too time dependant), and it slows down the rest of the databases on the server.
I'd like to be able to tell the server to run queries from a particular login on a higher priority to avoid slow down for other systems.
I understand that typically there would be issues with locking - however in this case, there is one database table that all the databases reference (user information) that is read only - so there wouldn't be any of these issues.
We can't separate out the databases, and we can't add more servers - any ideas?
Thanks
The only way to handle resources in SL 2005 is to create seperate instances, however this only hides memory/cpu from the other instances, it doesnt allow under utilized instances to share its memory/cpu with busy instances.
In SQL Server 2008, they have added the Resource Governor which can prioritise the CPU and Memory based on users or databases (http://msdn.microsoft.com/en-us/library/bb933866.aspx).
Thanks,
Matt

SQL Server VPN Replication

I have a requirement to use Sql replication from a sql server 2005 instance to a Sql 2000 instance over a vpn. The vpn is permanent between the 2 sites and there are only a few tables that need replicated. Can anyone give me any advantages/disadvantages of replication over vpn or any issues with replication between SQL 2005 and Sql 2000.
Thanks
Well,
I think as long as the amount of data is not that much and speed is not a k.o. criteria,
this will work from the networking point of view. I have several applications communicating
via VPN which basically works smoothly, but of course latency is notably higher compared to
nonVPN communication.
HTH