Transfer Access DB to SQL Server DB using SSIS - sql-server

How can I transfer a full database from Access to SQL Server 2012 using SQL Server Integration Services?

Yes you can do this.
You need BIDS and just create a control flow and task flows with what you want to do.
SSIS is simple drag and drops for the most part

Another solution is to use the Import/Export wizard. Simply right click on a database in SQL Server, choose Tasks > Import Data. The wizard will walk you through the setup. At the end you can save the package which then can be edited in BIDS.

Related

How could I generate SSIS package

The situation is that I have two DB servers with SQL Server, I need to transfer the data from Server A to Server B automatically every night.
So according to sql server data transfer from one server to another server, I created an SSIS project. And it manage to transfer data with good performance. But the question is, how do I export the project into SSIS package and run it every night?
I assume you are still running it from Visual Studio. To schedule it daily you will need to do the below,
Deploy your project to a SQL Server
Create an Agent job and schedule it.
Found a good article, sharing that with you here.
https://www.mssqltips.com/sqlservertutorial/9069/deploy-and-schedule-an-sql-server-integration-services-ssis-package-step-by-step/
You can either store the package as in the file system or in the SSIS catalog. I would say that storing it in the SSIS catalog is the best way to go here.
Before you deploy your package to the SSIS catalog you need to make sure that integration services is installed on your server as well as that the SSIS catalog has been created.
How to create ssis catalog
If all above is OK then proceed and deploy your package and create an agent job. Please notice that you need to set up permissions for the sql agent account so it can access your databases.

Transfer Microsoft SQL Server data to Oracle tables on daily basis

I want to transfer SQL Server data to Oracle tables on a daily basis.
What's the best way to do it? I am using Windows 7 as OS and SQL Developer as a tool.
Please suggest.
Thanks.
You can setup a transactional replication and create a non-sql server subscriber in oracle.
See : https://learn.microsoft.com/en-us/sql/relational-databases/replication/non-sql/non-sql-server-subscribers
Or if you only need the data to be updated once a day, consider to use snapshot replication.
Both transaction and snapshot replication can have a non-sql server subscriber.
You can use the built in Export Data command to generate an SSIS package that you can then run on a daily basis.
1) Right click on the data base in SSMS on the Object Explorer Window.
2) Select 'Tasks' from the pop-up window.
3) Click on Export Data.
4) Choose a data source (SQL Server Data Base)
5) Choose data destination as Oracle
At the end of the GUI you can save it as a SSIS package. Please do so and you can then run it either as a SQL Server Agent job or at the Windows level by using the DTEXEC command. My biggest challange when doing this is getting credentials on Oracle that allows writing and finding the correct ORA file.

unable to copy a database inside the same server using the Copy Database wizard

I have sql server 2008 R2. and I want to take a copy of a database inside the same database server. so I will have exact copies of the database. now I login to the sql server management studio>> right click on the database >> tasks>>copy database. where I was prompted with the copy database wizard. I select the database I want to copy, and I name the new copy as Test_Copy, and I select to run the operation immediate ... now I got this error:-
so can anyone advice what might be causing this problem ?
Thanks
You need to open up the Server is SQL Server Management Studio and find the SQL Server Agent at the bottom under the server and right click then start.
If you would rather you can log onto the server and find services and then scroll down until you find SQL Server Agent Services and start those. Doing either rof these should fix your problem.
When I run the copy database wizard, i get the following dialog when Agent is not running
It's my understanding that the wizard creates a package with a series of steps that is all managed by the agent. Because the agent is controlling and sequencing the process, it needs to be enabled.

How to copy an existing DB in SQL Server 2008 r2 management studio?

I am trying to copy an existing DB, which exists in SQL Server 2008 r2 management studio including data.
Is there any option to copy database in the management studio?
Right click on the database in Object Explorer -> Tasks -> Copy Database
You also need to make sure the SQL Agent (SQL Server Agent (MSSQLSERVER)) service is running
Right Click Database which you want to export. Then choose task from the options now you can export the data or you can generate script which you can run on another server.
For Generating the script choose it and wizard will open up. then decide where you want to save the script.
You have to remind you have to hit advanced button and select type of data to choose select schema and data for getting data in the database other it will select only structure of the database.

Moving Data from SQL Server to Oracle Repeatedly

What are the most reasonable ways to move table data from SQL Server to Oracle (on *nix) on a regular basis?
Using SQL Server Integration Services (SSIS) is likely your best bet. If you're not familiar with SSIS, the best way to try something out is to use the SQL Server Export Wizard and have it create an SSIS package for you. For example, if you go into SQL Server Management Studio and right-click on your database, then select Tasks->Export Data. From there click next until you get to the "Choose a Destination" step. Select the "Microsoft OLE DB Provider for Oracle" and click Properties to define your database connection. When you click through the wizard, on the Save and Execute page, make sure you check the checkbox labelled "Save SSIS Package", on the next screen specify where to save the SSIS package. Once you finish the Export Wizard, your data will have been exported and you will have an SSIS package that you can use as is, or go in and tweak it to do more specific things.
Once you have your SSIS package, you can schedule it by creating a SQL Server Agent Job.
Oracle Heterogeneous Connectivity / Database Gateways in conjunction with materialized view(s), PL/SQL, or Java
SSIS or DTS: both can be scheduled but require more than read-only access to SQL Server
Java (probably within Oracle but optionally at the OS) using ODBC or SQLJ to access SQL Server and, possibly, Oracle
SQL Server scheduled to export to CSV, Oracle scheduled to import from CSV
Any of the other ETL tools (e.g. Informatica, Cognos)
Any of the myriad languages that can access both databases (but would require maintaining a third environment to run the application within)
Scheduling:
Automatic / not reuqired with materialized views
Oracle DBMS_JOB / DBMS_SCHEDULER
OS-specific (cron, Windows Scheduled Tasks, etc)
In the case of SSIS, DTS, or CSV export, scheduled within SQL Server
Create a database link from Oracle to Sql Server (heterogeneous connectivity). You can use this link to retrieve the data from Sql Server with a simple select statement. If you want to schedule you can use a materialized view or dbms_scheduler.
An alternative is to put your data in a csv file, you can use an external table or sqlloader to load this data in the Oracle database.
Here is what I do:
Connect to SQL Server by Oracle SQL developer using this link:
https://kentgraziano.com/2013/01/14/tech-tip-connect-to-sql-server-using-oracle-sql-developer/
After you have added SQL jar, you will see SQL Server tab in the Connection window:
Then connect to the SQL Instance.
Then open SQL instance and choose database or table that you want to copy. Right click on any database/table, then click on "copy to oracle" there and choose the right user[database] at "Destination Connection Name " where you want to copy your tables.
You can also change some properties there.
Click "OK" and that's it.
Let me know in case of any issues.
You can have SQL Server interface with Oracle directly through SSIS (or DTS for 2k). It will provide ETL functionality and can be scheduled on a regular basis.
I had success creating a linked server (from within the Enterprise Manager, I think) to Oracle on the SQL Server side. Then I could use normal stored procedures on both sides to accomplish smaller data movement and updates in both directions. This approach can bypass the need to try and put something together outside the databases.
Try hard to use the latest possible Oracle client on the SQL Server side though. I recall some defects in the 10.2.0.2 client and getting the 10.2.0.4 client required your "official" Oracle registration or purchase number or something.
For big data moves (or maybe even moves/updates you want done on a daily or less frequent basis), definitely use one of the ETL tools. We had Informatica for our ETL processes, but if SSIS can pull off what you need, that's fine too.

Resources