Transact SQL :: Script To Set DB Compatibility To Match Version On That Instance?
May 22, 2015
We have an app that supports any version of sql beyond 2008. What we are finding is that users are upgrading to new versions of sql and just restoring their db on the new version of sql and not changing the compatibility level. I would like a script that would change the db's compatibility level to match whatever version of sql that they are using.
ALTER DATABASE db_name
SET COMPATIBILITY_LEVEL = (SELECT TOP 1 compatibility_level
FROM sys.databases
WHERE name = 'master')
I am currently designing an adp front end that links to a Sql Server database.
In terms on front end upgrade prespective i am thinking about a logon routine procedure ( which should be a vba code code that runs at startup) to check wheter the adp front end which is being used is the latest release hence compatible with the database current version.
Create and manage version number at back end level is quiet easy however to set a version number or whatever else information in the adp is somewhat a big hassle as database properties are not available from visual basic when using adp.
Was also thinking about using my xml file which holds my configuration information such as Data source - catalog but that's mean deployment of new front end must be carried out with local xml file change.
Also any manual update of information about version in xml file could allow old front end to run with database.
Please any tips and advises on how to handle this issue highly appreciated.
Our application currently uses SQL Server 2000 as a DB manager and we have over 200 clients which have different versions, either Standard or MSDE. We now wish to start using SQL Server 2005 or 2008 without necessarily forcing existing clients to upgrade. Of course, this would only be possible if SQL Server 2005 is compatible with the code in our application which is "Transact-SQL 2000" (if I can call it that way). Are there any difference between Transact-SQL statements in 2000, 2005 and 2008? If so, where could I find a comparative reference?
I have created a Transactional Replication Publication on my SQL 2012 server.When I log into another server on the domain running 2008R2 and try to subscribe to the 2012 Publication, I get the following error when clicking on "Add SQL Server Subscriber": "The selected Subscriber does not satisfy the minimum version compatibility level of the selected publication"
The 2012 DB is set as 2008 Compatibility Mode?Am I not able to Publish from 2012 to 2008?.I was using SSMS 2008 to connect to my 2012 Instance, thats why it didn't work...
I have a table Customer with column name "SerNo" the value of SerNo column is like below.
Circle Graphics-a48712c1-2769-4964-ab89-4c1fb2949cf3 Circle Graphics-a48712c1-2769-4964-ab89-4c1fb2949cf3 Circle Graphics-a48712c1-2769-4964-ab89-4c1fb2949cf3 Metz-2d9c957d-ca1c-4b27-adf8-39fef552f3f7 Metz-2d9c957d-ca1c-4b27-adf8-39fef552f3f7 Circle Graphics-a48712c1-2769-4964-ab89-4c1fb2949cf3
[code]...
I want to join it with nother table "Order" which has a SerNo column but does not have first part of SerNo.
When I give studentId 10 and class ids = 100, 101, 102, 103 then result should be get row from student table only if all given class ids matched.
Result: Id Student ID ClassId 1 10 100, 101, 102, 103
Case 2: Student Id: 10 class Ids = 100, 101 the no results since all the class ids for student 10 in Student_Class are not matching with the given class Ids parameter.
1 2015 ba1 137 HL EL Eco 2 2015 ba1 138 EL SL HS 3 2015 ba1 139 SL EL His
From this table i use to admit a student and select their choice of group simultaneously all the subjects associated with GROUP is save on another table.
Here is the TABLE 2 Structure and sample data:
table 2 (NAME - tblstudetail)
id studentID session course sub1 sub2 sub3
1 15120001 2015 ba1 EL SL HS 2 15120002 2015 ba1 HL EL Eco 3 15120003 2015 ba1 SL EL His 4 15120004 2015 ba1 HL EL Eco
AND so no..........................
Now i just want to COUNT the Number of Groups Filled in tblStudateil.
Hello all, I'm a bit new to SQL Server and T-SQL (my background is in DB2), so hoping you can help me with this. I'm writing a T-SQL script that's hopefully going to scan a bunch of SQL server instances and record the results. We've got a mix of SQL2K and SQL2K5 instances, and for part of my script I only want to run something if the remote instance is SQL2K.
I'd tested this on my local PC with several instances created and it worked fine. When I try and run it for instances located on other servers it barfs :eek: . From what I've found from looking up the error message it looks like I've got myself a loopback -- but I don't know how to get around it - any ideas please?
INSERT INTO @tempdata (scratch) EXEC ('[' + @server + '].master.dbo.sp_executesql N''SELECT SERVERPROPERTY(''''ProductVersion'''')''') SELECT @version = convert(varchar(100),scratch) from @tempdata DELETE FROM @tempdata IF @debug>0 BEGIN PRINT @server + ' is running SQL Server version: ' + @VERSION END IF charindex('8.00',@version) > 0 BEGIN PRINT 'SQL2K-only code goes here' END
The error I get is: OLE DB provider "SQLNCLI" for linked server "SQLSERVER_INSTANCE" returned message "The transaction manager has disabled its support for remote/network transactions.". Msg 7391, Level 16, State 2, Line 1 The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "SQLSERVER_INSTANCE" was unable to begin a distributed transaction.
I get this error running from a SQL2K5 instance against both SQL2K or SQL2K5
I have a database that has entries that I want sorted by date order. Each entry has an auto ID number allocated (primary key auto sequencing), which I want to change to reflect the sorting (so the first date has the first auto ID number and so on).I've gone into the database and sorted the entries as I want them. Then I've gone into Design View to delete and restablish the primary key autosequence. However, it is not keeping the date order in the database (ie entry ID 3140 date is 12/06/2015, but 3141 is 02/02/2012). How do I get it to maintain the order?
Table2 has three columns (i.e. Date, Count and Rule Type). Column “Rule Type “has a default value which is “XYZ”..Now I want to insert Data from Table1 to Table2. I am using following query:-
Column name or number of supplied values does not match table definition.I am using SQL 2012. I understand Table1 has 2 Columns but Table2 has 3 Columns. Is there anyway, I can move data from source table to Destination table where Destination Table has more number of Columns?
We have an archive table which keeps each instance of a sales order that was archived under a "Verion No" field. Each time the sales order is archived it is entered into the archive tables (Sales Header Archive, Sales Line Archive). What I am trying to do is write a query to return all sales orders but only the most recent archived version.
For example this table layout is similar to what I am working with. Version No, Order No and Customer No. are the keys between the Header and Line tables, Customer Name column in the output is from only the Sales Header Archive table
SALES LINE ARCHIVE TABLE Version No - Order No. - Customer No -----> (other columns) 1 s-5 1000
RESULTS OF JOINED TABLES Version No - Order No - Customer No - Customer Name ---> (other columns) 2 s-5 1000 Something, Inc. 1 s-6 2000 Acme 3 s-7 3000 Company, LLC 1 s-8 4000 Blah & Associates 2 s-9 2000 Acme
It should return the last Version No of each Sales order.
Does that make sense? It is something probably easy... But, I've spent two days using multiples and multiples of different ways, that just aren't working: I'm about to dropkick my server cabinet...
If I just use a simple select statement, I find that I have 8286 records within a specified date range.
If I use the select statement to pull records that were created from 5pm and later and then add it to another select statement with records created before 5pm, I get a different count: 7521 + 756 = 8277
Is there something I am doing incorrectly in the following sql?
DECLARE @startdate date = '03-06-2015' DECLARE @enddate date = '10-31-2015' DECLARE @afterTime time = '17:00' SELECT General_Count = (SELECT COUNT(*) as General FROM Unidata.CrumsTicket ct
hello we want to evaluate TS foundation server but it says it won't support developer edition sql, only sql2k5 stanard. But now we have DEVELOPER version on our development sql server, DEVDATA1, i.e. instances DEVDATA1DEV, and DEVDATA1QA are both installed on the same sql server box with both SP1 applied.
How can we update DEVDATA1QA to Standard version while still have SP1 applied? we just install Standard CD and then apply SP1 again?
Because this instance is our QA version, before we do something silly, if any of you did that before, any advice would be really helpful.
I have a table in different databases with the same name. My goal is to compare the two tables, and insert a record into the second table where there is not a match in the first table. So far, my query looks like the following:
SELECT [metal] FROM [ProductionDatabase].[dbo].[Metalurgy] EXCEPT SELECT [metal] FROM [TestDatabase].[dbo].[Metalurgy]
This gives me a list of records from [Production].[dbo].[Metalurgy] which do not reside in [TestDatabase].[dbo].[Metalurgy]. Now, I need to use that list to insert missing records into [TestDatabase].[dbo].[Metalurgy]. How can I modify the above code to INSERT the missing records?
I need to transfer the logins and passwords from my prod server to my DR server. I've seen a number of articles about how to transfer logins; but, I'm not finding anything on how to transfer both logins and their passwords. SQL server R2008 R2
Having problems running the BPA for 2012. We setup using a clustered environment, SQL Server installed using default instance, and a static port not 1433. When I try to run the BPA using the instance name it says it doesn't exist, and won't let me add a port number. However, if I use MSSQLSERVER as the instance name it runs with no port specified and returns results. I assume that it doesn't require a port because the default instance would pull from the Browser Service and the using MSSQLSERVER is the same as running the default on a standalone server. Are those assumptions correct?
I want to get all databases with it's owner Name ,I think I need to join following script result with sys.databases or sys.sysdatabases.I want a result set like this:
DatabaseName db_Owner
master sa pubs valia pubs eli pubs maryam AdentureWork eli
this script get all owners of the database that is in use:
I usually go for the largest datafile and then query in-there...But now I need to automate it for several instances... I need to be able with one script quickly retrieve the top 5 largest tables for the entire instance,not by database...
Is there any way to restore a database of higher version to lower version.
E.g. I have created a database in sql server 2012, created some tables & procedures in that.I took Full backup of that database. Can I restore it to sql 2008r2 or any lower version.
I know direct restore is not possible, I have to use either import or export option or generating script,but i want to know is there any easy step to do so.
Since some analysis services features are only available in Enterprise version , I have to upgrade my SQL 2005 server from standard edition to enterpise edition.
So I uninstall originial standard version of analysis service and install a Enterprise version. However, the analysis service is still a standard version after installation.
Is it possible to keep data engine as standard version and install a enterprise version of analysis service?
Hello,I have been searching and reading a lots of information on the microsoft website about the different version of SQL server, but still can not make my decision.In term of performance, is there a real big difference between the workgroup and the standard version? The workgroup is limited to 3 GB of RAM while the standard is unlimited, would that really change the performance if my server has 16Gb or RAM?The price difference is pretty substantial so if could only have to buy the workgroup , it would be better.One more question, regarding the type of licence, my server has 2 processors, could I avoid buying 2 licences and get the Server plus CAL instead. I am using this server to host 4 web-application running on SQL server. Each database is about 15 MB.Thanks in adavance for your advises.Arno
I am wondering if it is possible to change from SQL Server Enterprise Evaluation Version to Developer Version. The reason is because the Enterprise Evaluation version expires after 180 days. So if I create reports and cubes in Enterprise Evaluation I can import them into Developer Edition right? Should I remove the Enterprise Evaluation version after 180 days or leave it then install Developer Edition?
I have tried to attatch a database ,created by SQL server Express within a C# application , in SQL server 2005 Enterprise edition, but the following error message appears:
-----------------------------
TITLE: Microsoft SQL Server Management Studio ------------------------------
Attach database failed for Server 'MEDO'. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft SQL Server&ProdVer=9.00.1187.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach database+Server&LinkId=20476
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
The database 'E:X.MDF' cannot be opened because it is version 611. This server supports version 607 and earlier. A downgrade path is not supported. Could not open new database 'E:X.MDF'. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 948)
------------------------------
so , how can I solve this problem , I need to reed the data resides in the tables of 'X' database , how can I do it?? please help me.
I have an ssis package that downloads a SQL Server 2000 database and restores it to a SQL 2005 server. Ninety-five percent of the time it runs just fine, but every so often the job fails and I get the following set of error messages in the log file. (I have had to delete some of the proprietary information for this message to satisfy my boss like putting in [Database name] in place of the actual name of the database in the error message).
OnError, Restore backup file to DB,,,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,Converting database [Database name] from version 539 to the current version 611. OnError,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,Converting database [Database name] from version 539 to the current version 611. OnError,Restore backup file to DB,,,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,Database [Database name] running the upgrade step from version 539 to version 551. OnError,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,Database [Database name] running the upgrade step from version 539 to version 551. OnError,Restore backup file to DB,,,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,The transaction log for database [Database name] is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases OnError,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,The transaction log for database [Database name] is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases OnError,SQL5,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,RESTORE could not start database [Database name]. OnError,SQL5,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,RESTORE could not start database [Database name]. OnError,SQL5,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,-1073548784,0x,Executing the query "RESTORE DATABASE [Database name] FROM DISK = '[Path to back up file]' WITH REPLACE, MOVE 'ASP_Live_Data' TO [Path to MDF file], MOVE 'ASP_Live_Log' TO [Path to LDF file]" failed with the following error: "RESTORE DATABASE is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. OnError,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,-1073548784,0x,Executing the query "RESTORE DATABASE [Database name] FROM DISK = '[Path to backup file]' WITH REPLACE, MOVE 'ASP_Live_Data' TO [Path to MDF file]', MOVE 'ASP_Live_Log' TO [Path to LDF file]" failed with the following error: "RESTORE DATABASE is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. OnTaskFailed,Restore backup file to DB,,,1/6/2008 2:59:31 AM,1/6/2008 2:59:31 AM,0,0x,(null)
I have received the error message "Package migration from version 8 to version 6 failed".I have developed a SSIS package with Visual Studio 2013 which gives me PackageFormatVersion of 8. I then deploy my package to the ssisdb catalog that is running on a SQL Server 2012, this works fine but when I try to execute the package the error arises…due to SQL Server 2012 has a PackageFormatVersion of 6 and it can’t run something that has a greater version.I haven’t seen any good solution for this but one that would work for me would be to upgrade the Integration Services Server from 2012 to 2014, leaving everything else in 2012 (database, ssms, ssas, ssrs).Would this solve the package format problem? Would I then be able to execute my packages in the ssisdb catalog?
Now, I checked and verified that my backup version of SQL Server is the same as the version installed on the computer I'm restoring too.
I have SQL Server on a production machine that I backed up and want to test a full restore on a dev machine to make sure it will work when I need it to.
Now that I've run the restore command on my tape backup and go to restart the SQL server service I receive:
Configuration block version 0 is not a valid version number. SQL Server is exiting. Restore the master database or reinstall.
I'm afraid I don't understand why this is happening. If the builds are the same, then shouldn't restoring the MASTER database have worked normally and I'd be able to restart the service now?
I have the trial version of SQL Server 2005 installed and have setup a couple of databases. This trial version will expire in another few weeks. I recently purchased a copy of the software and want to install it. Will I lose my databases, user info, etc? How do I go about installing without losing anything?