Tracking Changes To A SQL Server Database During Development
Apr 24, 2008
I am running both SQL Server 2000 and SQL Server 2005.
Lets say I have a live database that is version 1 for an application. The database is copied onto a development machine to develop version 2 of the application. I want to be able to take a snapshot of the database and then get a program to write all the changes made after the snapshot into sql code. This is so I can run this sql code on the live database and transform version 1 to version 2.
Is there any program/tool that will allow me to do this?
Hi,I am trying to create a development database server (make use of an old machine), with which to learn about sql 2005 and oracle etc. I'm using VS 2005 Beta 2 on my development/workstation machine.My workstation and the prospective server are connected via a router and can 'see' each other.I have installed win 2003 server on two seperate partitions (multiple boot) and installed sql server 2005 on one partition and will install oracle 10g on the other. (I understand these two databases can run on the same machine/OS, but I just wanted to keep things tidy and I won't be using them at the same time, so ...).My question is how do I/should I configure win 2003 server / sql server 2005 on my server machine, in order to be able to connect from my workstation via vs 2005 beta 2 ?Any suggestions or resources on configuration appreciated.
We are using SQL Server 2012 for both production and development server. Currently, i have plan to transfer the full backup of SQL server database to the development server and then restore it on the development server for testing purpose, so we don't want to disturb on the production.
I have successfully backup the database from the production server and transfer to the development server. however, i encounter some difficulties when trying to do restore. my question is:
1. do i need to firstly create an empty database on the development server and then restore it into this empty database? say i create database call "Test2", then i perform a restore into this database.
2. currently, there is already an existing database being restored previously in the development server and this database is actually the older version of the backup that being restored by the previous engineer. should i remove this database first and restore a new one or both of the database can coexist as long as we put different name for the database?
Hi all! I know I might sound stupid, but I have this problem. I have developed my database on my laptop which does not use Active directory. Lets say I access the database with: SPIDERMANDB1 on SQL server, where the name of my laptop is SPIDERMAN, and the database is DB1. Now, I create an SQL script from sql server and make the necessary changes, like changing the computer name to say, SUPERMAN where my deployment server's name is SUPERMAN. But when I run the SQL script on the SUPERMAN server, it gives me an error like: "User or role SUPERMANDB1 does not exist in this database". I have deployed databases in this way on servers without Acive directory, so I'm sure its not a mistake on my side. So how am I supposed to go around this active directory thingi! Please help me out! I'm counting on u guys!
Here is the situation. I have an employee who is making changes but I can't prove it. He thinks he knows more than he does and he's mess'n everything up. I would like to know if SQL or some third party product has the capability to see the change and log what was changed with the persons username attached?
I am trying to find a way to calculate everyday my DB Growth, I did find a script on some site but it seems to give me the same information as the taskpad wich is not very specific. Basicaly i would like to know the size of a table in MB or in whatevever conversion possible, so that i will be able to do some forcasting.
Does anyone know of software that tracks changes to a database? Forexample, it would track anytime an SP or view was recompiled, or ifyou added or deleted a column to a database?
The web hotel I am using have MS SQL server installed. I do not have it on my local development PC.
How do I develop and test a website, locally, using MS SQL DB, without having MS SQL sever. Is there any light MS SQL sever I can use with a good user interface, and then just upload the DB to MS SQL server?
I have a production database with a backup job that creates files with thenaming convention dbname_db_200503291800.bak. I want to schedule a restorejob that will retire yesterdays backup. How can I write my restore statementso that it will specify the backup file with yesterdays date.Thanks
Hi. I have a question that I have been thinking about for some time. Have in mind that I'm somewhat a SQL newbe. I work on a few webapplications that are database driven applications. When we desides to change something in the database, we normaly do the changes on our replicat development database, and after some testing the changes are suppose to be implamented in the live, public database. Now, what is the best way, or recomended way to do this? Today we bo it manualy. But at one time I experimented with the export/import wizard to se if it was possible. What I want to do is change de design of a tabel, without loosing the original data, and without geting the data from the development database into the live database. To export an stored proccedure, I usualy just create a SQL-script for the procedurs in question and the runthe script against the public DB using the Query Analyser. But if I do the same procedure on a table, I loss all the data in the database. Do I make any sense at all? Any tips/idea/best practise on this subject? /Johan Christensson
We're using SQL Server 2000 as back end in our web project. The problem is we've 3 different copies of same database - one each for Development, Test and Production sitting in 2 different machines.
My question is - is there any tool for comparing the objects (tables, stored procedures, etc) ?
I'm neck-deep in trying to normalize all the info I need into separate tables, but I seem to have hit a wall running.
I was curious as to what the "best" way is to develop a database of concert events would be? What I think I've figured so far would be if I created a table called events...that would be 1 row of data per concert event. Each row could then have a 'event_id' as PK, 'date', and a column with the associated 'band_id' from the bands table. Then anytime the date was accessed (assuming a populated row for that date), a list of concerts for that date would show.
I would also like to use the 'event_id' as an access point for my reviews table...where, quite obviously, I would like to be able to have reviews associated with each event from the calendar as well. Does all this seem right? Or is there a better way (i.e. more efficient, smaller database, and/or use less memory)? How, for example (in short, obviously), does a website like Pollstar.com database their events?
I guess my question with regards to this database is also...within my bands table, should I include their tour dates? Or should I put the band_id in my events table?
I was hoping to get a just a little bit of direction so I don't turn some baby missteps into a long-term project down the wrong road. Any help or response is greatly appreciated. Thanks again!
I have been looking for some documentation that would support or rejectmy opinion on Production -vs- Development naming conventions. Ibelieve that each environment should be housed on separate servers withidentical names, access, users, stored procs....... If you eitheragree or disagree with this methodology, I would appreciate your input.TIA,Bill
I am trying to refresh a test database with data from a production database. Both database structures are identical, e.g. constraints, stored procs, PK, etc. I am trying to create a package in SSIS that accomplishes this task and I am having extensive problems. The import export wizard is out of the question because the constaints are not carried over, plus when I try to refresh the data using the import export wizard, it fails on 1 specific table because of a column in that table named "Error code". I think "Error code" is a micrsoft keyword, so it fails on this column. Does anyone know a workaround that I can do to accomplish this simple task, that could be completed in minutes using DTS. I understand that SSIS is not as straight forward as DTS, but this task is something that DBA's do on a regular basis and therefore should not be this difficult.
Has anyone come across a change tracking tool for SQL Server. Specificallythe scenario I want is the following :A Production DB needs some modifications to its content.This tool will copy the DB to a dev environment.The Dev environment will be 2 copies of the DB, 1 as a control set and theother the change DB.The developer makes their changes in the Change DB. They test them out andthen when they decide the changes are ready to pushto production they hitthe "go" button on the tool.The tool calculates the delta between the Control and the Change DB and thenpushes the changes to producitonAny ideasThankss
Can anybody let me know if there are ways to programatically track changes made to a SQL SERVER CE table? I am writing a db monitoring tool on SQL server CE which should track any changes made to the table.(Insert update and delete)
We could have done this using triggers on Sql Server 2005. Since triggers are not supported on SQL Server CE, are there any alternate ways to achieve this functionality?
Hi, I work with a large team developing ASP.NET application that has a large database with over 50 complex stored procedures. It is proving more and more difficult and time consuming to centralise the development and update of the database changes and I was wondering if there were any best practises/tools that could be recommended. I have looked on the web for good articles and haven't found anything difinitive (except that Team Foundation Server is the way forward).. A brief background to the current process is that everyone develops on the same database, and then updates the stored procedure scripts in source safe (manually). Then when we do a new release someone builds a script of all the database updates and runs it. There are issues related to developers updating there stored procedures over other peoples and other concurrency. I am looking to move all the developers to start using local databases so that there work only effects them, but then this brings up problems of keeping all the local databases up to date whenever they get the latest source code. The only way I currently see is to build a database update program, that will run and update to the latest version. Surely this must be a common issue? Anyone have any good ideas/concepts? Also our setup is Visual Studio 2005, SQL Server 2005 and Source Safe 2005. Cheers, Andrew Thomas
best way to track changes for a very pesky table.We pull down a table from an Oracle database (via linked server) into our SQL Server on a daily basis. The data in this table is just truncated and reloaded daily. There is no "history" kept in the oracle database and values are not being "updated" its just dropped and repopulated.
So, I have toyed around with CDC and even creating my own custom auditing method but I can't come up with a reasonable solution that doesn't involve a massive audit table that doesn't provide much useful info.
For example, there are two date fields in the table that my customer wishes to have history tracked for. Every day, this table is truncated and reloaded - however those dates may stay the same for many many many months. If I turn on CDC, I will get tons of audit records for a delete and an insert every day but the values for the two date fields may not have even changed.
The table has tons of fields in it but I only care about the 2 date fields for history purposes.Here is a snippet of the table (I took out all the additional fields in the table and just left the two date fields that need to be tracked):
CREATE TABLE [dbo].[Fake_Name]( [lin] [char](6) NOT NULL, [boip_no] [char](6) NOT NULL, [dt_tc] [varchar](25) NULL,
[Code] .....
method to track changes to this table with it being truncated every day?
I was checking the logs because of some failing backups and found literally hundreds of enties for failed logins for user sa. This is does not seem to be related to the failed backups, because even after fixing the problem (disk space), the entries continue to pile up.
Needless to say, the information provided in the log is a bit sparse: date and time, source (Login), message (Login failed for user 'sa'.). If that is actually enough to go on, then there must be some way of cross-referencing this information with that found somewhere else. Is there a 'somewhere else' or are there other things I need to do in order to track this down?
I don't suspect any malicious intent, but I'm not ruling it out. My main concern at this point is twofold: to gain a better understanding of system management; to identify and correct the failed login.
Any recommendations, whether tools, documentation, or otherwise are very much appreciated.
OK, it isnt the end of the world but i have been moving all SQL databases from one server to another in our development environment and think i have screwed up a bit.
In essence, the users in each database are different to the logins in the security tab. IE, there are users in DB1 that dont appear in the logins list. Is there anyway of getting the security information uptodate? I move the databases by detach|file copy|attach into the nice shiny new server. I am running into all sorts of errors when i try to create users in security as it says the user alrady exists ...
all thoughts welcomed, am steeling myself to start all over again!
Can anyone suggest good books on exclusively sql server development..Not for the beginners but at intermediate to advanced level.. Books which gives good understanding on Stored Procedures, Triggers, Cursors, Functions...
Hi all Pros I am transfering from windows2003 server and MS SQL 2000 to Windows Vista and SQL Express ...... Before I allways created a database manually and I could allways use as many databases I needed so in that way I could have several versions of a database for a certain software during development. Can you use separeted databasenames when developing in SQL Express? I am using a dotnetnuke installation file and inside the project there is a file /App_Data/Database.mdf should this file be renamed everytime I make a new testinstallation or setting up a separate dev environment /Johan
[Moderator Edit: unrelated links removed from post body.]
Production and development servers are on different domains and they do not trust each other. How do I import data from the table t1 from a database db1 in production and load it into table t1 inside database db1 in development?
Please can anybody help me in transferring existing SSIS Packages saved in a shared folder location from development server 2ED to Live server TWD1. Both has SQL server 2005 running and has visual studio 2005 Currently about 25 SSIS packages are executed from the development server transferring data on Live server TWD1...these ETL process is called from development server but executed on live server. Now the problem is when i call these packages from the shared folder from live server it crashes.....i need to changes something to shift the whole package to the live server..and execute on live server itself instead of recreating the whole 25 process from scratch.....also i use optimize for many tables ..and run in a single trancastion....so how can i see the mappings of source and destination tables.
Please let me know the process how i can achieve this. Thanks George