Installing support files for app using sql 2005 where server is on another computer - sql-server

I have a managed C++ application that connects to SQL Server 2005 Express databases on the same computer and over a network. My problem is that if the database is located on another computer over the network, the client machine will not have the needed DLLs files installed from SQL Server.
I can't force my users to install SQL Server 2005 Express on the client machine just to get the needed support files. So my question is, is it safe to installed the dependent files to the GAC on the user's computer? Or, does MS have a command line install package for just this purpose?
The files from SQL Server that my application show as being dependent on are as follows:
Microsoft.SqlServer.BatchParser
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.RegSvrEnum
Microsoft.SqlServer.Replication
Microsoft.SqlServer.Rmo
Microsoft.SqlServer.ServiceBrokerEnum
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SmoEnum
Microsoft.SqlServer.WmiEnum
If it helps, I'm using the Inno-Setup program for my installer. This has to be a common problem.

You dont have to install the full version of SQL Server, but you do need the necessary drivers. Installing the SQL 2008 SMO package on the client should resolve these issues.
http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&displaylang=en

Related

Deploying Windows application with SQL Server database

I have a WPF project and I will use SQL Server database. The instance of SQL Server IT created for me is SQL Server 13 (2016 standard version) on a remove server. When I’m deploying the application on a client’s computers, what version I need to install there as a prerequisite? Can I deploy SQL Server Express 2016 on a client’s computer and access the remove SQL Server Standard edition? I am looking for a simple solution and for a lighter version I need to install on the user’s computers. I cannot install a full SQL Server on each user.
I have searched the net and a similar question has been asked many times, but I didn’t find a clear answer before. Many people started their SQL Server experience using local type databases, like SQL Server CE or LocalDB. In this case specific DLLs and redistributables must be added with the installation program. It is hard to understand at the beginning, but when an instance of SQL Server is on a remote server, this is a different story. Everything is happening on this remote server. There is no need of any SQL Server instances on a client’s machine. Just a connection string must be added. The adapter or Entity Framework will take care of everything else.

Bare Bones Setup to Run SSIS Package

I work with Microsoft Access 2016 with a SQL Server 2008 R2 backend. I have used SQL Server Management Studio to create some SSIS package for quick copying of data (right-click DB -> Tasks -> Import/Export).
I was able to create a button in Access to kick off the SSIS package successfully using VBA. I use the Shell function to run the following command:
"C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\DTExec.exe" /F "\\MyPath\MySSISPackage.dtsx". This works on my machine because I'm running my particular instance of DTExec.exe to execute the SSIS package.
I need to set up users' Win10 64-bit computers now so that this process will work for them as well. I don't know if DTExec was installed when I installed SSMS or my local SQL Server Express Edition DB, but the user doesn't need either of these programs. What is the bare minimum I need to install on the users' computers for it to work for them also?
I've done a lot of googling but either the scenario didn't quite fit mine, or I just wasn't understanding what they were talking about. The users will have Microsoft Access only as a start.
Links to download locations would be extra appreciated!
Thanks!
For running SSIS packages in a production environment you must install and license SQL Server. A user who only has Microsoft Access installed cannot run SSIS packages.
You can install and run SSIS packages on your SQL Server (Standard Edition or higher), but not on your clients' PCs.
Once you have credentials all sorted out with DBA team. At min you will need read (select permission) on desired database(s) . Build your ssis in VS2017 locally and test. It will run great I'm sure. And when your ready to deploy you can use steps below.
Steps below outline package deployment mode.

SQL Server Database Tools on a Mac

I have a DB project which relies on SQL Server Database tools. I am trying to work on it on a Mac. The rest of the project is in .NET Core so that all works well. The database project throws an error on dotnet restore
/Users/mborozdin/src/ethos/FileRepository/src/FileRepository.Database/FileRepository.Database.sqlproj(63,3): error MSB4019: The imported project "/usr/local/share/dotnet/sdk/2.1.4/Microsoft/VisualStudio/v10.0/SSDT/Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.
Is there an alternative to SSDT which seems to be only available on Windows?
When you develop on the Mac,
You will put your SQL Server on the docker or Virtual Machine.
In other to connect, You need SQL Operations Studio for the Mac
Download Link
Is there an alternative to SSDT which seems to be only available on Windows?
The alternative is Azure Data Studio. As for:
SQL Database Projects extension
The SQL Database Projects extension brings project-based database development, well-known in SQL Server Data Tools (SSDT), to the cross-platform Azure Data Studio experience. From this early insiders release you can create, build, and publish a project from scratch or an existing database.
https://github.com/microsoft/azuredatastudio/issues/11105

Is it possible to create a backup image of an already installed sql server? (complete image not just configuration file installation)

I am wondering if it is possible to create an image of an already installed SQL server on my machine?
The issue is as follows:
I have SQL server developer 2014 and 2016 with all components installed on my machine (Sql server, SSIS, SSRS, SSAS), my OS is Windows 10 pro (upgraded from windows 8.1), and recently I had windows 10 anniversary update and I am having a lot of issues since this then, so I want to reset Windows (resetting resolved same issues I had with my other computers).
I know I can use configuration file installation, but this will not include all the components and will not have setting for things like Management Data Warehouse and SSAS query history.
So I am asking if there is a way to generate an image of the already installed SQL server and it's components and just re-install that image again after resetting windows?
Thank you.
There is no built in SQL Server tool to do this (Oracle does have such a tool) and many dbas think because they can restore a database they have done enough in the area of backup. You can use VMWARE (Virtual Machine Converter) to create an image of your machine or you have to backup all the databases (including the system dbs) that are installed on your machine, all the binaries (programs both SQL Server and non-SQL Server utils such as antivirus) and all the settings at the system level (especially accounts).
The best way to check is to do a bare metal restore and see if the machine matches what you have exactly.

Can a WPF app with .sdf database run on a computer without SQL Server installed

This question may seems a bit silly. The thing is I'm programming a WPF using VS2010, which contains a .sdf database (connection is ADO.NET).
Someone told me that if I use a SQL Server Express database it can be run on any PC even it has no SQL Server installed. But after I tried executing in my virtual machine (win7 & win xp), seems it cannot even start up.
So, can someone brief me, what database do people normally use in developing WPF software? Is it true that my program using a SQL Server database file cannot execute on PC without SQL Server installed?
Much appreciate in advance!
Yes, it can!
SQL Server Compact (that produces and uses .sdf) is the only SQL Server edition that does not require a server to be installed. All its code and logic is contained in the handful of DLL's that you need to include with your application. Just ship your app with those DLL's and you should be fine.
Read more about SQL Server Compact and how to use and deploy it on MSDN.
SQL Server Express (and any of the other editions, like Web, Standard, Developer, Enterprise) on the other hand does require an installation of the SQL Server Express edition - either on that machine, or somewhere in the network where your app runs (remote connections from the network are disabled by default, but can be enabled).

Resources