We have a database on a 2005 box, which we need to keep in sync with one on a 2014 box (until we can turn off the one on 2005). The 2005 database is still being updated with changes that must be applied to the 2014 database, given the nature of the data (medical documents) we need to ensure updates are applied to the 2014 database in very near real time (these changes are - for example - statuses, not the documents themselves).
Cunning plan #1, ulgy - not at all a fan of triggers - but use an after update trigger to run a sp on the remote box via a linked server in this format, with a SQL Server login for the linked server with permissions to EXEC the remote proc.
CREATE TRIGGER [dbo].[SourceUpdate] ON [dbo].[SourceTable] AFTER UPDATE AS SET XACT_ABORT ON; SET NOCOUNT ON; IF UPDATE(ColumnName)
[Code] ....
However, while the sp can be run against the linked server as a standalone query OK, when running it in a trigger it's throwing
OLE DB provider "SQLNCLI" for linked server "WIBBLE" returned message "The transaction manager has disabled its support for remote/network transactions.".
Msg 7391, Level 16, State 2, Procedure TheAfterUpdateTrigger, Line 19
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "WIBBLE" was unable to begin a distributed transaction.
Whether it actually possible to call a proc on a remote box via a trigger and if so what additional hoops need to be jumped through (like I said, it'll run OK called via SSMS)?
I am populating oracle source in Sql Server Destination. after few rows it fails it displays this error:
[OLE DB Destination [16]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "Invalid date format".
I used this script component using the following code in between the adapters, However after 9,500 rows it failed again giving the same above error:
To convert Oracle timestamp to Sql Server timestamp
If Row.CALCULATEDETADATECUST_IsNull = False Then
If IsDate(DateSerial(Row.CALCULATEDETADATECUST.Year, Row.CALCULATEDETADATECUST.Month, Row.CALCULATEDETADATECUST.Day)) Then
dt = Row.CALCULATEDETADATECUST
Row.CALCULATEDETADATECUSTD = dt
End If
End If
I don't know if my code is right . Please inform, how i can achieve this.
What would be the best practice to follow to keep track of MS SQLserver changes... Stroed procs, tables, views, triggers, indexes, DTSand also jobs ect....I am not quite sure how Source safe works with sql server. Any otherway to do this... Even if its manual work, its okey.. I wouldappreciate if any of the DBA's let me know how they are facing thisissue....Thanks in advance...
Hello there,Does anyone know of a way to track changes to an SQL Server database so thatI can easily run those changes at a later date?That is, I want to make schema changes, and record those changes so that Ican execute them 6 months later on a copy of the orignal database.Thank you kindly for any ideas anyone may haveJohn
Could anyone please let me know which is the best way to Synchronise a Sybase database with a MS SQL Server 2000 database.That is , the changes made in the Sybase database should be reflected in the SQL Server database.
On two instances of SQL Server 2005 I am using the same SQL login names, but the SID is different for each one. I would like to synchronize these IDs so that when I restore the production database to the developement database I don't have to remove and re-add the logins.
Hi anyone please help! I have created the database driven web application with asp.net and sql server 2000. now I want keep track three operation(insert, updata and delete) that have been made on tables in a SQL Server 2000 database. what i did is: 1, create a audit table with columns: auditTable, actions, actionUser, actionTime 2, create three trigger(insert, update and delect respectivily) for every table my problem is that i can not get right user name. I use form authentication and i stored user login information in the database. every time, no matter who is logining to the web application, the action user is always SA. I user user-name() function to get userName(actionUser). Please anyone can help me to get current login user name, or tell the best way to track operations on a table. Thanks jili
I am using vb.net in windows form. I have made a module which is connected to sql server 2000.
Now, I want to have a fresh copy of the remote database of SQL Server at my local computer and whenever there is change in remote database(insertions,deletion or updation), my local database copy may gets synchronized(i.e changes get reflected in this local copy).
Can any one help me? If it is possibel by using Vb.net code, it is very well, and if there is some Sql Server wizard that can help me do that, please reply to me.
I am trying to track unallocated space (because on my database growth is not kicking in) So using below query but not working!!! Is there any way I can track 'database size' and 'unallocated space' on a single database?
I am only DBA in my company and client want to know the growth rate of his SQL server DataBase which is in production. How can I get the growth rate per day?
I have a specific requirement. I need to insert the DML statements executed from Management Studio into a SQL table. We have SQL Server 2008 R2 and 2012 instances.
I would like to know about the DML process (Insert/update /delete) in a particular table .. it is like change tracking but I also want to know the modification date
I know CDC ( Change data capture ) but unfortunately it needs SQL 2008 developer/enterprise edition and my SQL server is SQL 2008 STANDARD edition.
I have a database that I don't want to lock. I decided that before any updates can occur I would check a timestamp value and ensure that nobody else updated before I did (avoiding the 'last update wins' scenario).
I have a problem, I can read the Timestamp from the db when I read the record. I currently use the data to pre-fill a form (gee go figure ;) ) and the user changes some values and updates.
I don't know what to DO with the timestamp value while I am holding it. I have tried putting it into a hidden field on the form but the value does not seem to translate back and forth.
Do I have to store it as in memory as part of the session or can I somehow convert to and from text??
I have about 0 experience working with byte arrays so the best answer is one with an example.
I'm knew to SQL Server so forgive the rookie. I have used MySQL for about two years now, and I've done something there that I'd like to duplicate in SQL Server.
First off, I'm using SQL Server 2005 Express (free) edition. I have a table, and within the fields I have one titled "Last_Updated".
Now, I know that the function (when I place it in the default value) "getDate()" will insert the current date and time, but it doesn't update the record if the record is modified. What I'm looking for is if the user updates a record that the date/time automatically updates. I experimented with the Timestamp, but all it gave me was "binary data" in the field. Ideally I'm looking for something like this:
...using the YYYYMMDDHHMMSS format... Last_Updated = 20070321140001
Is there a syntax for a default value that I'm missing? I've looked at several discussion groups, all giving varying advice, and none of which seemed to work. I much appreciate any guidance anyone can give me. Thanks!
Hi, As we know that the DB2 has timestamp column with microseconds and SQL server has datetime with timestamp milliseconds. How I can accomplish the same Timestamp value for the following requirement?. 1. Uniqueness 2. Replication between DB2 and SQL server 3. And various other requriement like this.
I'm having trouble importing data with a binary timestamp. I have a group of datafiles with various data types mixed in and I seem to get a lot of errors during the import attemt using BCP.. The timestamp data is represented in the text file to be imported as 0x0000aedc (Hexidecimal representation of timestamp) I'm using the tilde (~) as a delimiter. What can I do to get past this rather annoying problem? Datetime seems to be accepted fine if I use char as the import datatype and 26 as the length. It seems to swallow that fine. It seems to be the timestamp field I'm tripping on. Timestamp comes up as [binary] Prefix length = 2 Field terminator = ~
For starters, please feel free to move this if it is in the wrong forum.
The issue I have is this. I have been asked to delete all information from a table that was inserted before May 12 this year. The issue is that when the DB was created, whoever designedd it neglected to add a timestamp column for the user data table (the one I need to purge). Does SQL, by default, happen to store insert times? Would it be something that might hide ina log file somewhere?
Can anyone give me a brief summary of this datatype? Anything that I would need to know to use this in tables that are populated via an asp web service.
can someone please supply some information to help with this??
I am moving data from db2 8.1 for windows. the dates in db2 are defined as timestamp. i want to convert these to sql server datetime format in sql server 2000 using dts and sql.
I've got a question about the UNIX timestamp solutions, I am using this one:
select convert(datetime, switchoffset(convert(datetimeoffset, dateadd(second, start_date, '19700101')), datename(TzOffset, sysdatetimeoffset()))) from x
This works great for today (wintertime), but when I query the past, say last week, it will still hold the current offset of my server GMT+1, where it was GMT+2.
Is there a way to get always the right date/time from a sql-query?
Dear All, i have a question abt winCE 4.2 and SQL server CE. i am using VB.net of Visual Studio 2005 My platform is using a PDA with winCE 4.2 and SQL server CE. The Host program is using dbf files on desktop side.
I got a problem of how to sync / read the sql CE data from a windows application.
so, i wanna ask,
1. any method to access the data from winCE data by windows application? or can i convert the sdf file to windows readable files? or any others?
2. Can i use a MDB to sync with SQL server CE? can i synchronize the mobile device which has a SQL Server CE database with the Access database on the desktop?
last question, 3. is that windows CE .net 4.2 not support pocket access (cdb) anymore?
I have a series of time from 08:10 till 00:55 and a single date in a seperate column. What I need to have is associate the date with each time from 08:10 and when it comes after 23:55 the date needs to be incremented to the next day.
Hi, i wanted to read some datasets from a table with the ROWVERSION. Then i wanted to save these records with the ROWVERION- Column in a temp table. Now it seems i cant explicitely write data in a ROWVERSION Column. As i understand its only possible to write a default value in such columns. Only SQL Server itself can write into ROWVERSION columns.