Simple way to run SQL queries in IBM Data Studio - sql

How can I run a simple query like:
select current timestamp from sysibm.sysdummy1
In the old "Command Center" if was simply able to run such a command without creating a script/project, using a query builder etc.. However the old command center was replaced with the new Data Studio during an update.
I'm trying to reproduce an error that doesn't pop up when using my usual Aqua Data studio. However running the procedure with JDBC and/or the Data Studio throws an exception.

1) Open "Database Administration" perspective in data studio
2) To launch the SQL editor, go to Administration Explorer on the left panel and click New > New SQL Script (Refer screenshot below)
This way you can run your normal sql queries without creating a script/project, etc. Please refer to IBM official site here for more details.

Related

SQL Server Profiler not available in Sql Server Management Studio tools

SQL Server Profiler is not available in Sql Server Management Studio tools for a few users.
They can run Profiler as a seperate application but can't find this app in SSMS. Do you know what can be a reason?
Considering that profile is deprecated, and has been for quite some time, wouldn't they be better off using Extended Events anyway?
Otherwise, I suspect they have (in error) removed it. You can readd the link in the Customize menu.
Right click the toolbar and select Customize:
Select the Commands Pane, and then change the Menu bar drop down to Tools. Then find the point you want to add the Command (by default above Database Engine Tuning Advisor) and then select "Add Command" and add SQL Server Profiler:

Can't create a simple SQL Test

I'm trying to get just basic unit testing on an SQL database through a Visual Studio project.
The first thing I tried was just creating a simple .Net Core Unit Testing library.
Then I added an SQL Test, and it couldn't link to the SqlDatabaseTestClass`. Looking around, this is a fairly ubiquitous issue, but I found an obscure comment at the bottom of https://developercommunity.visualstudio.com/content/problem/29842/database-unit-test-project-does-not-build-in-visua.html that said that it's probably a linking issue.
So I created a .Net Framework Unit Test project. Now that has no option to add an SQL Test.
So I found an article that says that I should try creating an SQLDatabase https://www.codeguru.com/csharp/.net/net_data/create-sql-server-database-unit-tests-using-visual-studio.html
But then I got an error that The server version or database compatibility level is not supported. Import Database in VS 2015 SQL Server Database Project
The solution to that was to go to the SQL Server Object Explorer and right click on the DB and create an SQL project by right clicking on the Database. And that worked! Finally I have a project with database tables.
But now when I right click on a stored procedure, I don't get the option to create a unit test.
I figured it out.
Open the View -> SQL Object Explorer in the top menu bar in Visual Studio 2017. Make sure it's the Object Explorer and not the Server Explorer. These instructions presuppose that you have your connections setup properly.
Right-click on your database and click Create New Project. Make sure the directory is correct because it wasn't for me.
After the database imports, go to your Error List and resolve all those errors. Now you should be able to right-click on a stored procedure in either the SQL Server Object Explorer and select Create Unit Tests.
Allowing Visual Studio to do all the heavy lifting sorted me out.

VS LoadTest does not save results into the SQL Server

I am performing a Load Test using VS, but the results are not saved in SQL Server.
When I run the test, the table LoadTestRun is populated with data, but when the test is done, the table LoadTestTestSummaryData stays empty.
Let me know if you need more information.
Thank you
As pre-steps you need for Performance and Load Testing with Visual Studio:
install and configure Visual Studio ULTIMATE.
SQL Server (e.g SQLEXPRESS 2012) (both SERVER & MANAGER) e.g.
Be sure that SQLEXPRESS service is running. You can run SQL Server Configuration Manager and start it manually. Be careful for the correct INSTANCE_NAME. Also in Task Manager > Services. Next go to Start menu and find VS2012 Cross Tools Command Prompt. Type the following:
cd C:\ Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
and
SQLCMD /S localhost\sqlexpress /i loadtestresultsrepository.sql
This will create Load test DB schema that is required for VS 2012 Load tests.
On the Load Test toolbar, choose Manage Test Controllers. The Manage Test Controllers dialog box is displayed.
In the Load Test Results Connection String, click the browse button (…) to display the Connection Properties dialog box.
Note
If you change the connection string for a controller, then you must select the controller.
In Server Name, type localhost\sqlexpress or the name of the server that you used in step 2 such as ContosoServer1.
Under Log on to the server, choose Use Windows Authentication.
Under Connect to a database, choose Select or enter a database name. Select LoadTest from the drop-down list box.
Choose OK.
All these steps has to be executed in order to get the proper level of integration between VS, SQL ( and maybe Excel for reporting). I suspect that
table LoadTestTestSummaryData stays empty.
because you are missing one of the above mentioned steps.
Could you get to database where you saved your result in, should be something in \sqlexpress in default? if only one table, there could be something wrong with Visual Studio. If you didn't get any table from load test, I would suggest you reset your follow this MSDN link and see what you may have missed:http://msdn.microsoft.com/en-us/library/ms318550.aspx

How to change the connection in Sql Server Data Tools Editor in Visual Studio

My goal is to keep SQL Server stored procedures under source control. I also want to stop using SQL Server Management Studio and use only Visual Studio for SQL related development.
I've added a new SQL Server Database project to my solution. I have successfully imported my database schema into the new project, and all the SQL objects (tables, stored procedures) are there in their own files.
I know that now if I run (with F5) the .sql files then my changes will be applied to my (LocalDB). This if fine, but what if I want to very quickly run something on another machine (like a dedicated SQL Server shared by the entire team)? How can I change the connection string of the current .sql file in the Sql Server Data Tools editor?
I have the latest version of Sql Server Data Tools extension for Visual Studio 2012 (SQL Server Data Tools 11.1.31203.1). I don't know if this is related to the current version, but I cannot find anymore the Transact-SQL Editor Toolbar.
I have also tried to Right-click on the sql editor, choose Connection -> Disconnect. If I do the reverse (Connection -> Connect...) the editor directly connects automatically (probably to my LocalDB), without asking me a dialog to choose my connection.
Another strange thing I've observed, if I try to run a simple SQL query (like select * from dbo.ApplicationUser I receive the following message (even if the autocomplete works):
Thanks.
(Note: I have the same issue with Visual Studio 2013)
Inspired by srutzky's comments, I installed the latest SSDT pack (12.0.41025). And bingo, like srutzky said there is a Change Connection option. But what's more, you can specify your Target DB by right clicking on the Project in the Solution Explorer, and going to Properties->Debug and changing the Target Connection String! If you're stuck on an older SSDT, then the below instructions will still work.
For SSDT 12.0.3-
I've also been plagued by this problem! My solution is below, but it has some Pros and Cons to it...
SOLUTION
I'm assuming that you are using a SQL Server Project in VS (I'm using VS2013 and SQL Server 2012).
Right click on your .sql file in the Solution Explorer and view Properties.
Change Build Action to None.
If the file is open for editing, then close it.
Reopen the file, and the T-SQL Editor should appear at the top.
Click Connect, and you will connect to your (localdb).
Click Disconnect.
Click Connect again and the SQL Server Connection dialog should appear.
Switch the connect string of '(localdb)\Whatever' to '.' (for some reason using '(localhost)' didn't work for me).
Voila, you should now be able to query against your SQL Server DBs! Rinse and repeat for every file you want this capability with... :/
PROS
You can finally run queries directly against your SQL Server DB
Your code can be organized in a nice VS solution (SSMS doesn't allow folders! :/)
You can (after switching Build Action setting back) Build the project
CONS
I'm not seeing any autocomplete/intellisense against the remote DB, although if you import your DB, then you could gain the intellisense from that
Requires each file to switch Build Action to None
This should be a fairly simple and straight-forward thing to do, that is, if you are using SSDT version 12.0.41025.0 (or newer, one would suppose):
Do either:
Go to the SQL menu at the top of the Visual Studio window
Right-click inside of the SQL editor tab
Go to Connection ->
Select Change Connection
Then it will display the "Connect to Server" modal dialog window.
If you do not see the options for "Disconnect All Queries" and "Change Connection...", then you need to upgrade your SSDT via either:
Visual Studio:
Go to the "TOOLS" menu and then "Extensions and Updates..."
Direct download:
Go to: http://msdn.microsoft.com/en-us/data/tools.aspx
The fastest way to achieve this is create a new SQL Connection, copy and paste the code then execute.
What I do is Tools->SQL Server->New Query.
Enter the database credentials (And make sure that the Database at the top is correct - I have hundreds of sp's in my master db on local :) )
Copy the source code from the editor, paste into the new query window.
Then Execute (CRTL-Shift-E).
You can leave this 'scratch' window open and pinned for easy access for subsequent executes.
If you want to deploy (i.e. publish) the entire database then you can setup a publish destination for each server, right click on the xml and select publish..

Is there a way to import SQL script into MDF database in Visual Studio?

I created a "Service-Based Database" (.MDF) in Visual Studio and now want to import a SQL script into it, but cannot find any way to do this:
I can right-click on the .mdf file and choose "New Query" but there is no place to copy in query text as in Management Studio
Does the Visual Studio 2008 Database Explorer have a way to enter or import SQL query text?
When you choose "New Query", the default behavior is to open the Query Editor. So you have to close the Add Table. After that, you should see a window with four panes - Diagram, Criteria, SQL and Result pane. You should be able to put your script to SQL pane and run from it. The Studio may complain about being unable to parse the script, just ignore it and hit ok, the script should run.
If you cannot see these panes, ensure you have "Query Designer" toolbar enabled and "SQL pane" button pushed.
However, I would recommend installing SQL Management Studio, there is a free express version available.
Why don't you just attach the database directly to your SQL Server (or SQLExpress) and then copy the database objects. The detach from the sql server again.