SQL Server Admin 2014 :: Unattended Upgrade Fails On Missing Registry Entry?
Jun 23, 2015
I'm trying to do an unattended upgrade of 2014 RTM to 2014 SP1.
It's my first attempt at an upgrade configuration file, and its failing with missing registry entry for database engine service and replication service.
Error in summary.txt is:
The registry key SOFTWAREMicrosoftMicrosoft SQL ServerMSSQL12.MSSQLSERVER2495Setup is missing
That's a valid error, as the registry only has an entry for:
While running Sql 2014 upgrade advisor against a 2005 remote sql server. Below is the error im getting:
"Could not populate SQL Instances: System.Security.SecurityException: Requested registry access is not allowed"
Its able to connect SQL 2005 DB server and its also populating all the required Databases, but when i'm tring to click Run at the last step above error is coming. I even installed SQL 2012 upgrade advisor in my system and getting the same above error.
However if i use SQL 2008 upgrade advisor and connect to SQL 2005 server im not getting any error.The tool is generating successfully all the Pre and Post upgrade issues.
I'm running the tool with Run as administrator option. Is there any specific change i need to do in my system so that the tool runs successfully.
Hi im trying to install Sql Server 2005 but it says i need to Increment the Counter Registry Key for Setup in SQL Server 2005 before doing so. Im following the guide at http://msdn2.microsoft.com/en-us/library/ms143215.aspx but in my registry the folder HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflibdoesnt contain any keys"Last Counter"=dword:00000ed4 (5276)"LastHelp"=dword:00000ed5 (5277) or any key for that matter.How can i fix this?
I have a job that runs an SSIS package. The job seems to be able to run through the package successfully, but at the end it errors out saying "The binary code for the script is not found. ...". The script referred to is at the beginning part (not the very first step) and should already be run.
The thing is, I can manually run this package on the server or visual studio without any problem. Also this job has been run on a regular basis without any issues on our old SQL 2008. I'm migrating this to Amazon Cloud SQL 2014.
Together with this package are other two very similar ones. They all work fine. I just can't figure out what can be wrong with this one.
I have configured windows failover clustering 2012 on 4 of my test nodes.
I am trying to add another node into this cluster but its not happening. I am not even able to start the cluster service in services.msc
After installing windows failover clustering, when I go to the C:WindowsCluster folder, I am unable to find CLUSDB, CLUSDB.1.container, CLUSDB.2.container and CLUSDB.blf files in the folder.
These files are very much present on the other nodes where cluster service is running.
I tried copying these files manually to server where its missing but still no luck.
i m not able to start the SSIS service on my laptop . IT gives error saying SQL server integretion service 11.0 service on local computer started and then stopped . some services stop automatically if they are not in use by other services or program
i am not able to start SSDT . it gives error
microsoft visual studio is unabble to load this document to desigen integration service package in ssdt , ssdt has to be installed by one of these edition of sql server ; std enterprise,dev,or evloution
i hav installed sql 2012 evolution verison on my local desktop.
I have a SQL Server 2008 instance that is running on "LiveServer" our production database (ProdDB) - and we need to upgrade to 2014. In order to do some upgrade testing, I spun up a VM with the same version of SQL server on the test VM (TestServer), did a backup of the production DB from the live server, and restored it to TestServer under a different name (ProdDBUA).
I then installed SQL2014 Upgrade advisor onto TestServer, and ran it, checking all the boxes (reporting services etc..) and it all came back clean - no issues whatsoever - not a single warning even. I'm under the impression that stored procs/functions etc... all reside within the DB, so a backup will include those. Is that correct?
The problem is, I know I have stored Procs, functions and views that use deprecated joins in that LiveServer.ProdDB. What do I need to do/configure/check in order to make sure that the Upgrade Advisor is actually checking through all that T-SQL that has deprecated code? I want to have a list to give to my report writers of procs/functions/views that need to be rewritten prior to the upgrade going live.
If there is a modification that needs to be run on the TestServer.ProdDBUA, a cursor to change the path etc. DB is running in Compatibility mode 90.
I'm running a primary and secondary on sql server 2012 enterprise edition on windows server 2012, and it runs fine except when a network outage occurs.
Then the handshaking keeps failing, the databases on the replica show as not synchronizing and the only way to fix this is to reboot both primary and secondary.
We keep getting 3520's, etc. on the DR error log
How to eliminate all these prod reboots?
I increased query connection timeouts to 60, but saw no change.
We recently had a problem with DB Mail. SQL jobs that sends an email succeeded but the email in the job fail to sent. There was a problem with the email server. The error is included. We fixed the problem with the email server. How can I get an alert when a DB Mail email fails send?
Date4/23/2015 10:01:06 AM LogDatabase Mail (Database Mail Log)
Log ID5907 Process ID13204 Mail Item ID5702 Last Modified4/23/2015 10:01:06 AM Last Modified Bysa
Message The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2015-04-23T10:01:06). Exception Message: Cannot send mails to mail server. (Insufficient system storage. The server response was: 4.3.1 Unable to accept message because the server is out of disk space.). )
I want to access a registry entry in a package configuration but am having problems. I am looking for some example values for the "Registry Entry" field in the Package Configuration Wizard.
The test is a simple one, fill a variable with a registry value and present it in message box. I have tried a number of different values but can't seem to get the right one. Here are somethat I tried:
Our product ships with a bootstrapper that installs SQL Server 2005 silently for our clients - basically it's a pre-req which we load for them if it's not already installed.
The bootstrapper supplies the service account identity parameters for the SQL Server install command line in English. It supplies the local system account (NT AUTHORITYSYSTEM).
The problem occurs when we tried to install the product onto a French version of XP. We got the error message "SQL Server setup could not validate the service accounts. Either the service accounts have not been provided for all the services being installed, or the specified username or password is incorrect. For each service, specify a valid username, password, and domain, or specify a built-in system account."
Having read the page http://msdn2.microsoft.com/en-us/library/ms143504.aspx#Localized_service_names we have discovered that the system account identity has a different name for French (AUTORITE NTSYSTEM) along with some other languages ... but we're not sure how to resolve the problem.
Can anyone out there tell me whether we ... 1) Can get the machine being installed on to tell us the local system account identity so we can substitute it into our command line in the bootstrapper? 2) Have to write a different bootstrapper for each language that names the local system account identity differently? 3) Have overlooked some other solution?
Also, does anyone know how many languages and which they are that give the local system account a name that's different to "NT AUTHORITYSYSTEM"??
Thanks, Sara
<EDIT>
Sorry, omitted a vital bit of information. The bootstrapper is written in C++. We know the .NET code to retrieve an NT account given a well known SID. Can we do the same in C++ somehow?? </EDIT>
I have a script that performs an unattended installation of SQL Server and works fine.
However, if I un-install via the control panel all the files are removed apart from the databases that are created by me when SQl server was installed. This is good and ensures data is not deleted.
The files left over are in the following directory: C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData and contains: MyDatabase.mdf MyDatabase_log.LDF
The problem I have is after performing the re-installtion of SQL server (unattended) I am unable to create a new database with the same name (in this instance called "myDatabase").
The actual files are physically there so this is the reason a new database with the same name cannot be creacted.
Again this is ok again because it ensures I cannot overwrite existing data. However I am unable to re-attach this database to SQl server so I can continue to use it!
The question is:
How do I make this database usable again after an unattended install? Is there a parameter I am missing?
Below are the commands I use that are passed to the installation of SQL Server as command line parameters:
The last four commands I have played around with but for some reason SQL Server service will not start when these are used! (This is a different issue though!).
I am posting this to hopefully help someone else that encounters the same issue in the future...
Server: SBS 2003 Premium, with exchange and with all service packs/patches applied. Server-name: NEWSERVER Server migrated from: OLDSERVER Important notes:
This server was migrated from another SBS 2003 on different HW following the instructions provided by microsoft. The oldserver had exchange and sql 2005 installed on it. The new server has Office Accounting 2005 installed, but I don't think that matters...
I am trying to install SQL 2005 from the SBS2003-R2 DVD onto the new server, and get the following error:
Error: ---
TITLE: Microsoft SQL Server 2005 Setup ------------------------------
SQL Server Setup failed to modify security permissions on registry key SOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.2MSSQLServerSuperSocketNetLib for user Administrator. To proceed, verify that the account and domain running SQL Server Setup exist, that the account running SQL Server Setup has administrator privileges, and that the registry key exists on the destination drive.
For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=29508&EvtType=sqlca%5csqlsddlca.cpp%40Do_sqlRegSDDL%40ExceptionInSDDL%40x7344
I looked in the registry, and the administrators group has full control over this key.
Digging into the SQLSETUP log file, at the end I see: ---
Configuring ACL: Object: HKLMSOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.2MSSQLServerSuperSocketNetLib ACL: (A;CI;KR;;;[SQLServer2005SQLBrowserUser$NEWSERVER])(A;CI;KR;;;NS) Action: 0x100 Failed ACL: ReplaceSDDLSid is failed at the error code 1332; Converted SDDL: '(A;CI;KR;;;[SQLServer2005SQLBrowserUser$NEWSERVER])(A;CI;KR;;;NS)' Error Code: 0x80077344 (29508) Windows Error Text: Source File Name: sqlcasqlsddlca.cpp Compiler Timestamp: Tue Sep 13 01:08:29 2005 Function Name: ExceptionInSDDL Source Line Number: 65
---
Looking into AD Users+Computers, there is not a group present for SQLServer2005SQLBrowserUser$NEWSERVER but there is one for SQLServer2005SQLBrowserUser$OLDSERVER.
It appears that the install did not create the new group that was necessary..
Once I duplicated the OLDSERVER group, renaming it to have NEWSERVER, the installation completed without error.
I hope this saves someone else a few hours of pain.
I want to set up a database role so that users can use sp_readerrorlog through SSMS. It does a check on membership in the securityadmin role.
I have tested it and can see you can grant execute on xp_readerrorlog but the SSMS GUI uses sp_readerrorlog.
I thought I could create a user/certificate and add the signature to sp_readerrorlog but it's not permitted (likely because it's not a normal database object).
So the other solution is to add the users to the securityadmin role but then explicitly deny alter any login (best done with a custom server role in 2012+ but otherwise just manually in 2008). I tested this out and it works, I'm not able to alter any logins or increase my own permissions, I also did a check of what's reported from fn_my_permissions(null, null) and it shows minimal permissions like I'd expect.
How can one perform upgrade to SQL 7.0 from 6.x without using the upgrade wizard? Is there any unattended upgrade option that one can exercise?
Also, if SQL 7.0 is already installed, can one do a selective upgrade of some SQL 6.5 objects? For instance, can one upgrade only the tables, views and triggers from 6.5 to a 7.0 database?
Any pointers, help, info in this regard would be greatly appreciated!
We developed a sql server compact edition application, and deployed to client machines. Installation is working for all machines, however, when running the application, some machine had the error message "Mobile encountered problems when creating the database", (first run of this application will replicate the database from sql server 2005 to local sql server compact edition file .dsf), some machine did not have this issue. I found the machine experiencing the problem does not have the HKey_local_machinesoftwaremicrosoftwindows CE services folder in the machine. Anyone here know which component is missing from windows XP with services pack 2? Thanks.
The RC1 installer (and the previous beta too) doesn't write in the following registry key:
[HKEY_CLASSES_ROOTCLSID{32CE2952-2585-49a6-AEFF-1732076C2945}OLE DB Provider] @="Microsoft SQL Server CE 3.0 OLE DB Provider for Windows"
so this provider doesn't appear on the oledb "Data Link Properties" panels. Manually entering the above key solves the problem. The last summer CTP version has been done this trick.
We're trying to use the unattended installation method for installing SQL 2000 on Windows 2000 servers. I've installed it (through terminal server) on two machines successfully, and two machines unsuccessfully. On the unsuccessful machines, it fails with no errors, and no SQL files are installed (bombs out almost immediately).
Anyone else had this problem? Could it possibly be a hardware issue?
I am doing an unattended upgrade of Sql Express with Advanced Services SP1. Before the upgrade the services run under domain accounts. I use the following command :
However after the ugrade the service accounts are running under local system.
Documentation is unclear, i find the following:
; The services for SQL Server and Analysis Server are set auto start. To use the *ACCOUNT settings ; make sure to specify the DOMAIN, e.g. SQLACCOUNT=DOMAINNAMEACCOUNT ; NOTE: When installing SQL_Engine 3 accounts are REQUIRED: SQLACCOUNT, AGTACCOUNT and SQLBROWSERACCOUNT. ; SQLACCOUNT Examples: ; SQLACCOUNT=<domainuser> ; SQLACCOUNT="NT AUTHORITYSYSTEM" ; SQLACCOUNT="NT AUTHORITYNETWORK SERVICE" ; SQLACCOUNT="NT AUTHORITYLOCAL SERVICE"
To my knowledge the <> is not required. Can someone please help as i cannot get the services accounts to run under a domain user after upgrade.
This is the actual code which generates one .htm file every 24 hours with the count of hourly logins. So the entries (as per the below logic) start at 12:00 AM everyday and end at 11:00 PM. The catch is - the entries come up fine upto 10:00 PM. The '11:00 PM entry' is missing in all the .htm files. I tried several options and later, I 'force added' an ELSE IF condition especially for the 11:00 PM case, indicated in the code below but it doesn't seem to help... Also, I'm not really sure if this is a row limitation in the .htm file - like x no: of rows per .htm file.
Am I missing something here?.. Please advise. Let me know if I'm not clear. Thank you.
CREATE PROC CONDOR_CLIENT_LOGINS_PERHOUR AS BEGIN
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[DBO].[TBL_CUSTOM_LOGINSPERHOUR]') AND OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) DROP TABLE [DBO].[TBL_CUSTOM_LOGINSPERHOUR]
DECLARE @FLAG SMALLINT DECLARE @REPFLAG SMALLINT SET @FLAG = 0 SET @REPFLAG = 0
IF DATEPART(HH,GETDATE()) = 0 BEGIN
SELECT CONVERT(NVARCHAR,HOUR,100)AS [ROW1], CONVERT(NVARCHAR,NUMBER_OF_USERS) AS [ROW2] INTO #TEMP_LOGINSPERHOUR1 FROM TBL_LOGGEDIN_USERS_PERHOUR WITH (NOLOCK) WHERE HOUR = DATEADD(DAY,(DATEDIFF(DAY,0,GETDATE())),0) ORDER BY HOUR SET @FLAG = 1
END -- this is added for 11:00 PM entry START
ELSE IF DATEPART(HH,GETDATE()) = 23 BEGIN
SELECT CONVERT(NVARCHAR,HOUR,100)AS [ROW1], CONVERT(NVARCHAR,NUMBER_OF_USERS) AS [ROW2] INTO #TEMP_LOGINSPERHOUR2 FROM TBL_LOGGEDIN_USERS_PERHOUR WITH (NOLOCK) WHERE HOUR >= DATEADD(DAY,(DATEDIFF(DAY,0,GETDATE())),0) ORDER BY HOUR SET @FLAG = 2
END
-- the above is added for 11:00 PM entry END
ELSE BEGIN
SELECT CONVERT(NVARCHAR,HOUR,100)AS [ROW1], CONVERT(NVARCHAR,NUMBER_OF_USERS) AS [ROW2] INTO #TEMP_LOGINSPERHOUR3 FROM TBL_LOGGEDIN_USERS_PERHOUR WITH (NOLOCK) WHERE HOUR >= DATEADD(DAY,(DATEDIFF(DAY,0,GETDATE())),0) ORDER BY HOUR
END
INSERT INTO TBL_CUSTOM_LOGINSPERHOUR SELECT 'HOUR', 'NUMBER OF CLIENT LOGINS' UNION ALL SELECT '' , '' UNION ALL SELECT '' , ''
IF @FLAG = 1 BEGIN INSERT INTO TBL_CUSTOM_LOGINSPERHOUR SELECT * FROM #TEMP_LOGINSPERHOUR1 SET @REPFLAG = 1 END ELSE IF @FLAG = 2 BEGIN INSERT INTO TBL_CUSTOM_LOGINSPERHOUR SELECT * FROM #TEMP_LOGINSPERHOUR2 SET @REPFLAG = 2 END ELSE BEGIN INSERT INTO TBL_CUSTOM_LOGINSPERHOUR SELECT * FROM #TEMP_LOGINSPERHOUR3 END SELECT '' , '' UNION ALL SELECT '' , ''
If I install an instance with Windows Only authentication, and then change it to Mixed Mode, if I enable the sa login, the password has already been set. What is the default? If it's generated, how secure is it? Is the password generated? What algorithm is used for that?
My sql databases in SQL Server 2014 has the status "suspend" as I saw in SQL Management Studio. I can't restore to serviceable condition sql databases through standard procedures. I need to restore .mdf file.
I am using a monitoring system where I can monitor a numeric SQL result assuming the result is one field and one row.I would like to do this to say monitor the free available space or percentage on say the Master database. DBCC SQLPERF gives me a few columns and results for all databases on the server.
In our environment applications are using a DNS name which points to the physical server ip address. Now we are planning to move to 2014. We are planning to have servers in different subnets so we will be having two ip adresses for listener. How we can point the DNS to the listener ips? If failover happens can the DNS point to the exact ip address of the listener where it's primary node?
"Process 0:0:0 (0x1e10) Worker 0x00000006B6D341A0 appears to be non-yielding on Scheduler 13. Thread creation time: 12906028806348. Approx Thread CPU Used: kernel 0 ms, user 0 ms. Process Utilization 13%. System Idle 84%. Interval: 70189 ms."
Is it better to run the profiler or performan counter?
What are the filters we have to select in the profiler to monitor the Sql server
I have a SQL server box running 2014 reporting services. I have another server running IIS v8.
I would like to be able to connect to the IIS site and be given the SSRS report browser.
So externally if I browse to [URL], I am presented with the report server interface, the same as if I browse to http://xxx.xxx.xxx.xxx/reports internally.
What is the best approach for a read only copy of a database that is ~ 1TB. The primary database is fed nightly with an ETL process. We are currently trying to duplicate the ETL to read only server but that process is not going well. So we are looking at other options to let SQL make the copy.
The primary database is on a Win12R2 with SQL 12 or 14, a 2 node A/P failover cluster.
The read only copy will be on a Win12R2 with SQL 12 or 14. It is not a requirement to fail over to the read only copy if the primary should go down.
What would best the approach to accomplish the end result?