Error: Could not find server 'SLDB1' in sysservers.
I'm working on doing a point upgrade of our Syteline ERP system from 8.0.11 to 8.1. In order to test the upgrade process, I've taken a VM copy of the DB server and the Utility server. In order to have both on our live network, I've renamed them during the process and reinstalled SQL on the DB server. I did uninstall and reinstall SQL during the process.
I've restored our application databases by restoring from .bak files from a full backup.
I am now attempting to modify data within one of the tables and am coming across this error:
No row was updated.
The data in row 2 was not committed.
Error Source: .Net SqlClient Data Provider.
Error Message: Could not find server 'SLDB1' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.
The statement has been terminated.
Correct the errors and retry or press ESC to cancel the change(s).
SLDB1 is the name of the original server. The name for the virtual server is SLDB2.
If I do a select * from sys.servers, the name showing is SLDB2, which is what I would expect. Why would a restored database still be looking for the original server? How can I change it?
Also, using sp_addlinkedserver to add an entry for SLDB1 would defeat the purpose - the intent is to prevent modifying data on the production DB server... the database should be looking for SLDB2.
I'm not using code to modify the data. I've got the SQL Management Studio open and I've opened the table for editing. I've modified the contents of one row and get this error on commit.
Use the query below to search for the value 'SLDB1' in one of the types of items checked. Because you got the error on updating a table, it may be that there was a trigger created with a reference to the server by name for some reason.
DECLARE @searchString varchar(100);SET @searchString = 'SLDB1'SET @searchString = '%' + @searchString + '%'SELECT sc.object_id, OBJECT_NAME(sc.object_id) AS Obj_Name, sc.definition AS Obj_Definition, schema_name(so.schema_id) AS Obj_Schema, CASE WHEN OBJECTPROPERTY(sc.object_id, 'IsProcedure') = 1 THEN 'SP' WHEN OBJECTPROPERTY(sc.object_id, 'IsScalarFunction') = 1 THEN 'UDF' WHEN OBJECTPROPERTY(sc.object_id, 'IsTableFunction') = 1 THEN 'UDF' WHEN OBJECTPROPERTY(sc.object_id, 'IsTrigger') = 1 THEN 'Trigger' WHEN OBJECTPROPERTY(sc.object_id, 'IsView') = 1 THEN 'View' END AS Obj_Type, LEN(definition) AS Obj_LengthFROM sys.sql_modules scINNER JOIN sys.objects so ON sc.object_id = so.object_idWHERE( OBJECTPROPERTY(sc.object_id, 'IsProcedure') = 1 OR OBJECTPROPERTY(sc.object_id, 'IsScalarFunction') = 1 OR OBJECTPROPERTY(sc.object_id, 'IsTableFunction') = 1 OR OBJECTPROPERTY(sc.object_id, 'IsTrigger') = 1 OR OBJECTPROPERTY(sc.object_id, 'IsView') = 1)AND(sc.definition LIKE @searchString)ORDER BY schema_name(so.schema_id), OBJECT_NAME(sc.object_id)
There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.
The problem might be in you made a copy of your server with SQL Server installed and uninstall didn't really clean all (maybe in Register it's something pointing to SLDB1).
0
USSC-ITAuthor Commented:
Truly tasty bit of code. It actually helped me with an issue I'd suspected in our production 'pilot' database as well. An excellent way to search for any code fragment in SQL. Thanks!
0
Question has a verified solution.
Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.
An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.
One of a set of tools we're offering as a way of saying thank you for being a part of the community.