Automate Generate Scripts Wizard in SQL2008 - sql

Problem: how to automate a Generate Scripts in SQL2008 Management Studio:
ie right click on database, Tasks, Generate Scripts
All Tables
All Stored Procs
Create drop statements
Don't use USE statement
Generate data
This is a 20sec process to do by hand.. needs automating :-) I don't really want to code it in C# in SQL Server Management Objects (SMO).
Maybe I'll have to use AutoHotKey :-)

Use SMO - it's the right thing to do and you know it!

Have a look at DBSourceTools. http://dbsourcetools.codeplex.com
It's an open-source scripting engine for SQL Server Databases that uses SMO.

I've taken Will A's advice and tried scripting.. SQL Server Management Objects
nearly there :-)

Related

SQL Server comparing mechanism

I have a creation script for a SQL Server database and beside it I have a test script
My test Script should compare the result of my original script and the database and let me know if it is a match
I need to store the resulting script in a repository.
I've already got a script and the database. It's not hard to write the test script, but I want an app that automates the process.
I've already got Redgate tools and I heard it can make the job for me, but how? If not, are there any other tools that could do such a thing?
If you're looking to compare the structure of the two databases this can be done using Redgate SQL Compare.
Set the location of your script as a "Scripts Folder" source within the tool.
Set the database where you have run the script as the target.
Run the comparison. This will show you if there are any differences.
Generate a report of the differences which can be referred back to at a later date. (https://documentation.red-gate.com/display/SC12/Generating+a+report)
To automate this process you can make use of the SQL Compare command line. (https://documentation.red-gate.com/display/SC12/Simple+examples+using+the+command+line)
Full disclosure: I'm a developer at Redgate for SQL Compare.
I'm not sure if you are searching something to compare your data or the structure of your databases.
If it's for the structure (like Red-Gate SQL Compare and not SQL Data Compare), you can install SSDT (Microsoft SQL Server Data tools - It's free and available for visual studio).
With SSDT you will be able to create a database project and compare 2 databases structures.
Here is a quick presentation that I found on youtube:
https://www.youtube.com/watch?v=FKSsbWnFMD8
You can completely automate comparison and reporting with Apex Diff. Not sure which SQL Server are you using, but it's free for SQL Server Express.
Here is a step by step tutorial, which you should follow with one difference - set Script folder as data source:
https://solutioncenter.apexsql.com/how-to-keep-a-source-control-repository-updated-with-the-latest-sql-server-database-changes/

How can I get SSMS to provide Auto Completion for SQL Azure?

I'm trying to identify a SQL Server Management Studio option (when writing/running queries) that provides table/column auto-complete functionality in the query editor. Unfortunately, SSMS seems to stop giving you Intellisense when you're connected to a SQL Azure database. Is there any way to fix this?
Are there any options, hacks, plugins or anything else that can accomplish this?
I've finally stumbled upon an option. It's non-ideal but it is certainly a huge step in the right direction!
dbForge SQL Complete is a SSMS plugin that replaces SSMS's built-in Intellisense with its own auto-complete engine. This is a HUGE improvement when connected to SQL Azure, but so far the free version feels like a step backwards when connected to traditional SQL Server instances. Overall, I think we're going to prefer using this over not using it. I'll come back in a couple days to report how well (or not) it's going.
At least it's an option, though!
New Release of SQL Server Management Studio V17.2 now support Intelliscence so no need to have any other tools for this.
Please note that this will only work in case of SQL Server Authentication, that means logged in using SA Instance.
https://connect.microsoft.com/SQLServer/feedback/details/3100677/ssms-2016-would-be-nice-to-have-intellisense-on-azure-sql-databases
Visual Studio have enabled basic IntelliSense for Azure SQL, but it isn't avalaible easily.
You have to click on table, select from drop menu DROP AND CREATE TO -> New query window and then IntelliSense will work. If you simply use New query it will not.

Creating SQL statements for creating tables in SQLce database

I'm starting to learn database, and I will work with SQLce. Is there some type of library that can assist in creating the proper SQL statements for creating tables etc? (Not for query of the database, as I plan to use LINQ). I'm not thinking an MS library, but some amateur project maybe..
You want to download SQL Server Management Studio Express. The SSMS tools let you connect to SQL CE as well as the full blown SQL Server databases, and best of all it's free. You can create your tables via the GUI, and then instead of saving the table, you could have it show you the SQL script instead and learn that way. Everything you do in the GUI executes T-SQL behind the scenes and you have the option of saving all that SQL and running it yourself.
See this stackoverflow question here too for some more details.

Sql Server Script Generator

Is there a tool that will let me generate a single script containing all tables and views? Sql Publishing Wizard drops everything (so all data is lost) and recreates it. It does have an option to not drop, but in that case, it doesn't update tables that exist (if any columns have changed).
In SQL Server Management Studio 2008 you can right-click on a database in the object explorer, go to Tasks > Generate Scripts..., and that will give you the option to choose not only what object types you want to script, but whether or not you want to script the drop as well.
When you are making changes to existing tables, you should be writing alter table scripts to make the change and then putting them in source control like any other code. Then when you deploy a set of changes, you run the scripts you created for that deployment.
Otherwise, yes use SQL compare.
Should you look at the Red Gate products specifically SQL Compare. They'll handle any situation you could need concerning script generation and database synchronization. (You can get a trial license too, to try it out and see if it is what you need.)
Have a look at this tool can be used which has the capability to generate the create and drop scripts for the SQL server objects, provided in a configuration file.
This tool uses the same mechanism as SSMS tool uses to generate the script.
SQL Server Script Generator Tool (via C#)
Have a look at these:
WinSQL (Lite edition is free, other versions are reasonably priced + free trial)
OpenDbDiff (free)
You can also check out MyDbUtils which can create scripts for:
Stored Procedures
Functions
Views
Triggers

What's a good tool to run SQL scripts against any database?

Currently I have a custom tool which generates vanilla-SQL (only using standard SQL), from our Data-models that sets up database schemas and initial data for our new databases, and do version patches, etc... This part is all fine and dandy right now.
However running these SQL scripts against all the different databases (different vendors) is a pain, so I wrote up a quick little Php script a while back that does it for me, but I was wondering if there is any better solution to this problem?
Thanks
I use SQL Developer, it's really cool.
It runs in any plataform (is a Java application), you could connect to any database vendor and it's free.
I use Squirrel, like SQL Developer it is a java application which is free.
Description
SQuirreL SQL Client is a graphical
Java program that will allow you to
view the structure of a JDBC compliant
database, browse the data in tables,
issue SQL commands.
Download and Installation