0

I am looking to create a database server that can be used to store data using a VB.net application. When I initially installed SQL Server 2005 Express edition, I believe I installed this using the LocalDB option.

As it stands my application is a simple tool which utilises the Process.Start command under certain situations, depending on user input, to launch Game Servers for use at a gaming LAN I assist in running.

I wish to progress the application by being able to update, delete and query a database created in SQL Server 2005 Express. I understand the use of connection strings etc, however I am wondering if the installation using LocalDB will mean that I cannot connect to the server to process the data I require.

Can I continue to use the LocalDB option and create a Database Server for specific use using my application or is a different installation option required?

Secondly, can someone point me in the right direction of how to create a new Server for this purpose? All of my searches so far have provided results for creating a database only, and not the server.

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
dmoney
  • 861
  • 2
  • 16
  • 24

3 Answers3

2

I have a couple questions about what you are trying to do.

First, why are you installing SQL Server 2005? It was released almost a decade ago.

I would go with 2012 express edition.

http://www.microsoft.com/en-us/download/details.aspx?id=29062

Second, install the management tools. SSMS is a nice GUI to do work in.

Third, If you are spinning up anything other than express, there are licensing costs which are quite high. 9K for standard and 25K for enterprise per socket or such.

Here are the versions and features list from microsoft.

http://technet.microsoft.com/en-us/library/ms144275.aspx

Last but not least, having the express edition on another computer is fine. However, you will have to use a network protocol such as TCP/IP instead of shared memory.

It will take longer to send Tabular Data Stream (TDS) to the other computer versus talking to memory on the same computer.

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/c4f06669-41fd-42e6-b4a9-564cf04ca9f7/how-to-choose-between-shared-memory-named-pipes-tcpip-via?forum=sqlgetstarted

Good luck with your project.

CRAFTY DBA
  • 14,351
  • 4
  • 26
  • 30
  • Thanks for the response CRAFTY DBA. I am using 2005 and this project to further my skillset, using the same applications that are used at my place of work. I use 05 daily at work and personally find it a very stable application to work on. I will look in to SSMS, thanks for the rec. Thanks for the tips on TCP/IP and TDS, the project, in development phase will be used locally but then transferred to a separate server for go-live. – dmoney Nov 21 '13 at 20:22
1

You can use a local instance of SQL Server just fine, if you want to set up a separate server for some reason then you'll need either a 2nd machine on which to install SQL Server, or to spin up a virtual machine. If running Windows 8 (and barring hardware limitations) you have Hyper-V at your fingertips.

Hart CO
  • 34,064
  • 6
  • 48
  • 63
1

This is not a complete answer for you but may give you some things to think about.
First you might want to think about your choice of database. If you don't have a compelling reason for using 2005 you will probably at least want to move to SQL Express 2008.

Second, to answer the part about creating a server... A server is something that serves data. In a general sense a computer configured to be contacted by external machines and respond with data is a server. A web server runs a program like IIS or Apache to respond with web pages. A database server contains a database and allows connections to that database. So as long as you install the database on a computer and configure it to allow external connections, you have your database server.

In MS SQL there are several things that need to be set up to allow a database to accept external connections. One is that the SQL Server Browser service will need to be active. Another is that the database itself will need to be configured to allow external connections (SQL Authentication type probably).

Hope this helps.

Addition:

SQL Remote Connection Configuration Disclaimer, I don't have SQL Express 2005 installed but I think the settings are found in the same place in 2008. If the info here is not exact to SQL Express 2005, the general terminology used here should be enough to get you headed in the right direction to find the specifics.

While viewing the database in Server Management Studio or Enterprise Manager, right click the database server instance name (the root of the tree) and select properties. There should be a section title Connections and within this section there should be an option "Allow remote connections to this server". Make sure it is checked. The other setting you need in this properties menu is under the security area. There is a radio button for "Windows Authentication Mode" and "SQL Server and Windows Authentication Mode", you want the second that allows both.

The next step you have may be to create a new user, add a password, and connect the user to the database. That will give you the credentials you will use in your database connection string while programming. I usually add new users through the security section of the database then set the User Roles for each database that I need to connect to. It is good practice to limit the permissions to those needed by the application. Typically this is read and write, but sometimes you can get away with just read. The less the better.

RacerNerd
  • 1,579
  • 1
  • 13
  • 31
  • I am using 2005 and this project to further my skillset, using the same applications that are used at my place of work. Thank you for clearing some of that up for me, I understand my wording may have been misleading. I will look in to allowing external connections, do you have any pointers on setting this up for a DB? – dmoney Nov 21 '13 at 20:23
  • SQL Server Browser is only required if dynamic ports are used in SQL Server. I understand that if the server is configured to expose well known ports and instance names, then the client can connect to this directly. Further SQL Server Express needs to be configured with non-default settings to permit non-local connections. – Pekka Nov 21 '13 at 22:34
  • I am not sure about the dynamic ports or the specifics of the SQL Browser but I found this KB article (http://support.microsoft.com/kb/914277) that says it is a requirement and recently while setting up a server using SQL Express 2008 it was required. In this KB there are 3 steps. The first step is actually several wrapped up in one. I don't think I will have enough characters here so I have added a couple details about it in the answer. – RacerNerd Nov 21 '13 at 23:20