3

Any thoughts of how to solve this?


I tried creating another database and putting some tables there, but actually there is just 1 big table with almost 3 million rows, this table is using all the space, so separating tables is useless.

I though about migrating to MySQL, but the (former) programmer who used this database programmed it using SQL Server framework, and he sucked at it, so its a whole lot of code to change which I suppose it can be done but I don't have that much time.

I can't think of anything but to buy sql server, but I don't have that kind of money, I also thought of 'borrowing' it from a torrent or something like that, but my server is a dedicated server on gigenet and that would break the TOS.

thanks

1
  • Do you see the irony in the fact you're willing to pirate software, but not break the terms of service of your service provider?
    – DKNUCKLES
    Jul 24, 2012 at 22:40

7 Answers 7

3

not a solution, but a possible delay of the inevitable: get the 180-day trial version of sql server

3
  • sounds like the best option to me. But if you do that then you're going to end up paying for it in the end. Unfortunately that's exactly what MS wants. To their credit they do make the '4gb limit' pretty clear, so it boils down to bad planning/lack of foresight on behalf of your former programmer. :/
    – phoenix8
    Nov 11, 2009 at 6:48
  • this is great I didn't know there was an evaluation version, this gives me time to change all the programing and migrate to a mysql database (but who states the damn connection string on every method instead of using web.config? facepalm). SQL server is just not worth it for this kind of proyect. thanks.
    – sergiogx
    Nov 11, 2009 at 7:00
  • 1
    check out bizspark before you give up on sql server Nov 11, 2009 at 14:12
8

If you have no money & your a struggling small business, then MS feels your pain, they love you & they want you to stick with sql server.

Check if you are eligible for Microsoft's bizspark program, which means you can get a free* web edition version of SQL Server, as well as a web edition of windows server.

*I think if you keep the license after 2 years, you owe microsoft $100.

If your not eligible then sharding if your only option & it will be painful.

2
  • This is great, I may still go the mySQL/Postgres route anyway for this particular proyect, but still I qualify 100% for the bizpark program so I'll give it a shot, thanks
    – sergiogx
    Nov 11, 2009 at 16:58
  • Just to make it clear, if you want to keep the SQL server when your bizspark membership ends (3 years later) you need to pay for a full SQL licence.
    – Sam Cogan
    Nov 12, 2009 at 13:33
3

PostgreSQL has a .NET connector (you never said it's written in) so it might be easier to move to that then MySQL.

4
  • 1
    +1 Would also vote for PostgreSQL if you need to replace MSSQL... MySQL and I don't get along too well ^^ Nov 11, 2009 at 12:27
  • Completely agree with Oskar. Postgre works out well for those used to MSSQL or Oracle who can't afford the licensing.
    – sclarson
    Nov 11, 2009 at 14:43
  • Yes it's a web service writen on .NET 2.0, MySQL also has a .net connector. I'll try postgres and see whats better, I just prefer MySQL because I have more experience with it.
    – sergiogx
    Nov 11, 2009 at 17:13
  • Fair enough, go with what you know for sure. Nov 12, 2009 at 10:44
2

Microsoft SQL Server Express 2008 R2 Now has a 10gb databases limit, instead of the 4gm limit on SQL 2005. You should be able to upgrade to this version relatively painlessly.

1

If money is such a concern, you should really focus on converting your application to use a free database like MySQL or PostgreSQL. But with that said...


It would be helpful to know a bit more about your situation. Which licensing option is best for you is highly dependent on how your application is being used.

If you are actively designing, developing, or testing your application, you can use the Developer edition which does not have a 4GB limit. A license is inexpensive, and students can get it free through Dreamspark. If you are in education or part of a charity, you can take advantage of steep discounts that way.

If the above options don't apply to you, it would be useful to know how many users will be using your application, so that you can decide between per-processor or per-server licensing. Per-server licensing necessitates the purchase of CALs for each user of the database.

1

You could partition the table.

Basically this means splitting the data from a single table into multiple smaller ones. This is usually done for performance reasons, but it might save your bacon here. There's two ways to go about it:

Horizontal Partitioning: Have multiple tables with identical schemas, with rows split between them. For example, all customers whose zip code is < 50000 go into table A, the rest go into table B. Alternately, you could use this same sort of scheme to "archive" old data for situations where the age of the data is significant (such as a forum). All entries older than a month get sent to a secondary (tertiary, etc.) database, with the location keyed based on the age of the information. This information isn't queried unless the user performs explicitly asks for old records.

Vertical Partitioning: Split the schema of the table so that some of the columns go into one table, some into another. Use the same primary key on all tables to link the rows. For example, a customer's name and address go into one table, his photo into another, and his billing information into another. Usually you want to partition it up so that data that is referenced less often doesn't have to be loaded.

3
  • SQL Express does not support partioning Nov 11, 2009 at 9:34
  • 2
    I think he's suggesting splitting the tables into more than one database. The 4GB limit is per database. Nov 11, 2009 at 12:57
  • Vertical partioning seems a good alternative, but its kind of hard to rewrite all the sql querys to acomodate this.
    – sergiogx
    Nov 11, 2009 at 17:15
0

I realise that this is an old question, but why did nobody suggest an upgrade to SQL 2008 express? It has a per-database limit of 10 GB.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .