Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "mssql"
So my friend studies general IT (he did application development with me for 4 years before this) and they arrived at web applications and servers.
They *have to* use MSSQL and windows 2008 servers because "that's the industry standard, also for the big companies!"
He asked if he at least could use Linux for his servers to his teacher: "oh I'd fucking love to but that's not allowed from higher up 😞"
You know your week starts great, when you receive a call, that the whole shop database of a company is not working anymore.
Turns out MS Fucking SQL decided to drop all tables, just because the harddisk was full.
A SERIOUS FUCK YOU TO MICROSCHROTT!
It's not a lot of fun, when 15 people have to wait for you about 1 hour, until it is restored.
Why does this have to happen on a monday?12
I remember that time my class (first year of software development) wrote a huge project for a real company as practice for irl stuff.
I was the only Linux user and it would be deployed on a Linux server.
Spent 10 weeks of development and then the moment of deployment on a Linux server began!
Nothing was case sensitive, everything was programmed for a windows architecture (backward slashes etc) and mssql was used while we would host it on a MySQL server.
The tree core guys spent three days or so to make the entire fucker compatible 😂
It was enjoyable to see them (literally) sweat 😊 (it had been known from the very beginning)7
Experience that made me feel like a dev badass?
Users requested the ability to 'send' information from one application to another. Couple of our senior devs started out saying it would be impossible (there is no way to pass objects across a machine's memory boundary), then entertained the idea of utilizing the various messaging frameworks such as Microsoft's ServiceBus and RabbitMQ, but came up with a plan to use 2 WebAPI services (one messenger, one receiver) along with a homegrown messaging API (the clients would 'poll' the services looking for message) because ServiceBus, RabbitMQ, etc might not be able to scale to our needs. Their initial estimates were about 6 months development for the two services, hardware requirement for two servers, MSSQL server licenses, and padded an additional 6 months for client modifications. Very...very proud of their detailed planning.
I thought ...hmmm...I've done memory maps and created simple TCP/IP hosts that could send messages back and forth between other apps (non-UI), WPF couldn't be that much different.
In an afternoon, I came up with this (see attached), and showed the boss. Guess which solution we're going with.
The two devs are still kinda pissed at me. One still likes say as I walk in the room "our hero returns"....frack him.11
Discovered one of the worst db designs ever:
- A cust is inserted in a table.
- The insert trigger is fired, calling a stored proc
- The stored proc being called creates a dynamic sql that builds a create table statement for 8 different tables. These tables will be postfixed with the newly-created cust id and is executed.
When querying info for a cust, a stored proc is used that accepts an id value would be appended to another dynamic sql that creates a select statement across all 8 tables for one customer.
Shoot me now.10
I've been pleading for nearly 3 years with our IT department to allow the web team (me and one other guy) to access the SQL Server on location via VPN so we could query MSSQL tables directly (read-only mind you) rather than depend on them to give us a 100,000+ row CSV file every 24 hours in order to display pricing and inventory per store location on our website.
Their mindset has always been that this would be a security hole and we'd be jeopardizing the company. (Give me a break! There are about a dozen other ways our network could be compromised in comparison to this, but they're so deeply forged in M$ server and active directories that they don't even have a clue what any decent script kiddie with a port sniffer and *nix could do. I digress...)
So after three years of pleading with the old IT director, (I like the guy, but keep in mind that I had to teach him CTRL+C, CTRL+V when we first started building the initial CSV. I'm not making that up.) he retired and the new guy gave me the keys.
Worked for a week with my IT department to get Openswan (ipsec) tunnel set up between my Ubuntu web server and their SQL Server (Microsoft). After a few days of pulling my hair out along with our web hosting admins and our IT Dept staff, we got them talking.
After that, I was able to install a dreamfactory instance on my web server and now we have REST endpoints for all tables related to inventory, products, pricing, and availability!
Good things come to those who are patient. Now if I could get them to give us back Dropbox without having to socks5 proxy throug the web server, i'd be set. I'll rant about that next.
My worst dev sin was leaving out the 'WHERE' in a SQL update statement on a production database
Set every booking to be owned by the same sales consultant 👀3
Fuck you whoever designed this shitty database!
Why the fuck do you mix up underscores and hyphens? Plus MSSQL is a little fragile boy, he doesn’t like hyphens that much and you have to add brackets fucking everywhere, so FUCK YOU.
Fucking learn to design things or go fuck your fist while sitting on a banana tree, seriously.5
this.isrant = true
Visual studio YOU BITCH!
2 hours of struggling to enable VT-X for docker but never seeming to be enabled when I boot back from the BIOS, turns out the motherfucking IDE sneakily enables hyper-v when I install Windows phone SDK, which I apparently need for xamarin. Well Microsoft? GO FUCK YOURSELF. I ONLY USE YOU FOR THE SUPPORT! I hate Microsoft and it's sneaky background shit that I don't know about and would probably freak out about if I did. I'm swapping to Ubuntu with MSSQL and MonoDevelop ASAP6
Happiness is when someone continues your project and writes the code in similar manner like you did.
For PHP based ERP which is using MSSQL as database.
I am a mechanical engineer first and my companies go to sysadmin second. So software developing isnt really my main field of expertise buuttt:
WHY IS SLOOPY SOFTWARE WRITING A VIABLE EXCUSE?
Yesterday i started to migrate some stuff from our old Win 2008 Server to the new 2016. Turns out there are some MS SQL Express Servers running. Quick check for what they are turns out that they are activly used. So far so good. For other reasons we have a new MSSQL 2017 Core Licence. So i thought, hey it would be nice to just move those 2012, 2008 and 2014 Express Servers to a real one that can use the entire machines capabilities.
After some try & error with exporting one of the softwares (where i had to elevate one the user rights to sysadmin for reasons) the entire system stopped working. I didnt deleted anything or changed anything! Well, i elevated user rights. After 2 hours of support call it turns out that the software stopped working cause i gave the database user sysadmin rights. I dont know enough about MSSQL to judge wether that is logical or not, but it sounds super illogical and i suspect sloopy software writing on the manufacturers part. One way or another, the excuse from the telephone support was "yeah, our software is a very fragile child"
After i told all that my coworkers two of them were also "yeah, that is just how the [company] software is, you have to be careful with it"
Apparently it broke in the past for other minor stuff.
As an engineer i cannot build bridges that collapse when you use the left and the right lane at the same time. For an architect it isnt okay to build an house where the front door explodes when you open a window. It is not okay for a power tool to go out in a fireball when you accidently drill plastic with it. But for some weird reasons its socially acceptable for programs to be sloopy, buggy and only working under specific conditions. Since when is it okay for a car only to work when you know specific steps to make it run? Like, throwing your spare key in the gas tank, the kick the left wheel exactly three times and finally tapping the steering wheel 5 times left, 4 times right. What? That would be ridiculous? But that is exactly how that software works. You have to follow a specific step guide to make it work, EVERY TIME.
I. JUST. DONT. GET. IT3
You realize that the ERP software you use at your company is shit when:
- there is no service-side ERP backend handling requests
- the whole permission system is client-side (!)
- every client directly connects to the MSSQL database with a supervisor user (stored in plain text in a local config file)
- the MSSQL database contains tables with:
- names like "contract" but then also "contracts"
- mixed german and english words
- the multiple-business-unit implementation uses 4 columns named "Layer 1, Layer 2, Layer 3, Layer 4" in EACH table
- you find out that the ERP software is created with a fucking "software creation tool"
- there is no API, so you have to program one yourself to use for services
Yet, they charge us shit ton of money for their broken ass software.1
FUCK EVERY PERSON IN THIS SHIT BANK!! FFS THE IDIOTS CREATED A NEW DATABASE USING SQL SERVER 2008! Yes, 2008 and its a new database if it was some type of legacy I could try to understand, but this shit is a completely new database. I have to use sequelize and guess what? It can't paginate results because shit server 2008 does not accept OFFSET FETCH syntax3
When your client tells you "it should just be like the other thing you did" and it turns out that it is completely different from the other thing you did in every possible way.2
I was experimenting with a load test suite called 'Siege' to build and scale increasingly complex searches against our new site search engine. I assumed that an old iMac couldn't have generated a crushing load against the beta servers and I learned two things the day I wrote and started that script before heading to lunch:
1) Beta and Production shared MSSQL instances
2) That single iMac was more than enough to take the whole production site down...
I am now a certified "Microsoft Technology Associate for Database Fundamentals". 😁🎉 Had to do this certification for my "Berufsausbildung".21
I am a Technical Lead in the department in my company that writes code for our clients that have money but doesn't have the technical expertise to handle the complexities of our own software.
Part of my tasks involve taking care of a few projects written by employees that have left after using third-party tools rather than using our own software. No one else in this department knows these third-party tools, they only know our own, and my *still limited* web development experience means I get dumped these things in my lap.
And I'm SO pissed at these projects and their authors and the manager that let these ex-employees write these things. There is this one project that was managed by two different "developers" (I don't know they deserve this title) at two different times, and it is so riddled with different technologies it makes me want to throw up almost daily.
Don't believe me? Here is a complete list of the dependencies listed in the package.json of this project: babel-polyfill, body-parser, cookie-parser, debug, edge, edge-sql, excel-to-json, exceljs, express, html-inline, jade, morgan, mssql, mysql, pug, ramda, request, rotating-file-stream, serve-favicon, webpack, xlsx, xml2js
What this doesn't even show, is that one part of this project (literally one page) is made using react, react-dom, react-redux, and jade. The other part (again literally one page) is made using Angular and Pug. In case you missed it while picking up your jaw, there's also mssql, mysql, edge and edge-sql. excel-to-json, exceljs, xlsx.
Oh you want *more* juicy details? This project takes the entire data object used by the front-end, stringifies it into JSON, and shoves it into the database *as a single field*. And instead of doing WHERE clauses in the SQL queries, it grabs the entire table, loops, parses the json, and does a condition on it. If even one of those JSON entries gets corrupted, the entire solution breaks because these "developers" don't know what try/catch is.
The client asked for a very simple change in their app, which was to add a button that queries the back-end for a URL, shows it in a modal dialog, after which a button is clicked to verify the link by doing a second query to the back-end before modifying a couple of fields in the page.
This. Took. Me. Two. Months*. Save me. Please, save me.
*between constant context switches between this and other projects that were continuously failing because of their mistakes.4
Company had problematic client projects that each client has a bucket load of change requests. Company doesn't know how to say "No" to them. Company can't afford to pay the subvendors for the changes and the subvendors aren't willing to do them for free.
I went in, reverse engineer the shit out of each application, database, system, documented my own findings, changed according to each client request. This involves editing tables in MSSQL, rerouting PHP files, adding field and validations in C#, passing parameters in VB to Crystal Report, and managed every change request into my own personalize ticket system (that the company does not have).
Saved the company, everyone was grateful. A couple of months later, the company hasn't paid my salary on time, I left like a boss.
They're in shit again and need my help. Haha!
The company I work for uses Coldfusion which is a dead technology in my opinion. I was tasked with using a data grid for our data from our mssql databases. This data grid I was trying out uses ajax to make a call to the server and expects the data transfered back in Json format. well coldfusion sucks balls because it's serializeJson function returns a outdated JSON structure and I can't use it. So obviously this datagrid throws errors and when I try looking up coldfusion solutions online or scope out stack overflow, the posts are dated like 6 years back because no one fucking uses CF anymore. My boss loves to jerk to it, it seems because he refuses to change languages cause its all they have ever used. -_- this is 2016 bitch lol6
A programme I have to maintain (and not allowed to optimise or change):
1) read input from serial connection
2) store data in MySQL database
3) every day convert to CSV
4) store on Windows file share
5) process CSV in access 2000
6) store in MsSQL database
When it was first developed, I said to te developer to store it straight from serial to MsSQL but out boss wanted it to follow the above spec.
He has now left and I have to maintain it1
So this web company i joined had a page load time in minutes. The free text search (inverted index search, based on elasticsearch) queries would return results in 10-45 seconds (should be milliseconds always). The indexes had no schema. And they would crawl data and feed into mssql db, which had a 2 gb/db limit on the free version. So everytime the db hit the limit, a new db was created and the name was incremented by one.
Had a very tough time cleaning up that mess. Plus the architect who had made this architecture was on his way out and unhelpful to the core.
What was worse was that most of the changes i did were very simple changes that should have been done long back. Basic sanity changes.4
They tell me to only review security in the security reviews I'm doing (and if I bring to attention that they're implementing a weak encryption so even though they're not using it at the moment it might cause issues so be careful with that they say to only review security 😵) and then I see this mssql in a where:
AND ISNULL(field, 0) IS NULL
And I think wtf, should I report that? I did and it's a bug and they're thanking me now....
God dammit it's hard to "review security" here...3
This appears to be a service designed for idiots. $89 a month for ho-hum specs. What strikes me more though is that with CentOS selected, it still gives me MSSQL options. Learn to js, n00bs!7
We need to log out phone calls in and outlet of the company
How we wanted to do it:
Use node.js to read the serial port from the phone system then store the data into the MsSQL database
1) Read serial port
2) store in local MySQL database
3) every 3 minutes create a CSV file containing the last 3 minutes of calls and store on a Windows shared directory
4) have a access 2000 programme collect these files every 30 minutes
5) insert into MsSQL database1
To the person who added NULLIF function to MSSQL I say I hope rabid ferrets bite your balls off.
That is all.3
So today i have to install the gigantic shit called cPanel on a vm that run on a macmini..
Our server are on cpanel, I'm installing it for tests purpose..
I already know that i'll swear more than i ever did before when i'll have to make pdo odbc working on easyapache4 for our db hosted on mssql server... RIP me1
Hello not a rant,
Are there MS SQL Server admins here who self taught and learn thru self study?
I work in a company where they use MS SQL Server as the database. I would love to 'understand' how to write efficient queries, and how things really work, not just selecting and joining table blindly and not understanding how things work.
Would you recommend how you understand MS SQL Server, or what learning path you took?
Thank you. I would appreciate any suggestions and comments.10
Worked until now on my private mac and used pymssql and freetds to connect and work with a MSSQL DB and Python
Two days ago I switched to an Ubuntu Machine and I couldn't get it to work.
As it turns out Ubuntu was not able to solve the DNS Name into an IP Address.
FML - 2 days wasted2
Yesterday I have to do something I never thought I'd need to. A little background: I dislike PHP and MS SQL Server; however, they pay the bills.
So yesterday in order to get work done I had to install in my Linux machine a Windows 7 VirtualBox with SQL Server on it and had to compile the php mssql modules by hand and... everything worked flawlessly. It was pretty awesome.
Kudos to VirtualBox and the team behind the open source php mssql modules.4
So my boss wants this mssql reference table editor. Where you point it at references table containing mapping references and it will build a pretty gui for editing the table.... and they want it in like 3 days... so I now either hack something together which is so tightly coupled to the scheme of the table it will require redevelopment each time a new reference table needs adding to be edited or I don't deliver on time and give them a solution which will understand the schema and build the exit view dynamically... I'm starting to hate these stupid deadlines! And to top it all off they justify it with stuff like "it's just an edit view!?!?" Or recently on a basic form I created it was "why do you need to write c#? It's just a HTML form!?"2
Hopefully this meets the requirements for this time of post.
In my day job I spend my life working with .Net and MSSQL.
To do something different I’ve decided to sit down and properly learn PHP in my spare time.
I’d like to do this properly, can anyone recommend good up to date tutorials?
I’ve downloaded a couple of books, but the majority of the online stuff seems to be fairly old so PHP 5.6 rather than PHP 73
So they asked if we want a wallboard or not and we answered with a NO. As you already guessed we still got a wall mounted LG TV with a small linux box.
So I started to tinker with the wallboard and created a horrible python -> HTML5/JS stuff which crawls the data worth to show and creates static pages with html5 canvas for graphs.
Later I found atlasboard which is a discontinuated dashboard from Atlassian so started to learn nodejs and rebuilt and added new widgets to show our smoketests, our mssql server metrics from zabbix, our sprint from Jira and some other servers' status.
Then I created the essential metrics again but in Vice C64 emu, I collected and exported the data in python created a PETSCII compatible .prg file and the **** Dasboard 64 **** loaded and created graphs in the emu every minutes.
That was awesome! BASIC V2 is slow as hell but still awesome.3
Disclaimer: Technically it's not "our" stack, but we have to use it so....
A webapp we built runs inside the company's network we built it for. Their IT are windows lovers, so everything has to run on Windows servers, even the tablets which are used to access said web app need to have windows.
Their company network isn't accessable from the outside world, so we have access via VPN to get into their network. But this isn't enough to access that shitty windows server our software runs on. After that VPN, you have to connect to a different VPN to which you can only connect to while you're inside the company's network. Then you have access to two servers, one the application is running on and one, well to see if you're changes were deployed correctly because the production server doesn't have a browser on it other than shitty internet explorer 8.
The only way to connect to the server is using RDP. Not even samba or so. To deploy the changes we made to our app, you need to copy paste the files from your local machine to the server. And don't get me started on running mssql migration with the shitty mssql console 😤😤
Why would anyone who isn't a complete idiot use Windows for servers or mssql in the first place????2
i am currently tasked with testing various small company ERP softwares.
for the current one i have a full 30 days evaluation copy based on MSSQL Server, i had some problems to integrate the local MS Jet Databse into the server so i call support, all is well and good..except it doesnt work. After a while it turns out, my 15 character password was too long for their software to handle. Furthermore, everytime i try to login i have to enter the password twice, after asking the support why that is they say "so you have additional validation if you entered the correct password"
i tried to explain three times that i know the password, i dont create a password, there is no need for validation, the server (hopefully) will report wether my password was right or wrong. Support guy just says "i think differently, this is a good function"
in a few weeks i will visit them personally for a meeting, i dont know yet if i can stop myself stranggling this buffon5
I always forget it's a bad idea to run queries in an "edit table" view in SSMS. Just blew up my table cause it decided to add an unwanted cross join in my update statement.
Ran it in a fresh query window and it worked fine.
I hate you legacy code.
I don't want to edit à 3k+ lines long SQL code 😭
I hate the time when people used to use stored procedures...3
I took over an application that consisted of 4 MSSQL (2005 at the time) databases, hundreds of tables, thousands of stored procedures, maybe a 1/4 of them actual still being used, external links to more than 20 other databases (MSSQL, Oracle and DB2) which all ran from a single "master" stored proc that was kicked off nightly by scheduled job.
The existing documentation consisted of a single word document, about three pages long, describing how to set up the application... on the Sql Server 6 server it had been originally created on two generations ago.
A question guys, I'm looking for a DB client. We are using SQL Management Server Studio, but its way way overkill for a frontend guy like me.
- Needs to be simple
- Must support MSSQL
- Plugin support and/or dark mode
- Free and/or not too buggy evaluation (like Sublime or Winrar)
- GUI should be reasonably modern
- Should also be native. Our database is a denormalized mess.6
How is it that years of development are not enough for NewRelic to add native support of mssql metrics in their unholy newrelic nodejs agent.????!?!?11!
On the other hand "important" databases like PostgreSQL are having native support.
Excuse me... WTF!!!!2
Why SQL, why???
I have a proc I need to modify so I add a select into it. Drop the proc and recreate it, run it, new select not giving results.
Modify the select to inverse filter to see what I do have, recreate the proc, run it, still no results...
Run four different cache cleaning queries, still no results from the new select...
Add a "select 1" before the new select, recreate and run the proc and now I have the new 1 and also the other select now has results...
Change the filters back, still getting same results...
Remove the select 1, no results...
What kind of devil cache is this?5
Writing code in SQL Server Management Studio. I miss Vim. And don't mention the "Vim like plugings"8