Raise Error Message - sql

In SQL Server 2000, where we don't have SQL Mail set up(for whatever reason) I have a SQL Job that runs the packages on a timer, but even though I have an ActiveX message box in the package it still doesn't raise. I am aware that the message probably does pop up, I don't know where, but I still need to warn the user something as simple as "Package Completed."
Any ideas?

Jobs run under the service SQL Server Agent, and services are not allowed to interact with the desktop.
Try going into your list of services (Start -> Control Panel -> Administrative Tools -> Services):
Right-click on the SQL Server Agent service -> Properties -> Log On ->
Check off "Allow service to interace with desktop".
In general, I'm not sure that having a job interact with the desktop is a good idea. A better approach may be to set up a task to write a message to the event log, or an entry into the database that it is backing up.

Related

SQL Server Browser won't start

I want to start playing around with databases in Java to help with my university work however I can't get SQL Server to work properly. I've installed it using the wizard and selecting 'Basic' the installing SSMS. However when launching SSMS I get Error 26. When researching this it says to make sure that the SQL Server Browser service is running. Unfortunately this is the issue, every time I try to start the service it fails.
All the fixes I've seen about this topic have been related to servers on another machine where as I am trying to run the server on my own PC. I've tried them anyway but nothing has worked so far. The only thing I can find that might give you a clue in helping me is that in the log file it says that it failed to register the SPN.
When working on my local machine, I don't usually need SQL Server browser - but my SQL Server itself isn't set up to run automatically.
You can go to services (either via window and search for 'services', or in Windows 10 open the task manager, go to the last tab 'services'). Find the 'SQL Server' service (it helps to sort by description column) and right click -> start.
If you take note of the name (default is 'MSSQLSERVER') you can start the service (e.g., in a batch file, from command line) using sc start "MSSQLSERVER" (or whatever your server instance is called).

FILESTREAM feature is disabled

I have a database set up with FILESTREAM enabled on it (if you go to Properties\Advanced on the instance, it shows that FILESTREAM is enabled). I also ran the sp_configure script on it after doing this to enable the access (to make sure it was enabled). But...as soon as I try to alter the database and add the filegroup to it, it says that the feature is disabled.
I have it enabled on other instances on the same computer, and those work fine. It is only this one that is not working. I have not been able to find any good suggestions as to why it is not working.
It is a SQL 2008 R2 instance.
I was unable to script this, (using the link provided by user1977061), as the MSSQLService requires a restart afterwards to apply the change. Even after doing this it didn't work, and instead I had to manually configure FILESTREAM usage via:
SqlServer Configuration Manager
Sql SQL Server Services
SQL Server(MSSQLSERVER) [Properties]
FILESTREAM tab - enable the first 2, and optionally 3rd check box.
Look at the SQLServer properties > Advanced > Running Values value for "Filestream Access Level" to ensure that the FILESTREAM is actually enabled if in doubt.
Was FILESTREAM enabled on the instance level, though?
In Microsoft Sql Server Management Studio, right-click the server and select Properties. Then on the Advanced page, ensure that FILESTREAM Access Level is not set to Disabled (Which I believe is default):
Changing the FILESTREAM settings through SQL Server Management Studio -> Properties -> Advanced had no effect for me, and SQL Server Configuration Manager kept giving me an error when I enabled FILESTREAM there:
There was an unknown error applying the FILESTREAM settings.
Check the parameters are valid. (0x80041008)
Digging around on the internet led me here as well as to this page: https://social.msdn.microsoft.com/forums/sqlserver/en-US/d8060fdd-4583-4bf7-bdcf-4fd053d5d2c0/unknown-error-applying-the-filestream-settings
Fortunately one of the suggestions there was the solution. Connect to the server with SQL Server Management Studio and run this script:
sp_configure 'filestream access level', 2
reconfigure with override
Note: This was for 64-bit SQL Server 2012
For me this worked out:
forget about Microsoft SQL Server Management Studio to solve this bug
find SQLServerManager**.msc in folder C:\Windows\SysWOW64 and open it
enable filestream as in the picture, by clicking on properties
Database import should work then!
I've done this a thousand times and always follow the steps as Mojo outlines above. However I found that on one computer I couldn't get this to work unless I changed SQL Server Service from running as NT Service to running under a local account. I even reinstalled SQL Server, no luck.
I did as follows:
Click start
Type 'compmgmt.msc'
Expand 'Services and Applications'
Sql Server Configuration
Right Click on 'SQL Server (MSSQLSERVER)' and choose 'Properties'
On the Log On tab, change the user to a local account
Maybe one day this will save someone from banging their head on their desk until their eyeballs pop-out.
If you still are having problems with this i suggest you checkout this link!
I had the same problem in which only one instance didn't activate filestream properly. The solution seems to be to use the SQL Server Configuration Manager and enable it from there.
In addition to the other answers: the account that is used by the sql server service must be a member of the Administrators group.
Symptom: the "Configured value" in the server properties does show "enabled", but the "Running value" stays at "disabled".
I got this working by enabling filestream not in SQL Management Studio but in SQL Configuration Manager. See https://learn.microsoft.com/en-us/sql/relational-databases/blob/enable-and-configure-filestream?view=sql-server-2017.
On the Start menu, point to All Programs, point to SQL Server, point to Configuration Tools, and then click SQL Server Configuration Manager.
In the list of services, right-click SQL Server Services, and then click Open.
In the SQL Server Configuration Manager snap-in, locate the instance of SQL Server on which you want to enable FILESTREAM.
Right-click the instance, and then click Properties.
In the SQL Server Properties dialog box, click the FILESTREAM tab.
Select the Enable FILESTREAM for Transact-SQL access check box.
If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Enter the name of the Windows share in the Windows Share Name box.
If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.
Click Apply.
In SQL Server Management Studio, click New Query to display the Query Editor.
In Query Editor, enter the following Transact-SQL code:
SQL
Copy
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
Click Execute.
Restart the SQL Server service.
For me only the combination of SchmitzIT and Mojo suggestions made it work
I also stumbled into this problem and by trial and error i found out that the solution was to change the account under which Sql Server runs so from SS Configuration manager i located the sql server instante, right clicked "Properties" and on the "LOg On" tab i changed Logon as "This account" to "Bulil-in account", where i choose "Local system".
After a service restart all went fine.

My job is running but no data is comming

I have got a ssis package which runs when I manually run from Integration Services. But when I try to run it from a job. Then it runs but no data is seen in the data. There seems to be some permission issue. Can somebody tell me what permissions are required for running a package from a SQL Server Job?
State the error message.
If you are using a flat file connection manager, and that's where the error is occurring, click 'start' then 'computer' then check to make sure you are mapped to that drive. If not, click the tab upper right corner to map to the drive then when you access the file through SSIS you shouldn't have an error.
If the package runs successfully as a job using the SQL Server Agent then you have the permissions set right for the database side.
However make sure if you are accessing any external data such as flat files that the agent is able to access these locations. You may have permissions on your Windows account to access the locations when you run the package in Visual Studio but the agent service running the job requires those permissions too.
If this is not the case can you clarify what your package does and any messages you receive from the catalog reports so I can help further.

Remove initial dialog in SQL Server Management Studio

I'd like to remove the initial "Connect to Server" dialog that pops-up at the startup.
As I prefer using the "Registered Servers" list to access my servers, that dialog is simply annoying.
I'm using SQL Server Management Studio 2012, if thats important.
Thanks
Tools -> Options -> Startup
At Startup: Open empty Environment.
It's actually Object Explorer and/or a query window and/or activity monitor that's asking for you to connect - so it has something to work with. All of the options other than "Open empty environment" require some kind of connection to work.

How do I see currently executing web request on IIS 8

In IIS 7, I would click on "worker process" then "View Current Request" to see all the requests currently being executed.
http://technet.microsoft.com/en-us/library/cc732518(v=WS.10).aspx
In IIS 8, I do not see this option. Is there something I need to set up on IIS 8?
Edit: I tried running inetmgr as administrator as well.
There wasn't any UI hints, but was able to turn it on as a feature under server manager.
Server Manager -> Add Roles.
Web Server (IIS)
Web Server
Health and Diagnostics
Request Monitor
The required features can be installed with PowerShell.
IIS Manager:
Install-WindowsFeature Web-Mgmt-Tools
Request Monitor:
Install-WindowsFeature Web-Request-Monitor
With these features installed, run IIS Manager, browsing to the Worker Processes section shown in the screenshot below. From the list of Worker Processes, either double click on the process of interest to view currently executing requests or use the right-click context menu.
The back/forward arrows to the left of the address bar can be used to navigate back and forth between the list of requests and worker processes. The alt+left arrow / alt+right arrow keys perform the same actions.
I had to do this from an elevated command line
%windir%\system32\inetsrv\appcmd list requests
If you want to see requests exceeding more than 5 seconds
%windir%\system32\inetsrv\appcmd list requests /elapsed:5000
In a loop (assuming you are in %windir%\system32\inetsrv\
for /l %x in (,,) do (appcmd list requests /elapsed:5000 & timeout 2)
This show's the steps to install it. From https://portal.ektron.com/KB/10396/:
To run it after it's installed you will need to find the "Worker Process" icon on the server settings in IIS Manager.
Another good option with ASP.net is to go to task manager, right click on the process and select "Create Dump File" then download and double click on the created .dmp file to load it into Visual Studios debugger. Then look thru the threads and their call stacks to see where all the requests are being executed. This method allows you to see exactly what the requests are doing (infinite loops, deadlocks, etc.)