Does fast bcp replicate in sybase sql statement replication
sybase
Is it possible to replicate fast bcp using sql statement replication in sybase?
Best Answer
No. Fast BCP is an unlogged operation. Sybase Replication Server relies on scans of the Transaction log for data to be replication. The Rep Agent thread scans the transaction log in the Primary Database (PDB) for commits. Once a committed transaction is found in the Transaction log, the SQL statements are forwarded to the Replication Server. If an action is not logged, like Fast BCP, then no entry is created in the transaction log, and therefore it can't be replicated.
Slow BCP transactions will replicate, as Slow BCP is a logged operation.
In Sybase ASE 15.7, Fast-logged BCP has been introduced, but I am not sure about whether that is supported for Replication yet.
The answer below was taken from Sybase official technical documentation available at http://www.sybase.com/detail?id=1048699 (SAP has removed support for many links at sybase.com; however The Way Back Machine seems to have a copy of the page even if it is a bit old).
Sybase Servers support the use of date and time data through the datetime and smalldatetime datatypes (and, with newer server, the date and time datatypes), as well as the getdate(), dateadd(), datediff(), and datepart() functions. The getutcdate() function was also added to some servers to provide the current datetime value in Coordinated Universal Time regardless of the time zone the server is otherwise running under.
The datetime and smalldatetime datatypes, however, do not store time zone information and the products are entirely ignorant of the concepts of time zones and daylight saving time. Sybase Servers only recognize and store the date and time portions of the values provided by the operating system, which are based on the time zone configured at the operating system level (typically though the TZ environment variable setting in Unix or the Date/Time function of the Windows Control Panel) for the user who started the product. The calculations behind the dateadd and datediff functions are aware of leap years (using the rule of every 4th year, except for every 100th year, except for every 400th year), but do not include any adjustments for leap seconds or transitions from daylight saving time to regular time.
I would therefore expect that changing the underlying OS timezone will not have any appreciable effect on the data stored in the datetime fields in your database.
Sybase ASE retrieves port numbers for the listeners from the interfaces file. On *nix systems, this is typically in the Sybase Home directory ($SYBASE/interfaces)
On Windows systems it's called interfaces.ini and can be found in %SYBASE%, which is likely to be c:\sybase (I think..been a while since I've run on Windows).
I believe you can launch the GUI interfaces editor through Sybase Central, if you are using that to manage your ASE databases. dsedit and dscp are the two utilities that can be used to edit the interfaces file.
You can also manually edit the interfaces file using a text editor such as vi but be sure to pay attention to the format of the entries and permissions, so as not to accidentally muck it up.
Best Answer
No. Fast BCP is an unlogged operation. Sybase Replication Server relies on scans of the Transaction log for data to be replication. The Rep Agent thread scans the transaction log in the Primary Database (PDB) for commits. Once a committed transaction is found in the Transaction log, the SQL statements are forwarded to the Replication Server. If an action is not logged, like Fast BCP, then no entry is created in the transaction log, and therefore it can't be replicated.
Slow BCP transactions will replicate, as Slow BCP is a logged operation.
In Sybase ASE 15.7, Fast-logged BCP has been introduced, but I am not sure about whether that is supported for Replication yet.