SQL server services not getting started - sql-server

I am getting below two errors when I try to start SQL server from services.
This issue started since I messed up something with SQL server configuration manager in order to add an alias so I can login with localhost name.
Can anyone please help me? I have already searched plenty places to resolve this.

Follow the advice, examine the errorlog and make the appropriate corrections so the database can run the upgrade.
Alternatively follow the later advice and restore from the backup you most recently made (before the config change right?).
Lastly if no backup and errorlog resolution fails, try to find out how your previous change affected the sql server and reverse the changes.
Good luck!

Related

SQL Server Deployed SSIS package won't open files despite SA account having access to folder

I posted a similar question before, but I have now came back to the point where I need to deal with this and after some tuning I have managed to get rid of all the errors, except one warning that basically tells me that the path provided to the package not finding any files in the directory (which is false). This almost makes me want to believe this is again a permissions issue. As when I run the package locally it all works fine. Here is the warning:
Same message appears when I right click SSIS package under the catalogue and directly try to execute the job.
I made sure that the caller has full permissions to the folder in question
SQL Server Agent Job calls the job like so
With a single step in it to execute the SSIS package from the catalogue:
The history of the executions is all successful and the history of SQL Agent job is all green
One of the suggestions I got was to open SQL Server Configuration manager but I don't appear to have access to that. I am new to this whole process so I am not sure if authentication has something to do with it or the sa account's permissions.
Note: I am working on this on a remote dev server and not directly on my pc.
Any help would be greatly appreciated.
Since you're running the package as the Agent Service Account:
The permissions need to be applied to the SQL Server Agent Service Account or its per-service SID.
You can see the service account with PowerShell like this:
PS C:\Users\david> (Get-WmiObject win32_service | where Name -eq "SQLSERVERAGENT").StartName
NT Service\SQLSERVERAGENT
Turns out the database instance was on a whole different server that I wasn't even given access to. That server obviously didn't have the path specified in the SSIS package, so what I had to do is create a folder for files in the correct server, reroute my files there, and change the SSIS package path after obtaining the access to the server where DB instance lives. Me being new to all this, it was absolute frustration especially since our team is small and I am new in it I can't just ask someone questions about this all the time. Hopefully this will save someone a lot of time.

Why does my SSIS project not deploy from SSDT 2017?

recently, when I try to deploy my SSIS project from SSDT 2017 I get the following error:
Failed to deploy project. For more information, query the operation_messages view for the operation identifier '2'. (Microsoft SQL Server, Error: 27203)
Moreover, SSIS does not write any message to "operation_messages" - the table is empty. All I get is a non-descriptive entry in the "operations" view.
I have recently recreated the SSIS DB in order to fix the error (did not work), hence the low count in the "operation_messages" view. We have also restarted the database server.
Has anyone had a similar problem and can point me in the right direction.
Cheers!
Edit: I can run the project from SSDT with no problems.
Edit 2:
If I copy the package to my local machine, it deploys without any
issues. On the server, I get the deployment error, even if I try to deploy a newly created empty package.
We have resolved the problem. The final clue came from the Windwos event log, where we found out that SSDT was trying to deploy to a wrong database ("Database..." instead of "DB..."). The wrong information seems to have been retrieved from the sys.servers table. We updated the wrong information by using
EXEC sp_dropserver 'Database...';
GO
EXEC sp_addserver 'DB...', local;
GO
Now I can deploy the project again. I have no idea how the incorrect information ended up in sys.servers, but this has done the trick. Thanks to everyone who tried to help out!

SQL Server Merge Replication error

I am getting a very strange error message at one of our client sites and I am having very little luck trying to figure out what is going on.
Hr=80040154 ERR:OpenDB failed getting
pub version 28627
That is the error message that is from the Merge Agent (IIS) logs. From what I can tell, it is a COM error not being able to load a specific COM object, but I don't know which one. From that, I think this client might not have something installed, but I don't know what that something.
Does any one have any thoughts about what might not be installed? Any other ideas on how to troubleshoot this?
Thanks.
This error could be related to permissions: Did you configure a snapshot share and give the IUSER_Machine name rights to Read and List Files and Folders?
You could restart the synchronization with verbose history logging as described here: How to enable replication agents for logging to output files in SQL Server.
Check these:
Ensure your subscription database is not timing out on auto-grow.
Make sure there is enough space to apply the snapshot on the subscriber
It turns out that there was a DLL that wasn't registered. It was sqloledb.dll (C:\Program Files\Common Files\System\Ole DB). I found this by using the ?diag on the merge agent.
http:////sqlcesa35.dll?diag
That page shows a nice summary of the versions of DLLs that it is using and such. When I did that at the client's site, it showed "unknown" for the version of that DLL. Running regsvr32 on the DLL allowed sqlcesa35.dll to see it and the diag page showed a version number.

SqlServer is in script upgrade mode

Vista just finished one of its many updates. After restarting my computer I try connecting to SqlServer2008 instance with Sql Server Management Studio and I get this error:
Error connecting to '...\MSSQLSERVER2008'.
Additional information:
Login failed for user '...'. Reason: Server is in script upgrade mode. Only administrator can connect at this time. (Microsoft SQL Server, Error: 18401).
Pressing help gets me to an internet page saying there's no additional information.
Thx Vista & Updates. Anyone an idea because on the internet I can't find anything about this issue.
It appears This Guy was having the same problems as you and his only suggestion was to wait a few minutes before trying to log in again.
I have yet to see any type of Microsoft documentation about this, nor have I seen any forum posts which came to any sort of resolution concerning the same problem.
Check your event viewer. I had the same problem and found that (in my case) it was looking for a directory that didn't exist to perform an upgrade script. NO hint that there was any sort of problem in the dialog, but the event viewer showed clearly what the problem was.
jim
I had the same problem. Waiting until update was done did not help. Solution was, (after checking Windows eventlog) to set the folder rights. SQL-Express had no rights on the database folder, why ever. Something has mixed up the rights during the upgrade from WinXP to Win 7. That was it.
Adding a comment to this page since this is the top Google result for "script upgrade mode". It seems that a number of things can cause a SQL Server DB to go into this mode. In our shop we've run into these two cases in the past months:
Log shipping - Can't recall at what point of the process exactly the DB went into this mode, iirc it was when bringing it back up. The solution was just to wait it out.
Hard drive full - The DB went into this mode when it ran out of space. We're currently clearing up the drive, will come back with an update if waking it up turns out to be challenging.
Update: After freeing up disk space, it was a simple matter of setting the DB "Offline" and then "Online" to bring it back up.
We had the same issue, but needed to know what was going on in the background.
The db's were put into recovery mode, hence they had to recover. To assist we went to the SQL Server error log located where the system files (normally master, model, msdb...) are located, but under the log folder. In the ERRORLOG, we did a find on the word recovery and could watch the db's percentage recovered. Everything recovered normally, but it was much longer than expected.
The Reason for this is that the system reboot happens with important\necesssary softwares loaded and does all other operation later so that the booting happens faster.
Here in your case, the sql booting is happening as the start of SQL is not needed for system to start. I hope you are aware of DAC account(Dedicated Administrator Connection, Link) who has seperate connectivity and has ability to resolve issues even the whole SQL server is not responing. The SQL server is asking you either to wait or open the SQL with DAC account and stop the SQL update.
Solutions:
1) Wait until backround update completes
2) Open SQL using DAC account and kill all running processes

Rename a sql server instance

Is it possible to change a sql server instance name? Or is it something that can only be set during installation?
To the best of my knowledge, they can only be changed at install time. You might be able to change the name with the installer package while keeping the current info. I would make backups of all of your databases and then try this.
On another note, changing instance names will just cause you so many headaches. Even if you can do it, I would strongly reccomend leaving well enough alone.
You can't rename the instance but you can rename a server (sql2000 only) - does that help at all?
Have a look at:
sp_dropserver 'oldname', 'droplogins'
and then;
sp_addserver 'newname', local
Be aware that if there are any jobs running on that server they'll need to be renamed too;
use msdb
go
update sysjobs set originating_server = 'newname'
You'll need to restart your SQL Server

Resources