How To Deploy Updated Database From Development Environment To Live Environment?
Nov 16, 2005
I have finished a change request from our client. I need to update clients' database with the one in developments.Here is the changes i made to database:Added/Changed some tablesAdded/Changed some stored proceduresAdded data to some dictionary tableThe data in clients' current database MUST be kept. So how can I merge the changed information to clients' database?
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 experiencing a situation where certain functions work perfectly when I run it on my local machine under MVS, but when I upload it to the server, then it does not?! Here is an example: I am using a drop down box (in a FormView) that is databound in an online submission form. When I run the application in MVS, then I can edit the records by opening the form, and selection the new value in the drop down list. The new value is then also saved to the database when I hit the update button. When I upload the code to the server, then the drop down list shows the correct information (so the databinding to the control seem to work correctly), but the new value is not saved to the database. Here is the code for the drop down list: "DropDownList1" runat="server" DataSourceID="SqlDataSource3"DataTextField="UserName" DataValueField="UserId" SelectedValue='<%# Bind("UserId") %>'CssClass="text">"SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:LocalSqlServer %>"SelectCommand="SELECT [UserName], [UserId] FROM [vw_aspnet_Users] ORDER BY [UserName]"> Here is the code updating the database with the record (I have removed some records as well as the Insert and Delete parts): <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:tourism_connect1 %>"UpdateCommand="UPDATE Resorts SET typeid = @typeid, destrictid = @destrictid, UserId = @UserId, WHERE (resortid = @resortid)"OnInserted="SqlDataSource1_Inserted"> <UpdateParameters><asp:Parameter Name="typeid" /><asp:Parameter Name="destrictid" /><asp:Parameter Name="UserId" /><asp:Parameter Name="resortid" /></UpdateParameters></asp:SqlDataSource> What I can mention further, is that if I connect to the database that is on the live server (so the application runs in MVS on my local machine, but it then retrieves the info from the online database), then it also works fine. It is just giving this issue when the online application is trying to update the values. There is also no errors during the process. I will appreciate any advise on how to overcome this, as I really do not know where to look anymore... Thanks in advance! Regards Jan
This might sound very dumb, but here goes.. How does one upload a MS SQL database or restore this to your live environment. Do I just FTP, publish with SQL itself or use some or other tool.
Trying to figure out what development enviroment we need in order todo the following:- develop a non-native SQL server stored procedure;- call a web service or java program from the stored procedure;- return static values;- call the stored procedure from a view.How do I get a hold of the right tools and what do I need to put thepieces together?Obviously, I've not used SQL server and I'm looking for the basicstarting point.Thanks!
I am looking for advice with setting up a 2005 environment for development, debugging and testing using a laptop as the development platform and a desktop pc as the database engine both connected via a LAN. The current configuration is that all the full blown Visual Studio / SQL development software is installed on the development laptop and can go wherever the developer goes, and the Express versions are installed on the desktop pc so that the development database has an unbroken connection with the network. This setup worked well in the past for developing applications that use a typical database interface. The applications could be completely developed and tested before it went live on the corporation€™s full blown production SQL server. Now we want to utilize the Reporting Services/SSIS in our development efforts and I would like to know what parts of the development software (Express vs. Full) should be installed on what unit (laptop vs. desktop) to fully develop and test using Reporting Services before we move to production? And anything else, like what services need to be running on what units etc.
I need to move an entire live environment from MS SQL 2000 (because of developing further before uppgrading) to SQL Express but cannot get it to work. Is this possible to do at all?
I must be missing something obvious. I'm not clear on how SQL Express can provide a decent development experience. Consider:
1. I have a class library that includes an express database file, set to always copy to output folder. 2. I have code that attaches to the database in the output folder at runtime.
As a result of the above, the first execution after restarting SQL Server will work. Subsequent builds will fail because SQL Server has a lock on the database file in the output folder. Or one of the two files will be copied (DB and log) and therefore they will be out of sync and detected as corrupt when the code attempts to connect. Either way, I have to restart SQL Server and rebuild before the DB connectivity will work again.
I figured I might need to detach from the DB in my shutdown code, but I cannot execute sp_detach_db from my code because it cannot be done through a connection to the database (database is in use). Moreover, I'm not sure I want to because the user might execute multiple instances of the application.
What am I missing here? Do I need to put steps in my build script to stop and start the local SQL Server instance?
Is there a development environment for Reporting Services (2005) that is integrated with source control?
You can use Visual Studio to develop reports and place them under source control. But as far as I can tell, you cannot implement security, scheduling, etc. through Visual Studio. For these you can use a second environment, e.g. SQL Server Management Studio - but is this environment integrated with TFS?
In other words, is there a single development environment, integrated with TFS, where you can develop all aspects of Reporting Services reports?
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
-This is the error that is being generated once the site is hosted. If I run my code from my machine and access my remote sql 2005 database it works fine. It is when I try to login from my URL directly that I get the error. Any thoughts? Thanks.
I have been experiencing difficulties achieving the above.
We have a secure network environment and the connection can only be established from within, not from outside, so basically, there is a rule that allows me to go outbound on port 5022 to our other network.
There is no domain trust relationship, so I have had to create Certificates and use these as the method of authentication.
I have managed to get this working on two other environments where there is two way communication enabled on port 5022.
I thought I might be able to fool it into forcing the mirroring without two-way communication by setting up mirroring in the environment and using the hosts file to change the actual IP address of the server, this didn't work. The mirroring monitor thought that mirroring was still active, but on the other server, the state never changed and was just waiting for something to happen.
I also thought I might be able to turn the transactional safety off, but only to find out that this can only be enabled in the Enterprise version of SQL Server.
The reason why I have been trying to get mirroring working this way, is due to a requirement for an encrypted connection, I know that with SQL Server mirroring you can choose the encrpytion method and the plan was to create snapshots of the database in the other environment, just so we could access the database.
I think we're at a stage where we will be willing to explore other possibilities, so if anyone could point me in the right direction, it would be greatly appreciated.
Please bear in mind, that we're not concerned with redundancy, this is purely to get the data from one point to another.
I developed an asp.net application in visual web developer 2005 express edition and SQL sever 2005 express with Advanced services. The application has been deployed and iam wondering what tools are availabel to for backing up my data. Are there any tools i can use to back-up my database. Iam not talking of third party tools but tools a vailable in sql sever 2005 express with advanced services or visual web developer express. OR can write a vb.net Sub procedure that i run and have my database backed up. If so where can i start or what other options may i explorer.
I would like to know your experience about how to make regular database restore and point-in-time restore in SQL Cluster environment.
(1). My first question is about database backup. We use SQL Server backup in our shop. We hope that we can back up the database to a one network shared drive. The SQL Server can not do it. It only allows us to back up database to the local drive. Since there is no too much spaces in the local drives (C, D and E), I would like to know how we can back up to the network shared drive.
(2). A few database are critical databases which require point-in-time restore. How we can back up database (complete backup or differential backup), transaction log?
(3). If database and transaction log crash at the same time, can we still do point-in-time restore?
(4). How we do Master DB and MSDB back up? Weekly or monthly?
I've read lots about why you shouldn't normally shrink databases in posts such as this:
[URL]
But we have a situation where we are required to copy the live db to various non production environments for testing. Part of this process involves truncating a number of tables with masses of blob data. So we're freeing up quite a lot of space. The question is how to reclaim this? The database is peculiar in that it's got no clustered indexes so I can't rebuild indexes on another filegroup with drop to move and rebuild.
I've tried dbcc shrinkfile specifying a size. I've tried to shrink the file in increments. The problem is I'm just not getting much space released. I get maybe 2-3%. I suspect this is because we're dealing with heaps with some tables that have sparsely populated blob / image data.
Is there an alternative to shrinking? Should I recreate all the db objects in a new database? It doesn't matter if the process takes a while or if it has to be done manually.
Can someone tell me how to make a backup in a sql clustered environment (MSSQL 2000) and how to restore that backup in clustered environment (MSSQL2005)? A step by step backup and restore procedure is appreciated.
I am new to database. I have a website in a hosting environment and it uses sql server 2005 databases. I want to have a complete backup of my database in addition to the hosting company's routine backup. I want to write a program to automatically backup everything every night. And of couse have the ability to restored the whole database if necessary. How should I do it? Are there any tools exist that I can use? What is the best way to deal with backup/restore in hosting environment? Thanks!
hi,I was redirect to this URL* based on Deploying a SQL Database to a Remote Hosting Environment,pertaining to my question on how do I convert MDF file to .SQL.I had downloaded and installed the program recommended that is Database Publishing Wizard.but the problem is now, there isn't any context menu "Publish to Provider" * when i right click on thedatabase aspnetdb.mdf..please advice me. thanks.* Reference : http://weblogs.asp.net/scottgu/archive/2006/12/22/recipe-deploying-a-sql-database-to-a-remote-hosting-environment-part-1.aspx
Our DBA is out for about 6 weeks. One of his regular jobs is to take a Database that is in our Prod environment and copy it to our Training environment.
I have backed up and restored to different servers before, however the Database name in Prod is different than in the Train environment in this case.
In other words I have a PROD database named DATABASE-XX that I want to copy to another SQL server and restore it to DATABASE-XX-TRAIN.
Is there anything special I need to do, other than backup on PROD, copy to TRAIN and restore to the corresponding DB in TRAIN?
I am running an application with an SQL database and it works fine. My question is about a customer changing his information. We will need to be able to produce copies of old orders/invoices even after that company's info has changed (e.g. he moved or changed the company's name).
Assuming he changes his company's name, for example, do I,
1. Enter him as a "new" company? This allows me to keep the old info in the database if I query the "old" name but does not provide any portability of "old" information forward to the "new" company like payment patterns, past orders, etc. since he is "new" and has no past.
2. Or do I change the record of the"old" company to reflect the "new" name? Here I can keep the "old" past under the "new" name but I now cannot retrieve an old document that reflects the "old" name.
3. Or, the third alternative is to export to alternative storage all the files of the "old" company and go to number 2 above?
I thought about copying the "old past" into a "new" customer but then I'd have double sales, receipts, etc and I just can't see an end to that debacle.
None of these sound like fun but I'm sure I'll soon have to do one of these. I can't be the first one to ask this and I'm sure there is someone out there who is smarter than me/has a more elegant solution. Any suggestions?
I also posted this to Small Business Development forum but thought the SQL guys might have another idea.
I have create a web site in visual studio with form user authentication. Thats create a mdf database in this path:
c:inetpubwwwrootwebsiteapp_dataaspnetdb.mdf thats use Sql server
i would like to access this database with c# form application on a network with multi-user. if i change the drive letter of the path above to f: (mapped drive) or \serverc, i got this message
System.Data.SqlClient.SqlException: The file "h:InetpubwwwrootwebsiteApp_DataASPNETDB.MDF" is on a network path that is not supported for database files. An attempt to attach an auto-named database for file h:InetpubwwwrootwebsiteApp_DataASPNETDB.MDF failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
i read that sql server did not support database sharing with mapped drive or unc share.
So how can i share website database with c# application???
Note: of course if i develop the website and the application on the same machine its work. I want this application run on several work station accessing all the same mdf database with his web user member.
I have a web app that uses two SQL Express databases. One of the databases is the membership database. I am deploying the app to a hosted environment. Here is my connection string:
Could not open new database 'Akamojo_ASPNETDB'. CREATE DATABASE is aborted. Cannot attach the file 'e:hostingmemberakamojoTournamentLogApp_DataAkamojo_ASPNETDB.mdf' as database 'Akamojo_ASPNETDB'. File activation failure. The physical file name "c:inetpubwwwrootTournamentLogApp_DataAkamojo_ASPNETDB_log.LDF" may be incorrect. The log cannot be rebuilt when the primary file is read-only.
The mdf file is not read only. In the hosted environment the database is on the E drive. In my dev environment the database is on the C drive. From the error message, it appears that when it tries to build the log file it is trying to build it on the C drive in a path that doesn't exist in the hosted environment.
Environment:SQL Server 2005 Enterprise in Win2k3 Enterprise on 32(x86) bit machine I am able to enable the Trace Flag 1400 using DBCC TRACEON (1400) GO. Only then we can able to configure for the ENDPOINTS. I successfully configured the ENDPOINTS for both the principal server and Mirror server .And then when I started the START MIRRORING. I got the error message. Please find the Message below. An error occured while starting mirroring. additional Information: :..>Alter failed for Database 'KQDB', (Microsoft SqlServer.Smo) :..>An exception occured while executing a Transact-SQL statement or batch [Microsoft SqlServer.Connection.info] :..>Database mirroring Transport is disabled in the endpoint configuration. [Microsft SQL Server,Error: 1486]
If anyone have a solution on how to setup a database mirroring environment.Please send.
Is there a way using a stored procedure in a local database to add a record to a database executing in a cloud environment when both entities reside in different domains?
We have installation of Dbase Engine and SSIS that is PRODUCTION, and want to replace with newer hardware. In "the old days", we built "boxname_new" and installed SQL with "sqlname_new", took PROD users off-line, and quickly renamed original boxes/SQL and new boxes/SQL to original name, copied data and off we went with upgrade.
NOW, the "renaming" option for SQL tools is not supported, but with re-installation.
Has anyone developed game plan steps for accomplishing hardware upgrade, including SQL environment swap with MINIMAL downtime for PRODUCTION environment? Can you share?
Hello, I have my local development evrioment and my live webserver in colo. The two different machinces both have SQL2005 and copies of roughly the same database. I use the one for developement and the other obviously for production. Currently I read in different connection strings from my web.config file for my live version v my development version so I can have different database names and connection strings. I'm looking at moving to LINQ, but I can't figure out how I'd achive an equivelent flexibility as database names and connection strings seem to be hardcoded in to the class using it's designer. Obviously if modifing this wasn't possible, nobody would be using LINQ, so how do I work around this? Thanks, Joel Barsotti
I have a problem in that I have a live SQL 7.0 server as a back end to a web server for a large company in Germany and of course we also have a development server locally which is more or less the same apart from data. The ASP developers here want to upload some data to the live server and also download live data from the live server so that we have more or less the same data on both systems.
I have thought about doing this with DTS adn writing SQL scripts to merge the tables and then upload back to the live server etc. but before I do I wondered if anyone had experience of doing this before (I am sure) and could either tell me what are the best methods or package to do or point me or mail me an article that covers this sort of thing.
Of course extreme paranioa creeps in at the thought of copying down large tables from the live server etc. etc. so if anyone can help - great!
Disaster Recovery Options based on the following criteria.
--Currently running SQL 2012 standard edition --We have 18000 databases (same schema across databases)- majority of databases are less than 2gb-- across 64 instances approximately --Recovery needs to happen within 1 hour (Not sure that this is realistic -- We are building a new data center and building dr from the ground up.
What I have looked into is:
1. Transactional Replication: Too Much Data Not viable 2. AlwaysOn Availability Groups (Need enterprise) Again too many databases and would have to upgrade all instances 3. Log Shipping is a viable option and the only one I can come up with that would work right now. Might be a management nightmare but with this many databases probably all options with be a nightmare.
I am a DBA and my boss recently recommended that we change our QA environment so that we don't have any databases on it unless they are actively being tested. This would be to save hardware costs.
The only issue I can think of at this point is that promotion to our QA environment would take up to 2 hours for some of our larger databases if we have to restore production databases to qa for every QA run.
Is this a good idea? How do you run your QA (full or partial copy of prod)? Any input appreciated.
I work on a company where we today have one SQL Server Standard Edition and Reporting Services (SSRS) and Analysis Services (SSAS) installed on the same server.
Now we want to install SQL Server Enterprise Edition, but still have the Standard Edition installed. We are gonna invest in one more server.
I wonder if its possible to install the database engine for both versions on one server and then install instances of SSRS and SSAS on the other server?
Can Standars Edition have SSRS and SSAS on another server than the Database Engine? And is it different versions of SSRS and SSAS between SQL SE and SQL EE, or does SSRS and SSAS get the SQL EE benefits if the database engine is SQL EE?
I have about 23 SQL servers running 6.5 SP3 or SP5a in a 24 hour environment. Most of the activity takes place between 6am and 11pm, with few transaction after 11pm. What is best to do with the main DB's transaction log, have the truncate at checkpoint option checked OR back up the transaction log a couple times a week? The Database is backed up every 6-8 hours.